  | |  | Parsing DTD 's with CDATA elements | Parsing DTD 's with CDATA elements 2003-01-14 - By Greg Hess
Hi All, I have build a data structure that contains an element of type CDATA. When I parse the xml data I get the error org.xml.sax.SAXParseException: A '(' character or an element type is required in the declaration of element type "initData". Does anyone have any insight as to why my xml cannot be validated by Xerces. It also displays fine when tested under IE when I remove the # in #CDATA? Many thanks, Greg <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE invocation (View Source for full doctype...)> <http://localhost/instancemanager/testXML##> - <invocation> <method>_import</method> <id>1235768_69</id> <typeName>sometype</typeName> <http://localhost/instancemanager/testXML##> - <initData> - <![CDATA[ <some>init</someuuu> ]]> </initData> </invocation> The data is validated with the following dtd: <?xml version="1.0" encoding="UTF-8"?> <!ELEMENT invocation (method,id,typeName,initData)> <!ELEMENT method (#PCDATA)> <!ELEMENT id (#PCDATA)> <!ELEMENT typeName (#PCDATA)> <!ELEMENT initData (#CDATA)>
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft -com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http: //www.w3.org/TR/REC-html40">
<head> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=ProgId content=Word.Document> <meta name=Generator content="Microsoft Word 10"> <meta name=Originator content="Microsoft Word 10"> <link rel=File-List href="cid:filelist.xml@(protected)"> <link rel=Edit-Time-Data href="cid:editdata.mso@(protected)"> <!--[if !mso]> <style> v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} </style> <![endif]--><!--[if gte mso 9]><xml> <o:OfficeDocumentSettings> <o:DoNotRelyOnCSS/> </o:OfficeDocumentSettings> </xml><![endif]--><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:SpellingState>Clean</w:SpellingState> <w:GrammarState>Clean</w:GrammarState> <w:DocumentKind>DocumentEmail</w:DocumentKind> <w:EnvelopeVis/> <w:Compatibility> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--> <style> <!-- /* Font Definitions */ @(protected) {font-family:Courier; panose-1:2 7 4 9 2 2 5 2 4 4; mso-font-alt:"Courier New"; mso-font-charset:0; mso-generic-font-family:modern; mso-font-format:other; mso-font-pitch:fixed; mso-font-signature:3 0 0 0 1 0;} @(protected) {font-family:Verdana; panose-1:2 11 6 4 3 5 4 4 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:536871559 0 0 0 415 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} a:link, span.MsoHyperlink {color:blue; text-decoration:underline; text-underline:single;} a:visited, span.MsoHyperlinkFollowed {color:purple; text-decoration:underline; text-underline:single;} pre {margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Courier New"; mso-fareast-font-family:"Times New Roman";} span.EmailStyle17 {mso-style-type:personal-compose; mso-style-noshow:yes; mso-ansi-font-size:10.0pt; mso-bidi-font-size:10.0pt; font-family:Arial; mso-ascii-font-family:Arial; mso-hansi-font-family:Arial; mso-bidi-font-family:Arial; color:windowtext;} span.tx1 {mso-style-name:tx1; font-weight:bold;} span.m1 {mso-style-name:m1; color:blue;} span.pi1 {mso-style-name:pi1; color:blue;} span.b1 {mso-style-name:b1; font-family:"Courier New"; mso-ascii-font-family:"Courier New"; mso-hansi-font-family:"Courier New"; mso-bidi-font-family:"Courier New"; color:red; mso-text-animation:none; font-weight:bold; text-decoration:none; text-underline:none; text-decoration:none; text-line-through:none;} span.d1 {mso-style-name:d1; color:blue;} span.t1 {mso-style-name:t1; color:#990000;} span.di1 {mso-style-name:di1; mso-ansi-font-size:12.0pt; mso-bidi-font-size:12.0pt; font-family:Courier; mso-ascii-font-family:Courier; mso-hansi-font-family:Courier;} span.SpellE {mso-style-name:""; mso-spl-e:yes;} span.GramE {mso-style-name:""; mso-gram-e:yes;} @(protected) Section1 {size:8.5in 11.0in; margin:1.0in 1.25in 1.0in 1.25in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;} div.Section1 {page:Section1;} --> </style> <!--[if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman";} </style> <![endif]--> </head>
<body lang=EN-US link=blue vlink=purple style='tab-interval:.5in'>
<div class=Section1>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; font-family:Arial'>Hi All,<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; font-family:Arial'>I have <span class=GramE>build</span> a data structure that contains an element of type CDATA. When I parse the xml data I get the error < /span></font><span class=SpellE><span class=tx1><b><font size=2 face=Verdana><span style='font-size:10.0pt;font-family:Verdana'>org.xml.sax.SAXParseException< /span></font></b></span></span><span class=tx1><b><font size=2 face=Verdana><span style='font-size:10.0pt; font-family:Verdana'>: A '(' character or an element type is required in the declaration of element type "<span class=SpellE>initData</span>". Does anyone have any insight as to why my xml cannot be validated by <span class=GramE>Xerces.</span> It also displays fine when tested under IE when I remove the # in #CDATA?<o:p></o:p></span></font></b></span></p>
<p class=MsoNormal><span class=tx1><b><font size=2 face=Verdana><span style='font-size:10.0pt;font-family:Verdana'><o:p> </o:p></span></font></b ></span></p>
<p class=MsoNormal><span class=tx1><b><font size=2 face=Verdana><span style='font-size:10.0pt;font-family:Verdana'>Many thanks,<o:p></o:p></span>< /font></b></span></p>
<p class=MsoNormal><span class=tx1><b><font size=2 face=Verdana><span style='font-size:10.0pt;font-family:Verdana'><o:p> </o:p></span></font></b ></span></p>
<p class=MsoNormal><span class=tx1><b><font size=2 face=Verdana><span style='font-size:10.0pt;font-family:Verdana'>Greg<o:p></o:p></span></font></b>< /span></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><span class=GramE><span class=m1><font size=2 color=blue face=Verdana><span style='font-size:10.0pt;font-family:Verdana'><?</span>< /font></span><span class=pi1><font size=2 color=blue face=Verdana><span style='font-size:10.0pt; font-family:Verdana'>xml</span></font></span></span><span class=pi1><font size=2 color=blue face=Verdana><span style='font-size:10.0pt;font-family :Verdana'> version="1.0" encoding="UTF-8" </span></font></span><span class=m1><font size=2 color=blue face=Verdana><span style='font-size:10.0pt; font-family:Verdana'>?></span></font></span><font size=2 face=Verdana><span style='font-size:10.0pt;font-family:Verdana'> <o:p></o:p></span></font></p>
<p class=MsoNormal style='text-indent:-12.0pt'><span class=b1><b><font size=2 color=red face="Courier New"><span style='font-size:10.0pt'> </span></font ></b></span><font size=2 face=Verdana><span style='font-size:10.0pt;font-family:Verdana'> <span class=GramE><span class=d1><font color=blue><!DOCTYPE</font></span></span> <span class=d1><font color=blue> invocation<i><span style='font-style:italic'> (View Source for full <span class=SpellE>doctype</span>...)</span></i>></font>< /span> <o:p></o:p></span></font></p>
<p class=MsoNormal style='text-indent:-24.0pt'><font size=2 face=Verdana><span style='font-size:10.0pt;font-family:Verdana'><a href="http://localhost/instancemanager/testXML##" onfocus="h()" onclick="return false"><b><font color=red face="Courier New"><span style='font-family:"Courier New";color:red;font-weight:bold'>-</span></font></b ></a> <span style='mso-tab-count:1'> </span><span class=m1><font color=blue><</font></span><span class=t1><font color="#990000">invocation< /font></span><span class=m1><font color=blue>></font></span><o:p></o:p></span></font></p>
<p class=MsoNormal style='text-indent:-24.0pt'><span class=b1><b><font size=2 color=red face="Courier New"><span style='font-size:10.0pt'> </span></font ></b></span><font size=2 face=Verdana><span style='font-size:10.0pt;font-family:Verdana'> <span style='mso-tab-count:1'> </span><span style='mso-tab-count: 1'> </span><span class=m1><font color=blue><</font></span><span class=GramE><span class=t1> <font color="#990000">method</font></span></span><span class=m1><font color=blue>> </font></span><span class=tx1><b>_import</b></span><span class=m1><font color=blue></</font>< /span><span class=t1><font color="#990000">method</font></span><span class=m1><font color=blue>></font></span> <o:p></o:p></span></font></p>
<p class=MsoNormal style='text-indent:-24.0pt'><span class=b1><b><font size=2 color=red face="Courier New"><span style='font-size:10.0pt'> </span></font ></b></span><font size=2 face=Verdana><span style='font-size:10.0pt;font-family:Verdana'> <span style='mso-tab-count:1'> </span><span style='mso-tab-count: 1'> </span><span class=m1><font color=blue><</font></span><span class=GramE><span class=t1> <font color="#990000">id</font></span><span class=m1><font color=blue>></font>< /span></span><span class=tx1><b>1235768_69</b></span><span class=m1><font color=blue></</font>< /span><span class=t1><font color="#990000">id</font></span><span class=m1><font color=blue> ></font></span> <o:p></o:p></span></font></p>
<p class=MsoNormal style='text-indent:-24.0pt'><span class=b1><b><font size=2 color=red face="Courier New"><span style='font-size:10.0pt'> </span></font ></b></span><font size=2 face=Verdana><span style='font-size:10.0pt;font-family:Verdana'> <span style='mso-tab-count:1'> </span><span style='mso-tab-count: 1'> </span><span class=m1><font color=blue><</font></span><span class=SpellE><span class=GramE><span class=t1><font color="#990000">typeName</font></span></span>< /span><span class=GramE><span class=m1><font color=blue>></font></span></span><span class=SpellE><span class=tx1><b>sometype</b></span></span><span class=m1><font color=blue></</font></span><span class=SpellE><span class=t1><font color="#990000">typeName</font></span></span><span class=m1><font color=blue> ></font></span> <o:p></o:p></span></font></p>
<p class=MsoNormal style='text-indent:-12.0pt'><font size=2 face=Verdana><span style='font-size:10.0pt;font-family:Verdana'><a href="http://localhost/instancemanager/testXML##" onfocus="h()" onclick="return false"><b><font color=red face="Courier New"><span style='font-family:"Courier New";color:red;font-weight:bold'>-</span></font></b ></a> <span style='mso-tab-count:2'> </span><span class=m1><font color=blue><</font></span><span class=SpellE><span class=t1> <font color="#990000">initData</font></span></span><span class=m1><font color=blue> ></font></span><o:p></o:p></span></font></p>
<p class=MsoNormal style='text-indent:-12.0pt'><font size=2 face=Verdana><span style='font-size:10.0pt;font-family:Verdana'>-<span style='mso-tab-count:1'> </span> <span style='mso-tab-count:2'> </span><span class=m1><font color=blue><<span class=GramE>![</span>CDATA[</font></span> < /span></font><span class=di1><font face=Courier><o:p></o:p></font></span></p>
<span id=""><pre style='text-indent:-12.0pt'><font size=2 face="Courier New"> <span style='font-size:10.0pt'><span style='mso-tab-count:1'> </span><span style='mso-tab-count:2'> </span><<span class=GramE>some></span>init</<span class=SpellE>someuuu</span>><o:p>< /o:p></span></font></pre></span>
<p class=MsoNormal style='text-indent:-12.0pt'><span class=b1><b><font size=2 color=red face="Courier New"><span style='font-size:10.0pt'> <span style='mso-tab-count:3'> </span></span></font></b></span><font size=2 face=Verdana><span style='font-size:10.0pt;font-family:Verdana'> <span class=m1><font color=blue>]]></font></span> <script> f(clean); </script><o:p></o:p></span></font></p>
<p class=MsoNormal style='text-indent:-12.0pt'><span class=b1><b><font size=2 color=red face="Courier New"><span style='font-size:10.0pt'> </span></font ></b></span><font size=2 face=Verdana><span style='font-size:10.0pt;font-family:Verdana'> <span style='mso-tab-count:2'> </span><span class=m1><font color=blue></</font></span><span class=SpellE><span class=t1> <font color="#990000">initData</font></span></span><span class=m1><font color=blue> ></font></span><o:p></o:p></span></font></p>
<p class=MsoNormal style='text-indent:-12.0pt'><span class=b1><b><font size=2 color=red face="Courier New"><span style='font-size:10.0pt'> </span></font ></b></span><font size=2 face=Verdana><span style='font-size:10.0pt;font-family:Verdana'> <span class=m1><font color=blue></</font></span><span class=t1><font color="#990000">invocation</font></span><span class=m1><font color=blue>><o :p></o:p></font></span></span></font></p>
<p class=MsoNormal style='text-indent:-12.0pt'><span class=m1><font size=2 color=blue face=Verdana><span style='font-size:10.0pt;font-family:Verdana'><o:p > </o:p></span></font></span></p>
<p class=MsoNormal style='text-indent:-12.0pt'><span class=m1><font size=2 color=blue face=Verdana><span style='font-size:10.0pt;font-family:Verdana'><span style='mso-tab-count:1'> </span>The data is validated with the following <span class=SpellE>dtd</span>:<o:p></o:p></span></font></span></p>
<p class=MsoNormal style='text-indent:-12.0pt'><span class=m1><font size=2 color=blue face=Verdana><span style='font-size:10.0pt;font-family:Verdana'><o:p > </o:p></span></font></span></p>
<p class=MsoNormal style='text-indent:-12.0pt'><span class=m1><font size=2 color=blue face=Verdana><span style='font-size:10.0pt;font-family:Verdana'><span style='mso-tab-count:1'> </span><span class=GramE><?xml</span> version="1.0" encoding="UTF-8"?><o:p></o:p></span></font ></span></p>
<p class=MsoNormal><span class=GramE><span class=m1><font size=2 color=blue face=Verdana><span style='font-size:10.0pt;font-family:Verdana'><!ELEMENT< /span></font></span></span><span class=m1><font size=2 color=blue face=Verdana><span style='font-size:10.0pt; font-family:Verdana'> invocation (<span class=SpellE>method,id,typeName ,initData</span>)><o:p></o:p></span></font></span></p>
<p class=MsoNormal><span class=GramE><span class=m1><font size=2 color=blue face=Verdana><span style='font-size:10.0pt;font-family:Verdana'><!ELEMENT< /span></font></span></span><span class=m1><font size=2 color=blue face=Verdana><span style='font-size:10.0pt; font-family:Verdana'> method (#PCDATA)><o:p></o:p></span></font></span></p>
<p class=MsoNormal><span class=GramE><span class=m1><font size=2 color=blue face=Verdana><span style='font-size:10.0pt;font-family:Verdana'><!ELEMENT< /span></font></span></span><span class=m1><font size=2 color=blue face=Verdana><span style='font-size:10.0pt; font-family:Verdana'> id (#PCDATA)><o:p></o:p></span></font></span></p>
<p class=MsoNormal><span class=GramE><span class=m1><font size=2 color=blue face=Verdana><span style='font-size:10.0pt;font-family:Verdana'><!ELEMENT< /span></font></span></span><span class=m1><font size=2 color=blue face=Verdana><span style='font-size:10.0pt; font-family:Verdana'> <span class=SpellE>typeName</span> (#PCDATA)><o:p></o :p></span></font></span></p>
<p class=MsoNormal><span class=GramE><span class=m1><font size=2 color=blue face=Verdana><span style='font-size:10.0pt;font-family:Verdana'><!ELEMENT< /span></font></span></span><span class=m1><font size=2 color=blue face=Verdana><span style='font-size:10.0pt; font-family:Verdana'> <span class=SpellE>initData</span> (#CDATA)></span>< /font></span><font size=2 face=Verdana><span style='font-size:10.0pt;font-family:Verdana'> <o:p>< /o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt; font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size: 12.0pt'><o:p> </o:p></span></font></p>
</div>
</body>
</html>
|
|
 |