AW: Entities vs #PCDATA with msxml 1.6 ?

Markus Wodrich markus.wodrich at bmw.de
Mon Dec 1 00:39:11 GMT 1997



-----Ursprüngliche Nachricht-----
Von:	Patrice.Bonhomme at loria.fr [SMTP:Patrice.Bonhomme at loria.fr]
Gesendet am:	Sonntag, 30. November 1997 17:57
An:	xml-dev at ic.ac.uk
Betreff:	Entities vs #PCDATA with msxml 1.6 ?


Hi,

I have a problem with msxml 1.6. If i put only one entity within an element, 
this element must be able to contain some PCDATA because msxml considers an 
entity as a piece of PCDATA !

But if i have:

<?XML VERSION="1.0" ?>
<!DOCTYPE EXAMPLE [
<!ELEMENT EXAMPLE (P+)>
<!ELEMENT P     (S+)>
<!ELEMENT S     (#PCDATA)>
<!ATTLIST S     ID ID #IMPLIED>
<!-- ENTITY incs SYSTEM "inc-s.xml" -->
<!ENTITY incs "<S>A third in a new paragraph.</S>">
]>
<EXAMPLE>
<P><S ID="s1">A sentence.</S><S ID="s2">An another.</S></P>
<P>&incs;</P>
</EXAMPLE>

I get this message:
% java msxml2 -i -d test-ext-ent.xml
Invalid element 'PCDATA' in content of 'P'.  Expected [S]
Location: file:test-ext-ent.xml(12,5)
Context: <EXAMPLE><P>

And with this one, it works (just because P contains PCDATA in its content !):

<?XML VERSION="1.0" ?>
<!DOCTYPE EXAMPLE [
<!ELEMENT EXAMPLE (P+)>
<!ELEMENT P     (#PCDATA | S+)><!-- <<= here -->
[Wodrich, Markus]  That doesn't work, it is mixed content, I think you mean <!ELEMENT P (#PCDATA | S)*>.
[Wodrich, Markus]  I don't have the answer for your question, but when you run MSXML 1.6 with java msxml -d1 example.xml
[Wodrich, Markus]  you get this:  
[Wodrich, Markus]  DOCUMENT
|---XMLDECL  VERSION="1.0"
|---WHITESPACE 0xd 0xa
|---DOCTYPE  NAME="EXAMPLE"
|   |---WHITESPACE 0xd 0xa
|   |---ELEMENTDECL EXAMPLE (P)+
|   |---WHITESPACE 0xd 0xa
|   |---ELEMENTDECL P (#PCDATA|S)*
|   |---COMMENT --
|   |   +---CDATA " <<= here "
|   |---WHITESPACE 0xd 0xa
|   |---ELEMENTDECL S (#PCDATA)*
|   |---WHITESPACE 0xd 0xa
|   |---COMMENT --
|   |   +---CDATA " ENTITY incs SYSTEM "inc-s.xml" "
|   |---WHITESPACE 0xd 0xa
|   +---INTENTITYDCL incs
|       +---ELEMENT S
|           |---PCDATA "A third in a new paragraph."
|           +---PCDATA "A third in a new paragraph."    <------------Here!!
|---WHITESPACE 0xd 0xa
|---ELEMENT EXAMPLE
|   |---WHITESPACE 0xd 0xa
|   |---ELEMENT P
|   |   |---ELEMENT S
|   |   |   +---PCDATA "A sentence."
|   |   +---ELEMENT S
|   |       +---PCDATA "An another."
|   |---WHITESPACE 0xd 0xa
|   |---ELEMENT P
|   |   +---ENTITYREF incs "A third in a new paragraph. A third in a new paragraph."   <----- and here too!!
|   +---WHITESPACE 0xd 0xa
+---WHITESPACE 0xd 0xa

The ENTITY is doubled.

Markus

<!ELEMENT S     (#PCDATA)>
<!ATTLIST S     ID ID #IMPLIED>
<!-- ENTITY incs SYSTEM "inc-s.xml" -->
<!ENTITY incs "<S>A third in a new paragraph.</S>">
]>
<EXAMPLE>
<P><S ID="s1">A sentence.</S><S ID="s2">An another.</S></P>
<P>&incs;</P>
</EXAMPLE>

Is there something broken in the msxml kingdom  ?

Pat.
-- 
  ==============================================================
  bonhomme at loria.fr               |      Office : B.228
  http://www.loria.fr/~bonhomme   |      Phone  : 03 83 59 20 37
  --------------------------------------------------------------
   * Projet Aquarelle : http://aqua.inria.fr
   * Serveur Silfide  : http://www.loria.fr/Projet/Silfide
  ==============================================================



xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)


xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)




More information about the Xml-dev mailing list