Zitat von
Luckie:
Ah, danke. Wurde als alternative aufgenommen.
Das VisualStudio hat einen ziemlich coolen XSD Designer.
Damit kannst du dir schnell mal ein Dokumentenformat zusammen klicken. Ich nutze das Ding schon seit Jahren .
Du kannst auch einfach eine
XML im studio öffnen und dir aus der
XML ein XSD geneieren lassen, was du dann als Fundament nehmen kannst.
Ich habe mal Klarabellas (
) Version damit etwas aufgewertet:
XML-Code:
<?
xml version="1.0" encoding="iso-8859-1"?>
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="www.luckie.de/BuchBleistift"
xmlns:bv="www.luckie.de/BuchBleistift"
elementFormDefault="qualified">
<xs:element name="verlag">
<xs:complexType>
<xs:sequence>
<xs:element name="buch"
maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="titel"
type="xs:string" />
<xs:element name="autor">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="erschdat"
type="xs:date" />
<xs:element name="isbn"
type="bv:isbnType">
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name="isbnType">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{3}[-][0-9]{3}[-][0-9]{3}" />
</xs:restriction>
</xs:simpleType>
</xs:schema>
Aber IMO sind da zu viele Elemente. Die ISBN und das Datum hätten Attribute sein können, Titel und Author eigentlich auch...
Und wer so dumme, abgekürzte Bezeichner wie "erschtdat" in ein wirkliches Schema packen würde (nicht wie hier einen Bleistift), gehört in den Knast...
Und zum Validieren in deinem Code kannst du dir mal die Klasse XmlSchemaSet ansehen.