QUOTE (Ronald Nickel @ So 16.12.2007, 17:52)ich habe einen RSS Feed geschrieben welches allerdings von sämtlichen Validatoren bemängelt wird.
Da haben die Validatoren auch recht.
Mit der einleitenden Xml-Declaration
CODE <?xml version='1.0' encoding='UTF-8'?>
sagst Du, daß es sich bei dem folgenden Dokument um ein Xml-Dokument der Version 1.0 handeln solle.
Durch die Version wird aber unter anderem festgelegt, welche Zeichen als WhiteSpace behandelt werden. Die
Xml-Version 1.1 vom Februar 2004 erlaubt - im Gegensatz zur Version 1.0 - einige zusätzliche Zeichen als WhiteSpace, weil sich die Menge der Unicode-Zeichen seit 1998 - dem Zeitpunkt der Version 1.0 - erweitert hat.
Folglich dürfen in der Datei vor der Deklaration keine WhiteSpace notiert sein - das machst Du aber, weil ein Return als erstes dasteht.
Sprich: Das Meckern der Validatoren ist sehr tiefliegend begründet - die Xml-Declaration muß immer am Dateibeginn stehen.
PS: Ein manchmal lästiges Problem ist, daß als 'Fehler' das erste Zeichen nach dem Fehler markiert wird. Und dieses muß ja selbst nicht mehr unbedingt 'falsch' sein.
PPS: Einen grundlegenden Fehler gibt es noch:
CODE <?xml version="1.0" encoding="UTF-8"?>
- <rss version="2.0">
- <channel>
<title>aerobel - exkusive Flugzeugmodelle</title>
<link>http://www.aerobel.ch</link>
<description>aerobel - exkusive Flugzeugmodelle</description>
<language>de-ch</language>
<generator>cold Fusion Studio 5</generator>
...
</channel>
</rss>
Nach der Xml-Declaration folgen entweder WhiteSpace oder sofort das eindeutige Wurzelelement (hier rss). Der '-' davor ist fehlerhaft im Sinne der Regeln wohlgeformter Xml-Dokumente. Die '-' danach sind zwar in diesem schwachen Sinn korrekt, dürften aber den (schärferen) Regeln für RSS-Dokumente widersprechen.