Problem mit Schemaerstellung
Thomas Mell
- xml
0 Rouven0 Thomas J.S.
Hallo,
im Zuge der Weiterentwicklung des SELFHTM-Validator http://validator.de.selfhtml.org habe ich ein Problem.
Als nächstes möchte ich einen RSS/Atom Validator implementieren.
Bekanntenweise liegen diese Daten im XML-Format vor. Durch die (je nach Version) bestehenden Regeln, was den Aufbau der Dokumente angeht, ist es unmöglich diese in DTDs zu spezifizieren.
Deshalb habe ich mich dazu entschlossen für jede Version ein Schema anzulegen.
Damit habe ich aber ein Problem; als Editor benutze ich XMLSpy.
Hier erst mal ein minimales Beispiel für RSS-0.9:
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/">
<channel>
<title>Mozilla Dot Org</title>
<link>http://www.mozilla.org</link>
<description>the Mozilla Organization web site</description>
</channel>
<item>
<title>New Status Updates</title>
<link>http://www.mozilla.org/status/</link>
</item>
<item>
</rdf:RDF>
Mein Problem liegt im Rootelement rdf:RDF. XMLSpy spuckt mir in der Schemazeile
<xs:element name="rdf:RDF">...
den Fehler "name=rdf:RDF cannot have a namespace prefix. Please remove prefix or use ref=instead aus".
Da ich nicht all zu fitt mit Schemas bin, geht meine Frage dahin wie ich die Sache schreiben muss damit es keine Fehler mehr gibt.
Vielen Dank schon mal
Thomas Mell
Hi,
ich rede hier nur aus "Ausprobierwissen", aber bei das Präfix xxx:yyy dient ja vor allem der Anzeige wo ein gewisses Element yyy herkommt, nämlich aus der durch xxx bezeichneten Quelle (laut root-Element). Wenn du jetzt aber ein Element selbst deklarierst nimmst du ja nichts irgendwo her sondern deklarierst, also ist ein Präfix nicht sinnvoll. Nimm es einfach weg. In der zugehörigen XML-Datei muss dann angegeben sein wo das Ding herkommt und genau das tut er, er sagt es kommt aus rdf und rfd ist angegeben als ...w3.org/1999...
Wie gesagt, ist nur ausprobierwissen was bei mir bisher geklappt hat...
MfG
Rouven
Hallo Thomas,
Deshalb habe ich mich dazu entschlossen für jede Version ein Schema anzulegen.
Hast du schon im Web danach geucht? Z.B.:
http://4xt.org/downloads/rss/schemas/
Grüße
Thomas