OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] Parameter entity references

[ Lists Home | Date Index | Thread Index ]

Richard Tobin wrote:

> Perhaps you meant to say:
>   <!ENTITY % a ' "Don&apos;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 :-

<!ENTITY % abc '"abc'>
<!ENTITY % xyz 'xyz"'>
<!ENTITY abcxyz %abc;%xyz;>

<!DOCTYPE test SYSTEM "test.dtd">

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.


Rob Lugt
ElCel Technology


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS