Thanks Daniel for your answer.
For example if I want to parse:
<?xml version="1.0"?>
<!DOCTYPE EXAMPLE SYSTEM "example.dtd" [
<!ENTITY xml "Extensible Markup Language">
<!ENTITY xml2 "Extensible &xml; Markup Language">
]>
<EXAMPLE attr="()&xml;()" attr2="()&xml2;()">
&xml;
</EXAMPLE>
xmllint gives me the ouput below. There I can see the 2 entity
declarations. I would expect there the definition of xml2 to refer to
the first entity.
In my program I tried to set xmlSubstituteEntitiesDefault to 1, but it
does not seem to have any effect. And my output looks like:
<EXAMPLE
attr="()Extensible Markup Language;()"
attr2="()Extensible &xml; Markup Language()">
Extensible Markup Language
</EXAMPLE>
$ xmllint --debug test.xml
DOCUMENT
version=1.0
URL=test.xml
standalone=true
DTD(EXAMPLE), SYSTEM example.dtd
ENTITYDECL(xml), internal
content=Extensible Markup Language
TEXT
content=Extensible Markup Language
ENTITYDECL(xml2), internal
content=Extensible &xml; Markup Language
TEXT
content=Extensible
ENTITY_REF(xml)
INTERNAL_GENERAL_ENTITY xml
content=Extensible Markup Language
TEXT
content= Markup Language
ELEMENT EXAMPLE
ATTRIBUTE attr
TEXT
content=()
ENTITY_REF(xml)
INTERNAL_GENERAL_ENTITY xml
content=Extensible Markup Language
TEXT
content=()
ATTRIBUTE attr2
TEXT
content=()
ENTITY_REF(xml2)
INTERNAL_GENERAL_ENTITY xml2
content=Extensible &xml; Markup Language
TEXT
content=()
TEXT compact
content=
ENTITY_REF(xml)
INTERNAL_GENERAL_ENTITY xml
content=Extensible Markup Language
TEXT compact
content=
On Wed, 2006-11-22 at 14:04 -0500, Daniel Veillard wrote:
> On Wed, Nov 22, 2006 at 12:55:27PM -0500, christophe barbe wrote:
> > Hi All,
> >
> > I am trying to parse a document with entities using libxml2:
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <!DOCTYPE schema [
> > <!ENTITY ent1 "abc">
> > <!ENTITY ent2 "&ent1;def">
> > ...
> >
> > It looks like libxml does not handle the fact that one entity is defined
> > in term of another.
> >
> > Is it a legal use of entities?
>
> yes
>
> > Am I correct in assuming that libxml can not handle this use of
> > entities?
>
> no
>
> > I am not sure if the internal tree could handle it properly.
>
> I am sure it should be able to handle this properly
>
> > The original XML file is a schema included in the following IETF draft:
> >
> > http://www.ietf.org/internet-drafts/draft-ietf-simple-xml-patch-ops-02.txt
> >
> > The entities are used, as macros, to define the regular expression for
> > xpath expressions.
>
> No idea what your problem is. If you have a problem reproduceable with
> xmllint please provide them as attachment and describe the problem.
>
> Daniel
>
--
Christophe Barbe - Software Engineer
Objective Systems, Inc.
REAL WORLD ASN.1 AND XML SOLUTIONS
Tel: +1 (484) 875-9841
Fax: +1 (484) 875-9830
Toll-free: (877) 307-6855 (USA only)
http://www.obj-sys.com
_______________________________________________
xml mailing list, project page http://xmlsoft.org/
[email protected]
http://mail.gnome.org/mailman/listinfo/xml