Hallo beisammen,
ich schlage mich derzeit mit Namespaces rum und komme einfach nicht weiter. Leider habe ich auch keinen guten Anhaltspunkt... ich konnte nur das Problem einkreisen.
Ich habe eine XSLT geschrieben, die mir aus einer Quell-XML eine neu XML erzeugt. Diese hat die Struktur eines gewöhnlichen Feeds. Dieser Feed soll nun validiert werden. Die Struktur an sich ist nicht das Ding nur in Kombination mit Namespaces wird es haarig.
Struktur der Quell-XML (des Feeds)
Folgendes Schema habe ich dazu erzeugt und erfolgreich validiert.
Was ich jetzt noch brauche ist der Namespace von 'openSearch'. In der Quelle habe ich das schon auskommentiert eingefügt. Wie muss ich mein Schema umstellen, dass die Quelle incl. Namespace erfolgreich validiert werden kann?
Wie bei XSLT habe ich es mit "<xs:element name="os:totalResults"...." versucht, allerdings gibt das nur Fehler...
Vielen Dank im Voraus
Grüße
ich schlage mich derzeit mit Namespaces rum und komme einfach nicht weiter. Leider habe ich auch keinen guten Anhaltspunkt... ich konnte nur das Problem einkreisen.
Ich habe eine XSLT geschrieben, die mir aus einer Quell-XML eine neu XML erzeugt. Diese hat die Struktur eines gewöhnlichen Feeds. Dieser Feed soll nun validiert werden. Die Struktur an sich ist nicht das Ding nur in Kombination mit Namespaces wird es haarig.
Struktur der Quell-XML (des Feeds)
Code:
<?xml version="1.0" encoding="UTF-8"?> <feed> <!--<opensearch:totalResults xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/">44</opensearch:totalResults>--> <totalResults>55</totalResults> <entry> <title>Title Eins</title> <summary>Zusammenfassung Eins</summary> <link href="http://ohwieichmichfr.eu"/> <tags>TagEins</tags> </entry> <entry> <title>Titel Zwei</title> <summary>Was auch immer</summary> <link href="http://ohwieichmichfr.eu"/> <tags>Quatsch</tags> </entry> </feed
Code:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:os="http://a9.com/-/spec/opensearch/1.1/"> <xs:element name="feed"> <xs:complexType mixed="true"> <xs:sequence minOccurs="1" maxOccurs="unbounded"> <xs:element name="totalResults" minOccurs="1" maxOccurs="1" type="xs:positiveInteger"/> <xs:sequence minOccurs="1" maxOccurs="unbounded"> <xs:element name="entry"> <xs:complexType mixed="true"> <xs:all> <xs:element name="title" type="xs:string" /> <xs:element name="summary" type="xs:string" /> <xs:element name="tags" type="xs:string" /> <xs:element name="link"> <xs:annotation> <xs:documentation> Important is that the Link contains a "href"-attribute </xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="href" type="xs:string" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Wie bei XSLT habe ich es mit "<xs:element name="os:totalResults"...." versucht, allerdings gibt das nur Fehler...
Vielen Dank im Voraus
Grüße
Comment