[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: XML parser model, when are &foo; inserted?
On 03/12/2012 23:19, ÏÌØÇÁ ËÒÙÖÁÎÏ×ÓËÁÑ wrote: > Michael, how does nesting work? Can I just take the text of &foo;, > expand that until I run out of &...; parts and insert the result in > the text stream? > > Olga No because if you have <!ENTITY foo "<x>aaa" > with a replacement text that has a start tag but no close, you can not flag an error at that point as the document is still well formed if the entity is not referenced. <!DOCTYPE x [ <!ENTITY foo "<x>aaa"> ]> <x> </x> is OK, but <!DOCTYPE x [ <!ENTITY foo "<x>aaa"> ]> <x> &foo;</x> </x> is not well formed: $ rxp -sx bad2.xml Error: Element ends in different entity from that in which it starts in unnamed entity at line 5 char 9 of file:///c:/tmp/bad2.xml However if you just expanded the foo without doing the check, and got <!DOCTYPE x [ ]> <x> <x>aaa</x> </x> It would, again, be well formed. So you need to keep track of entity boundaries you can not simply expand all the entities as macros and then parse the result. David
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|