[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: XML parser model, when are &foo; inserted?
David, does a non validating parser really have to do those checks? Olga On Tue, Dec 4, 2012 at 12:28 AM, David Carlisle <davidc@nag.co.uk> wrote: > 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 > > > > > -- , _ _ , { \/`o;====- Olga Kryzhanovska -====;o`\/ } .----'-/`-/ olga.kryzhanovska@gmail.com \-`\-'----. `'-..-| / http://twitter.com/fleyta \ |-..-'` /\/\ Solaris/BSD//C/C++ programmer /\/\ `--` `--`
[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
|