Wie gebe ich eine Liste der benötigten xml geordneten Elemente brauchen nicht in Folge zu sein?
-
29-09-2019 - |
Frage
Das folgende XML-validates gegen das mitgelieferte XSD-Dokument. Allerdings, wenn ich anfangen Elemente wie aus der XML entfernt es bestätigt noch!?
Wie schreibe ich eine XSD, dass Kräfte die Einbeziehung von Elementen?
<?xml version="1.0" encoding="UTF-8"?>
<Video>
<Title>
</Title>
<Description>
</Description>
<Contributor>
</Contributor>
<Subject>
</Subject>
</Video>
Dann habe ich das xsd:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="UploadXSD"
targetNamespace="http://tempuri.org/UploadXSD.xsd"
elementFormDefault="qualified"
xmlns="http://tempuri.org/UploadXSD.xsd"
xmlns:mstns="http://tempuri.org/UploadXSD.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Video">
<xs:complexType>
<xs:sequence>
<xs:element name="Title" minOccurs="1" type="xs:string"></xs:element>
<xs:element name="Description" minOccurs="1" type="xs:string"></xs:element>
<xs:element name="Contributor" minOccurs="1" type="xs:string"></xs:element>
<xs:element name="Subject" minOccurs="1" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Lösung
Ihre target im XSD sollte den Namespace des XML entsprechen, die Sie versuchen, zu validieren, d.
<Video xmlns="http://tempuri.org/UploadXSD.xsd">
<Title>
</Title>
<Description>
</Description>
<Contributor>
</Contributor>
<Subject>
</Subject>
</Video>
Andere Tipps
Wenn Sie xs:all
verwenden zu xs:sequence
Gegensatz können die Elemente in beliebiger Reihenfolge erscheinen. Es gibt einige zusätzliche Einschränkungen - (. Ich bin mir nicht sicher, ob Sie, dass die Nutzung beabsichtigt, würde Ihr Schema zur Zeit das erlauben) können beispielsweise Elemente nicht mehrfach mit all
angegeben werden
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow