Probleme mit xml Datei
agent-x
- xml
Hi,
ich habe mit einer Vorlage (die funktioniert) eine eigene xml Datei erstellt. Beim Testen (mit Mozilla Thunderbird) wird jedoch immer nur das erste ITEM der Datei angezeigt, die restlichen nicht. Wenn ich dann neue ITEMs hinzufüge, werden diese ebenfalls nicht angezeigt.
Die Grundstruktur meiner Datei:
------------------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="0.91">
<channel>
<title>Titel</title>
<description>Beschreibung</description>
<language>de</language>
<link>Homepage</link>
<item>
<title>Titel von Item 1</title>
<link>Link von Item 1</link>
</item>
<item>
<title>Titel von Item 2</title>
<link>Link von Item 2</link>
</item>
</channel>
</rss>
hast du die Elemente in der DTD so deklariert, das er in XML weiss das dieses tag <item> mehrmals benutzt wird? wenn nein dann schreibe in die dtd folgendes:
---
<!ELEMENT channel (item+)>
---
und schreibe dann in deiner XML Datei
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE channel SYSTEM "deine.dtd">
<channel>
.
.
.
.
hoffe das hilft!
Muss ich hierfür eine dtd erstellen? Wie geht das bzw. was ist das? Habe das schon mehrmals in xml Dateien gelesen, die auf w3c verwiesen.
Hallo,
Muss ich hierfür eine dtd erstellen? Wie geht das bzw. was ist das? Habe das schon mehrmals in xml Dateien gelesen, die auf w3c verwiesen.
Fuer Deinen Dokumententyp gibts es bereits eine DTD:
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">
MfG, Thomas
Hallo Thomas,
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">
Im Prinzip müßte es sogar zwei geben, da es zwei leicht unterschiedliche Formate mit dem Namen RSS 0.91 gibt:
http://diveintomark.org/archives/2004/02/04/incompatible-rss
Tim
Hallo Agent,
ich habe mit einer Vorlage (die funktioniert) eine eigene xml Datei erstellt.
Psst, man nennt das RSS, es ist aber ein XML-Format. Das nach einer Vorlage zu erstellen ist etwas problembehaftet, es gibt mehrere unterschiedliche RSS-Formate, 0.9, 0.91, 0.92, 1.0, 2.0, die sich teilweise sehr stark voneinander unterscheiden und teilweise recht komplexe Regeln besitzen. Ich würde Dir gleich zu RSS 2.0 raten, die Spezifikation dafür liegt hier:
http://blogs.law.harvard.edu/tech/rss
Beim Testen (mit Mozilla Thunderbird) wird jedoch immer nur das erste ITEM der Datei angezeigt, die restlichen nicht. Wenn ich dann neue ITEMs hinzufüge, werden diese ebenfalls nicht angezeigt.
Das ist mir relativ unbekannt, das Problem. Es sollte eigentlich nicht auftreten. Ich könnte mir aber vorstellen, daß es an Deiner Test-RSS-Datei liegt:
<item>
<title>Titel von Item 1</title>
<link>Link von Item 1</link>
</item>
Und zwar daran, daß Du für das link-Element hier keine tatsächliche URL als Inhalt hat. Ich könnte mir durchaus vorstellen, daß da der eine oder andere RSS-Parser aus dem Konzept kommen könnte.
Aber vielleicht ist das in Deiner tatsächlichen RSS-Datei nicht so ist - dann wüßte ich auch nicht, weswegen Thunderbird sich dann weigern könnte, die Grundstruktur sieht nämlich soweit korrekt aus. Vielleicht exotische Zeichen oder anderes. Ich würde Dir empfehlen, Deinen tatsächlichen RSS-Feed mit dem Feed Validator auf Korrektheit zu überprüfen, das Ding liefert meistens durchaus hilfreiche Fehlermeldungen:
http://feedvalidator.org/
Dann kann man vielleicht mehr sagen.
Tim