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 :-

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






 

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

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