[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xml-dev
Subject:    Re: [xml-dev] XML parser model, when are &foo; inserted?
From:       David Carlisle <davidc () nag ! co ! uk>
Date:       2012-12-07 20:10:15
Message-ID: 50C24D27.4030704 () nag ! co ! uk
[Download RAW message or body]

On 07/12/2012 18:24, =CF=CC=D8=C7=C1 =CB=D2=D9=D6=C1=CE=CF=D7=D3=CB=C1=D1=
 wrote:
> David, can you give me such an example? Also, does libxml2 implement
> such checks?

yes and yes, I gave an example earlier but

<!DOCTYPE x [
<!ENTITY foo "<x>aaa">
]>
<x>
<x>foo</x>
</x>

is well formed. emacs nxml-mode asys "Valid" as I wrote it
rxp, xmllint (libxml2) and java xerces similarly give no error.
Change it to use the entity:

<!DOCTYPE x [
<!ENTITY foo "<x>aaa">
]>
<x>
&foo;</x>
</x>

nxml-mode, rxp, xmllint and xerces all flag an error

nxml-mode:
Extra end-tag

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

xmllint:
Entity: line 1: parser error : Premature end of data in tag x line 1
<x>aaa
       ^
bad2.xml:5: parser error : Entity 'foo' failed to parse
&foo;</x>
      ^
bad2.xml:6: parser error : Extra content at the end of the document
</x>
^

xerces
XML document structures must start and end within
   the same entity.



David



_______________________________________________________________________

XML-DEV is a publicly archived, unmoderated list hosted by OASIS
to support XML implementation and development. To minimize
spam in the archives, you must subscribe before posting.

[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
subscribe: xml-dev-subscribe@lists.xml.org
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic