Wadoku

Wadoku Wörterbuchsuche
Forum

Inhaltsverzeichnis

Zuletzt aktualisiert

Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Hier die Arbeitsversion der XSD inklusive XML-Beispiel:

Codeblock

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
	targetNamespace="http://www.w3schools.com"
	xmlns="http://www.w3schools.com" elementFormDefault="qualified">

	<xs:element name="entry" type="entry" />

	<xs:complexType name="entry">
		<xs:sequence>
			<xs:element name="form" type="form" />
			<xs:element name="gramGrp" type="gramGrp" minOccurs="0" />
			<xs:element name="sense" type="sense" minOccurs="1" />
		</xs:sequence>
		<xs:attribute name="diclevel" type="xs:int"></xs:attribute>
	</xs:complexType>

	<xs:complexType name="form">
		<xs:sequence>
			<xs:element name="orth" type="orth" minOccurs="1"></xs:element>
			<xs:element name="pron" type="pron" minOccurs="1"></xs:element>
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="orth" mixed="true">
		<xs:sequence>
			<xs:element name="kanji" type="kanji" minOccurs="1"
				maxOccurs="unbounded">
			</xs:element>
		</xs:sequence>
		<xs:attribute name="midashigo" type="xs:boolean"></xs:attribute>
	</xs:complexType>

	<xs:complexType name="kanji" mixed="true">
		<xs:attribute name="type" type="kanjiEnum"></xs:attribute>
	</xs:complexType>

	<xs:simpleType name="kanjiEnum">
		<xs:restriction base="xs:string">
			<xs:enumeration value="nonToyo"></xs:enumeration>
			<xs:enumeration value="irregReading"></xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="pron" mixed="true">
		<xs:attribute name="type" type="pronEnum"></xs:attribute>
		<xs:attribute name="orth" type="xs:integer"></xs:attribute>
	</xs:complexType>

	<xs:simpleType name="pronEnum">
		<xs:restriction base="xs:string">
			<xs:enumeration value="hatsuon"></xs:enumeration>
			<xs:enumeration value="furigana"></xs:enumeration>
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="gramGrp">
		<xs:sequence>
			<xs:element name="pos" type="pos" minOccurs="1"></xs:element>
		</xs:sequence>
	</xs:complexType>

	<xs:simpleType name="pos">
		<xs:restriction base="xs:string">
			<xs:enumeration value="meishi" />
			<xs:enumeration value="doushi" />
			<xs:enumeration value="keiyoshi" />
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="sense">
		<xs:sequence>
			<xs:element name="usg" type="usg" minOccurs="0" />
			<xs:element name="trans" type="trans" minOccurs="1" />
		</xs:sequence>
		<xs:attribute name="diclevel" type="xs:int"></xs:attribute>
		<xs:attribute name="dom" type="dom"></xs:attribute>
	</xs:complexType>

	<xs:simpleType name="dom">
		<xs:restriction base="xs:string">
			<xs:enumeration value="Biol." />
			<xs:enumeration value="Rechtsw." />
			<xs:enumeration value="Wirtsch." />
			<xs:enumeration value="..." />
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="usg" mixed="true">
		<xs:attribute name="type">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="geo"></xs:enumeration>
					<xs:enumeration value="time"></xs:enumeration>
					<xs:enumeration value="dom"></xs:enumeration>
					<xs:enumeration value="reg"></xs:enumeration>
					<xs:enumeration value="style"></xs:enumeration>
					<xs:enumeration value="plev"></xs:enumeration>
					<xs:enumeration value="acc"></xs:enumeration>
					<xs:enumeration value="lang"></xs:enumeration>
					<xs:enumeration value="gram"></xs:enumeration>
					<xs:enumeration value="syn"></xs:enumeration>
					<xs:enumeration value="hyper"></xs:enumeration>
					<xs:enumeration value="colloc"></xs:enumeration>
					<xs:enumeration value="comp"></xs:enumeration>
					<xs:enumeration value="obj"></xs:enumeration>
					<xs:enumeration value="subj"></xs:enumeration>
					<xs:enumeration value="verb"></xs:enumeration>
					<xs:enumeration value="hint"></xs:enumeration>
					<xs:enumeration value="scientific"></xs:enumeration>
					<xs:enumeration value="seasonword"></xs:enumeration>
					<xs:enumeration value="familyname"></xs:enumeration>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>

	<xs:complexType name="trans">
		<xs:sequence>
			<xs:element name="tr" type="xs:string" minOccurs="1"></xs:element>
			<xs:element name="def" type="xs:string" minOccurs="0"></xs:element>
		</xs:sequence>
		<xs:attribute name="diclevel" type="xs:int"></xs:attribute>
		<xs:attribute name="dom" type="dom"></xs:attribute>
	</xs:complexType>

</xs:schema>

...

Die XSD soll als XML-Schema die Strukur der XML-Einträge festelgen. Die aktuelle XSD ist angehängt, und wegen der Größe und Übersichtlichkeit hier nicht mehr inline enthalten.