Re: Nested entity declarations in DTDs

Mukul Gandhi <[email protected]>
Newsgroups gmane.text.xml.devel
Message-ID <CANGHzgARPR-sb2u9hgf-UxfCUwbO20rnsW02EJQpiN4uzxvxng@mail.gmail.com>
On Sun, Mar 13, 2022 at 9:10 PM <[email protected]> wrote:

> <?xml version="1.0" encoding="utf-8"?>
>
> <!DOCTYPE feed [
> <!ENTITY a 'http://www.w3.org/2005/Atom'>
> <!ENTITY b '&e;&f;&g;&h;&i;'>
> <!ENTITY c 'tag:xn--8ws00zhy3a.com,2006-05-04:/tests/atom/obfuscated/'>
> <!ENTITY d 'http://www.xn--8ws00zhy3a.com/tests/atom/obfuscated/'>
> <!ENTITY e '<title>Obfuscated Atom</title>
>   <updated>2007-10-19T00:00:00+00:00</updated>
>   <id>&c;</id><link rel="alternate" href="&d;"/>
>   <link rel="self" href="&d;1_4.atom"/>
>   <author><name>James Holderness</name></author>'>
> <!ENTITY % a '<entry><title>This is title #'>
> <!ENTITY % b '</title><updated>2007-10-18T23:'>
> <!ENTITY % c ':00+00:00</updated><id>&c;'>
> <!ENTITY % d '</id><link href="&d;'>
> <!ENTITY % e '.html"/><summary type="html">
>   This is the <code>summary</code> for entry number '>
> <!ENTITY % f '.</summary></entry>'>
> <!ENTITY % g '<!ENTITY f "&#37;a;1&#37;b;59&#37;c;1&#37;d;1&#37;e;1&#37;f;">'>
> <!ENTITY % h '<!ENTITY g "&#37;a;2&#37;b;58&#37;c;2&#37;d;2&#37;e;2&#37;f;">'>
> <!ENTITY % i '<!ENTITY h "&#37;a;3&#37;b;57&#37;c;3&#37;d;3&#37;e;3&#37;f;">'>
> <!ENTITY % j '<!ENTITY i "&#37;a;4&#37;b;56&#37;c;4&#37;d;4&#37;e;4&#37;f;">'>
> %g;%h;%i;%j;
> ]>
> <feed xmlns="&a;">&b;</feed>
>
> I've revisited above mentioned example. Now I've parsed the above cited
XML document instance with expat (which I believe is an underlying XML
parser for mozilla) command line (I've built a custom windows .exe from my
C program that I've compiled and linked using expat library). The document
parses fine, without errors. I'm not able to review visually (since there
are too many entity cross references), all the entity definitions and
references within above mentioned XML. Assuming that, all entity references
are defined, I could say that, expat doesn't have a bug :). Am I right?

Following are few other XML documents, that I've parsed with expat, and the
parsing results are mentioned as well,

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE feed [
<!ENTITY a 'http://test1'>
<!ENTITY e 'hello'>
<!ENTITY b '&e;'>
]>
<feed xmlns="&a;">&b;</feed>

The above XML document instance, parses without errors.

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE feed [
<!ENTITY a 'http://test1'>
<!ENTITY e1 'hello'>
<!ENTITY b '&e;'>
]>
<feed xmlns="&a;">&b;</feed>

The above example, results in following parsing error (because, entity
definition for 'e' is missing),

Parse error at line 7:
undefined entity


-- 
Regards,
Mukul Gandhi
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.