tag:forum.selfhtml.org,2005:/selfXML-Dokument-Validierung erzeugt Warnungen, die zweite – SELFHTML-Forum2006-08-09T22:49:10Zhttps://forum.selfhtml.org/self/2006/aug/9/xml-dokument-validierung-erzeugt-warnungen-die-zweite/1005376#m1005376Ashurahttp://noctus.net2006-08-09T14:40:08Z2006-08-09T14:40:08ZXML-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#m1005377Ashurahttp://noctus.net2006-08-09T15:32:38Z2006-08-09T15:32:38ZProblem 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#m1005378Felix RiestererFelix.Riesterer@gmx.nethttp://www.felix-riesterer.de/2006-08-09T22:08:35Z2006-08-09T22:08:35ZProblem 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#m1005379Ashurahttp://noctus.net2006-08-09T22:17:56Z2006-08-09T22:17:56ZProblem 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#m1005380Gunnar Bittersmannself2006@gunnarbittersmann.dehttp://gunnarbittersmann.de/2006-08-09T22:49:10Z2006-08-09T22:49:10ZProblem 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>