15. Mai 200619 j 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"
16. Mai 200619 j 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
20. Mai 200619 j Autor 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>
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.