[jdom-interest] CDATA does not seem to work with JDOM
Kevin Regan
kevinr at valicert.com
Sun Jun 4 00:06:52 PDT 2000
You probably want:
<!ELEMENT myxml (tag+)>
<!ELEMENT tag (#PCDATA)>
The string "CDATA" inside your dtd refers
to the element name "CDATA". You can use
CDATA as attribute types and in <![CDATA[...]]>
sections, but it is meaningless in the
example below. The parser is simply
telling you that it can't find the
"CDATA" element.
Microsoft IE probably is not validating your
DTD. A non-validation parser would not know
to look for the "CDATA" element...
--Kevin
On Sat, 3 Jun 2000, Waqas Shafiq wrote:
> I have written a simple xml file that includes a tag with CDATA section.
> MS Internet Explorer opens the file without any problems but when I try
> to build a Document object of this xml file, jdom throws the following
> exception:
>
> ----------------------------------------------
> java.io.IOException: Error on line 5 of XML document: The content of
> element type "tag" is incomplete, it must match "(CDATA)".
> at
> org.jdom.adapters.XercesDOMAdapter.getDocument(XercesDOMAdapter.java:125
> )
> at org.jdom.input.DOMBuilder.build(DOMBuilder.java:151)
> at org.jdom.input.AbstractBuilder.build(AbstractBuilder.java:95)
> at MyDOMBuilder.main(MyDOMBuilder.java:44)
> ----------------------------------------------
>
> The xml file is given below along with the DTD:
>
> ------------------------------------------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE myxml SYSTEM "MyDtd.dtd">
> <myxml>
> <tag><![CDATA[ABC & DEF]]></tag>
> </myxml>
> ------------------------------------------------------
> <!ELEMENT myxml (tag+)>
> <!ELEMENT tag (CDATA)>
> ------------------------------------------------------
>
>
>
More information about the jdom-interest
mailing list