XSD Schema - Bitte um Hilfestellung

Yankyy02

Grünschnabel
Folgendes Schema:

Code:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<xsd:simpleType name="euro">
		<xsd:restriction base="xsd:decimal">
			<xsd:fractionDigits value="2"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:attributeGroup name="iddisplay">
		<xsd:attribute name="id" type="xsd:token" use="required"/>
		<xsd:attribute name="display" type="xsd:boolean" use="optional" default="true"/>
	</xsd:attributeGroup>
	<xsd:element name="theater">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="adresse">
					<xsd:complexType>
						<xsd:all>
							<xsd:element name="name" type="xsd:token"/>
							<xsd:element name="strasse" type="xsd:token"/>
							<xsd:element name="ort" type="xsd:token"/>
						</xsd:all>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="vorstellung" minOccurs="0" maxOccurs="unbounded">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:choice>
								<xsd:element name="theaterstück">
									<xsd:complexType>
										<xsd:group ref="veranstaltung"/>
									</xsd:complexType>
								</xsd:element>
								<xsd:element name="konzert">
									<xsd:complexType>
										<xsd:group ref="veranstaltung"/>
									</xsd:complexType>
								</xsd:element>
							</xsd:choice>
							<xsd:element name="datum" type="xsd:date"/>
							<xsd:element name="preis" type="euro"/>
						</xsd:sequence>
						<xsd:attributeGroup ref="iddisplay"/>
					</xsd:complexType>
				</xsd:element>
			</xsd:sequence>
			<xsd:attribute name="typ" use="required">
				<xsd:simpleType>
					<xsd:restriction base="xsd:token">
						<xsd:enumeration value="staatlich"/>
						<xsd:enumeration value="städtisch"/>
						<xsd:enumeration value="privat"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attributeGroup ref="iddisplay"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:group name="veranstaltung">
		<xsd:sequence>
			<xsd:element name="titel" type="xsd:string"/>
			<xsd:element name="beschreibung" type="xsd:string"/>
		</xsd:sequence>
	</xsd:group>
</xsd:schema>

Die Aufgabenstellung lautet wie folgt:

Ändern Sie den Datentyp des Elements „konzert“ so ab, dass es möglich ist, ein oder mehrere Unterelemente mit dem Namen „musikstück“ aufzulisten.
Das Musikstück-Element soll Textinhalt haben. Außerdem soll es ein Attribut mit dem Bezeichner „komponist“ aufweisen.
Der neue Typ, den Sie bitte zur besseren Wiederverwendbarkeit außerhalb des Elements „konzert“ global definieren, soll „titelliste“ heißen.
Sorgen Sie nun dafür, dass diese Titelliste im Element „konzert“ referenziert wird.

Seit 3 Tagen sitze ich nun und habe verschiedenste Konstellationen ausprobiert aber mein Schema validiert nicht
sobald ich Konzert meinen Typ zuweise! Kann mir bitte jemand weiterhelfen!!
Ich bitte keinen die Aufgabe zu lösen sondern mir eventuell anhaltspunkte zu geben was ich falsch machen könnte!

Danke für eure Unterstützung!!
 
Zeige uns eine konkrete Variante, die du probiert hast, zusammen mit der exakten Fehlermeldung.

Wenn du etwas wie
Code:
<xs:element name="konzert" type="titelliste"></xs:element>
probiert hast und den komplexen Typen "titelliste" wie spezifiziert definiert hast, kann eigentlich nichts schief gehen. Du kann nur nicht das "type"-Attribut setzen und dann noch per "complexType" innerhalb des xs: element den Typ definieren.
 
Hallo und danke für deinen Beitrag!

Also ich habe den Typ folgendermasen deklariert:

Code:
<xsd:complexType name="titelliste">
  	<xsd:sequence>
  		<xsd:element name="titelliste" type="xsd:string">
  			<xsd:complexType name="musikstueck">
  				<xsd:all>
  					<xsd:element name="musikstueck" type="xsd:token" />
  					</xsd:all>
  					<xsd:attribute name="komponist" type="xsd:token"/>
  				</xsd:complexType>
  			</xsd:element>
  		</xsd:sequence>
  	</xsd:complexType>

und im konzert folgendermasen angegeben:

Code:
<xsd:element name="konzert" type="titelliste">
                  <xsd:complexType>
                    <xsd:group ref="veranstaltung"/>
                  </xsd:complexType>
                </xsd:element>

die Gruppe veranstaltung soll ja weiterhin angegeben werden!

Ich hoffe bzw. ich würde dich bitten wenn du mir sagen könntest was ich da übersehe!

Vielen Dank für deine Hilfe!!
 
Zurück