[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Parameter entity references
Richard Tobin wrote: > Perhaps you meant to say: > > <!ENTITY % a ' "Don't do it" said Jane'> > <!ENTITY % b "I reached for my keyboard. %a;"> > Yes, of course, thanks. > The (non-existent) rule that strings must start and end in the same > entity is not needed to make this well-formed. The EntityValue > production applies *before* PE substitution (clearly, since it > includes PEReference), so the double-quotes from %a; are not there > yet. Oh, I wondered what the PEReference production was doing in there. So are you saying that a quoted string can begin and end in different PEs? I tried this example with a few well-known parsers :- test.dtd: <!ELEMENT test ANY> <!ENTITY % abc '"abc'> <!ENTITY % xyz 'xyz"'> <!ENTITY abcxyz %abc;%xyz;> test.xml: <!DOCTYPE test SYSTEM "test.dtd"> <test>&abcxyz;</test> And here are the results:- xmlvalid > /temp/test.dtd [5:1] : Fatal error: unexpected end of file within entity value rxp > Error: Quoted string goes past entity end in entity "abc" defined at line 2 char 1 of file:///temp/test.dtd msxml > Whitespace is not allowed at this location. URL: file:///temp/test.dtd Line 00004: <!ENTITY abcxyz %abc;%xyz;> Pos 00028: ---------------------------^ xerces > [Fatal Error] test.xml:2:15: The entity "abcxyz" was referenced, but not declared. So, every parser seems to agree its an error, but how they get there is not always very obvious. Regards ~Rob -- Rob Lugt ElCel Technology http://www.elcel.com
|
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
|