tag:forum.selfhtml.org,2005:/self XML-Dokument-Validierung erzeugt Warnungen, die zweite – SELFHTML-Forum 2006-08-09T22:49:10Z https://forum.selfhtml.org/self/2006/aug/9/xml-dokument-validierung-erzeugt-warnungen-die-zweite/1005376#m1005376 Ashura http://noctus.net 2006-08-09T14:40:08Z 2006-08-09T14:40:08Z XML-Dokument-Validierung erzeugt Warnungen, die zweite <p>Hallo.</p> <p>Momentan arbeite ich <a href="http://forum.de.selfhtml.org/archiv/2006/3/t124743/" rel="nofollow noopener noreferrer">wieder einmal</a> an einer Schnittstelle zu einem XML–Dokument.</p> <p>Um die getElementById–Methode anwenden zu können, muss das Dokument zwangsläufig validiert werden; tue ich dies, werden mir unverständlichen Warnungen (nach wie vor mein Favorit: „^“) entgegen geworfen.</p> <p>Hier erst einmal das Dokument:</p> <pre><code class="block language-xml"><span class="token prolog"><?xml version="1.0" encoding="utf-8"?></span> <span class="token doctype"><span class="token punctuation"><!</span><span class="token doctype-tag">DOCTYPE</span> <span class="token name">gaestebuch</span> <span class="token name">SYSTEM</span> <span class="token string">"gaestebuch.dtd"</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>gaestebuch</span> <span class="token attr-name">lastid</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>1<span class="token punctuation">"</span></span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>eintrag</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>e1<span class="token punctuation">"</span></span> <span class="token attr-name">sichtbar</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>ja<span class="token punctuation">"</span></span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>datum</span><span class="token punctuation">></span></span>Wed, 09 Aug 2006 00:00:00 +0100<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>datum</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>host</span><span class="token punctuation">></span></span>127.0.0.1<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>host</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>name</span><span class="token punctuation">></span></span><span class="token cdata"><![CDATA[Foo]]></span><span class="token tag"><span class="token tag"><span class="token punctuation"></</span>name</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>beitrag</span><span class="token punctuation">></span></span><span class="token cdata"><![CDATA[Bar]]></span><span class="token tag"><span class="token tag"><span class="token punctuation"></</span>beitrag</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>kommentar</span><span class="token punctuation">></span></span><span class="token cdata"><![CDATA[Baz]]></span><span class="token tag"><span class="token tag"><span class="token punctuation"></</span>kommentar</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"></</span>eintrag</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"></</span>gaestebuch</span><span class="token punctuation">></span></span> </code></pre> <p>Und hier die zugehörige DTD:</p> <pre><code class="block language-dtd"><!ELEMENT gaestebuch (eintrag)+> <!ATTLIST gaestebuch   lastid    DATA    #REQUIRED > <!ELEMENT eintrag (datum, host, name, (kontakt)?, beitrag, (kommentar)?)> <!ATTLIST eintrag   id        ID         #REQUIRED  sichtbar  (ja|nein)  "ja" > <!ELEMENT datum (#PCDATA)> <!ELEMENT host (#PCDATA)> <!ELEMENT name (#PCDATA)> <!ELEMENT kontakt (email?, website?)> <!ELEMENT beitrag (#PCDATA)> <!ELEMENT kommentar (#PCDATA)> <!ELEMENT email (#PCDATA)> <!ELEMENT website (#PCDATA)> </code></pre> <p>Und das recht simpel gehaltene PHP–Script dazu:</p> <pre><code class="block language-php"><span class="token php language-php"><span class="token delimiter important"><?php</span> <span class="token function">error_reporting</span><span class="token punctuation">(</span><span class="token constant">E_ALL</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">header</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'content-type: text/html; charset=utf-8'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">setlocale</span><span class="token punctuation">(</span><span class="token constant">LC_ALL</span><span class="token punctuation">,</span> <span class="token string single-quoted-string">'de_DE.UTF-8'</span><span class="token punctuation">,</span> <span class="token string single-quoted-string">'ge'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$obj_doc</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">DOMDocument</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$obj_doc</span><span class="token operator">-></span><span class="token function">load</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'gaestebuch.xml'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$obj_doc</span><span class="token operator">-></span><span class="token function">validate</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token delimiter important">?></span></span> </code></pre> <p>Alles zusammen resultiert in folgendem Ergebnis:</p> <p>Warning: DOMDocument::validate() [function.DOMDocument-validate]: /…/gaestebuch.dtd:3: parser error : '(' required to start ATTLIST enumeration in /…/index.php on line 9<br> Warning: DOMDocument::validate() [function.DOMDocument-validate]: lastid DATA #REQUIRED in /…/index.php on line 9<br> Warning: DOMDocument::validate() [function.DOMDocument-validate]: ^ in /…/index.php on line 9<br> Warning: DOMDocument::validate() [function.DOMDocument-validate]: /…/gaestebuch.dtd:3: parser error : Content error in the external subset in /…/index.php on line 9<br> Warning: DOMDocument::validate() [function.DOMDocument-validate]: lastid DATA #REQUIRED in /…/index.php on line 9<br> Warning: DOMDocument::validate() [function.DOMDocument-validate]: ^ in /…/index.php on line 9<br> Warning: DOMDocument::validate() [function.DOMDocument-validate]: Could not load the external subset "gaestebuch.dtd" in /…/index.php on line 9</p> <p>Wozu sollte ich Klammern zur Attributaufzählung brauchen, wenn ich keine Attribute aufzählen will? Ich wäre über eine Erleuchtung dankbar.</p> <p>Einen schönen Mittwoch noch.</p> <p>Gruß, Ashura</p> <div class="signature">-- <br> sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|<br> „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“<br> [<a href="http://www.w3.org/History/19921103-hypertext/hypertext/WWW/MarkUp/HTMLConstraints.html" rel="nofollow noopener noreferrer">HTML Design Constraints: Logical Markup</a>] </div> https://forum.selfhtml.org/self/2006/aug/9/xml-dokument-validierung-erzeugt-warnungen-die-zweite/1005377#m1005377 Ashura http://noctus.net 2006-08-09T15:32:38Z 2006-08-09T15:32:38Z Problem gelöst <p>Hallo Gunnar™.</p> <blockquote> <p>Und hier die zugehörige DTD:</p> <pre><code class="block language-dtd"></code></pre> </blockquote> <p><!ELEMENT gaestebuch (eintrag)+></p> <blockquote> <p><!ATTLIST gaestebuch<br>   lastid    DATA    #REQUIRED</p> <blockquote></blockquote> </blockquote> <pre><code class="block"> <pinky>Narf</pinky> DATA als Inhaltstyp gibt es nicht, es muss CDATA heißen. Da muss wohl irgendwann bei Umstrukturierungen das „C“ verloren gegangen sein. Danke für die Aufmerksamkeit. Gruß, Ashura -- sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:| „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“ [[HTML Design Constraints: Logical Markup](http://www.w3.org/History/19921103-hypertext/hypertext/WWW/MarkUp/HTMLConstraints.html)] </code></pre> https://forum.selfhtml.org/self/2006/aug/9/xml-dokument-validierung-erzeugt-warnungen-die-zweite/1005378#m1005378 Felix Riesterer Felix.Riesterer@gmx.net http://www.felix-riesterer.de/ 2006-08-09T22:08:35Z 2006-08-09T22:08:35Z Problem gelöst <p>Lieber Ashura,</p> <blockquote> <p>Hallo Gunnar™.</p> </blockquote> <p>war das nicht sonst immer Ingrid?</p> <p>Liebe Grüße aus <a href="http://www.ellwangen.de/" rel="nofollow noopener noreferrer">Ellwangen</a>,</p> <p>Felix Riesterer.</p> https://forum.selfhtml.org/self/2006/aug/9/xml-dokument-validierung-erzeugt-warnungen-die-zweite/1005379#m1005379 Ashura http://noctus.net 2006-08-09T22:17:56Z 2006-08-09T22:17:56Z Problem gelöst <p>Hallo Felix.</p> <blockquote> <blockquote> <p>Hallo Gunnar™.</p> </blockquote> <p>war das nicht sonst immer Ingrid?</p> </blockquote> <p>Im Usenet, ja. Aber Gunnar avancierte durch sein Ingrid–haftes Verhalten zu unsereren lokalen Ingrid. Und <a href="https://forum.selfhtml.org/?t=134302&m=870999" rel="noopener noreferrer">mittlerweile</a> mache ich ihm sogar seinen Rang streitig.</p> <p>Einen schönen Donnerstag noch.</p> <p>Gruß, Ashura</p> <div class="signature">-- <br> sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|<br> „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“<br> [<a href="http://www.w3.org/History/19921103-hypertext/hypertext/WWW/MarkUp/HTMLConstraints.html" rel="nofollow noopener noreferrer">HTML Design Constraints: Logical Markup</a>] </div> https://forum.selfhtml.org/self/2006/aug/9/xml-dokument-validierung-erzeugt-warnungen-die-zweite/1005380#m1005380 Gunnar Bittersmann self2006@gunnarbittersmann.de http://gunnarbittersmann.de/ 2006-08-09T22:49:10Z 2006-08-09T22:49:10Z Problem gelöst <p>Hello out there!</p> <blockquote> <p>ber Gunnar avancierte durch sein Ingrid–haftes Verhalten zu unsereren lokalen Ingrid.</p> </blockquote> <p>Wohl der Albtraum jedes Künstlers: „lokale“ Berühmtheit.</p> <p>She said “Just a local hero”<br> “Local hero” she said with a smile<br> “Yeah a local hero he used to live here for a while”<br> (Bruce Springsteen, “<a href="http://brucespringsteen.net/songs/LocalHero.html" rel="nofollow noopener noreferrer">Local Hero</a>”)</p> <p>See ya up the road,<br> Gunnar</p> <div class="signature">-- <br> “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen) </div>