Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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"

Geschrieben

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

Geschrieben

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>

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...