hund555 Geschrieben 15. Mai 2006 Teilen Geschrieben 15. Mai 2006 hallo leute ich will die dtd in xml-schema umwandeln also das hier: <!DOCTYPE daten [ <!ELEMENT daten (person*)> <!ELEMENT person (name, vorname+, anrede?, contact?, adresse?, freunde?)> ]> [/PHP] habe es so gemacht: [PHP] <xs:element name="daten"> <xs:complexType> <xs:sequence> <xs:element ref="person" minOccurs='1' maxOccurs='unbounded'/> </xs:sequence> </xs:complexType> <xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element ref="name"/> <xs:element ref="vorname" maxOccurs='unbounded'/> <xs:element ref="anrede" minOccurs='0' maxOccurs='1'/> <xs:element ref="contact" minOccurs='0' maxOccurs='1'/> <xs:element ref="vorname" minOccurs='0' maxOccurs='1'/> </xs:sequence> </xs:complexType> </xs:element> folgendes fehler : verweis auf ein nicht-deklariertes namespace-präfix: "xs" Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
-:CrusheR:- Geschrieben 16. Mai 2006 Teilen Geschrieben 16. Mai 2006 Schema hat eine Baum-Struktur, wo der Haupt-Wurzel ein Element "schema" ist...:cool: Außerdem hat schema wiederrum nur einen Kind-Element (der kann beliebig viele Kind-Elemente haben), da XML-Instance auch nur einen Wurzel-Element haben darf. Und es fehlt XML-Kopf mein Beispiel: <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="daten"> <xs:complexType> <xs:sequence> <xs:element ref="person" minOccurs='1' maxOccurs='unbounded'/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element ref="name"/> <xs:element ref="vorname" maxOccurs='unbounded'/> <xs:element ref="anrede" minOccurs='0' maxOccurs='1'/> <xs:element ref="contact" minOccurs='0' maxOccurs='1'/> <xs:element ref="vorname" minOccurs='0' maxOccurs='1'/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> Ich hätte es etwas anders gemacht: <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="daten"> <xs:complexType> <xs:sequence> <xs:element name="Person" type="T_Person" minOccurs='1' maxOccurs='unbounded'/> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name="T_Person"> <xs:sequence> <xs:element name="allgemein" type="T_Allgemein"/> </xs:sequence> </xs:complexType> <xs:complexType name="T_Allgemein"> <xs:sequence> <xs:element name="Name" type="xs:string"/> <!-- Hier können noch beliebige Einstellungen rein --> <xs:element name="Vorname" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:schema> Willst du die Typen und Elementen aus einem anderen Schema ableiten dann muss die referenzeiren. bitte schön Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hund555 Geschrieben 20. Mai 2006 Autor Teilen Geschrieben 20. Mai 2006 hi, habe das jetzt so geschriebe: <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="daten"> <xs:complexType> <xs:sequence> <xs:element name="Person" type="T_Person" minOccurs='1' maxOccurs='unbounded'/> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name="T_Person"> <xs:sequence> <xs:element name="allgemein" type="T_Allgemein"/> </xs:sequence> </xs:complexType> <xs:complexType name="T_Allgemein"> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="vorname" maxOccurs='unbounded' type="xs:string"/> <xs:element name="anrede" minOccurs='0' maxOccurs='1' type="xs:string"/> <xs:element name="contact" minOccurs='0' maxOccurs='1' type="xs:string"/> <xs:element name="adresse" minOccurs='0' maxOccurs='1' type="xs:string"/> <xs:element name="freunde" minOccurs='0' maxOccurs='1' type="xs:string"/> </xs:sequence> </xs:complexType> </xs:schema> <daten> <person > <name>Braun</name> <vorname>Karl</vorname> <anrede>Herr</anrede> <contact> </person> </daten>[/PHP] fehler: In einem XML-Dokument ist nur ein Element höchster Ebene erlaubt line: <daten> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.