<?xml version="1.0" standalone="no"?>
<!DOCTYPE A [
<!ENTITY ref SYSTEM "y.xml">
]>
<A>
&ref;
</A>
and y.xml, the content is
<B>123</B>
<B>456</B>
I am able to parse the Document with root node as A and two children nodes B. No error.
If I change the XML file x.xml to
<?xml version="1.0" standalone="no"?>
<!DOCTYPE A [
<!ENTITY ref SYSTEM "y.xml">
<!ELEMENT B (#PCDATA)>
<!ELEMENT A (B*)>
]>
<A>
&ref;
</A>
and when I read the x.xml using readStream(buf) I am getting the following error.
c:\proj\x.xml: 9, 5: Content mismatch in `<A>'. Content model is ``(B)*'.
I am not sure whether it is a valid XML doc or not. I belive without those two lines in
the DTD it is a well formed document. But when add those two rules it becomes
an invalid document. Basically what I am trying to do is x.xml will have root element
and y.xml will have the contents of the root element A. Please give me an
idea what I am doing wrong and how it should be. (I am using IBM XML parser.)
Thillai
AT&T, Middletown, NJ