# Validierung klappt nicht mit Schema



## CJb3LL (1. Apr 2009)

Hallo zusammen, ich habe eine XML erstellt und dazu eine passende XSD. Leider erhalte ich immer diese Fehlermeldung: 
	
	
	
	





```
Description	Resource	Path	Location	Type
s4s-elt-invalid-content.1: The content of '#AnonType_request' is invalid.  Element 'element' is invalid, misplaced, or occurs too often.	request.xsd	Test_PaperlessDeliveryNote	line 11	XML Schema Problem
```

Dies ist meine XML:

```
<?xml version="1.0" encoding="UTF-8"?>
<request xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="request.xsd" reqno="REQ0123456789" orderno="ORD0123456789" lean="false">
	<general>
		<date>
			<year>2008</year>
			<month>12</month>
			<day>08</day>
		</date>
		<contract>DE-1662……</contract>
		<coordinator>
			<name>Mustermann, Michael</name>
			<phone>0221/1111111</phone>
		</coordinator>
		<requester>
			<name>Mustermann, Max</name>
			<phone>02234/22222222</phone>
		</requester>
		<user>
			<name>Mustermann, Max</name>
			<phone>02233/333333333</phone>
			<destination>/DE/DSR/K 1</destination>
		</user>
		<ossdistribution id="OSS">/DE/DSR/G 7/F00/0239A</ossdistribution>
	</general>
	<orderedassets>
		<asset>
			<model>/IT Hardware/Peripheral/Accessory/Thinkpad …</model>
			<lang></lang>
			<version></version>
			<serialno>M232H23</serialno>
			<weight></weight>
		</asset>
		<asset>
			<model>/IT Hardware/Peripheral/Docking Station …</model>
			<lang></lang>
			<version></version>
			<serialno>L23A382</serialno>
			<weight></weight>
		</asset>
		<asset>
			<model>/IT Hardware/Peripheral/Input Device …</model>
			<lang></lang>
			<version></version>
			<serialno>K328J23</serialno>
			<weight></weight>
		</asset>
	</orderedassets>
</request>
```

Und dies mein Schema:

```
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:element name="request">
    	<xsd:complexType>
    		<xsd:attribute name="reqno" type="xsd:string"
    			use="required" />
    		<xsd:attribute name="orderno" type="xsd:string"
    			use="required" />
    		<xsd:attribute name="lean" type="xsd:boolean"
    			use="required" />
    		<xsd:element name="general">
    			<xsd:complexType>
    				<xsd:element name="date">
    					<xsd:complexType>
    						<xsd:element name="year" type="xsd:integer" />
    						<xsd:element name="month"
    							type="xsd:integer" />
    						<xsd:element name="day" type="xsd:integer" />
    					</xsd:complexType>
    				</xsd:element>
    				<xsd:element name="contract" type="xsd:string" />
    				<xsd:element name="coordinator">
    					<xsd:complexType>
    						<xsd:element name="name" type="xsd:string" />
    						<xsd:element name="phone" type="xsd:string" />
    					</xsd:complexType>
    				</xsd:element>
    				<xsd:element name="requester">
    					<xsd:complexType>
    						<xsd:element name="name" type="xsd:string" />
    						<xsd:element name="phone" type="xsd:string" />
    					</xsd:complexType>
    				</xsd:element>
    				<xsd:element name="user">
    					<xsd:complexType>
    						<xsd:element name="name" type="xsd:string" />
    						<xsd:element name="phone" type="xsd:string" />
    						<xsd:element name="destination"
    							type="xsd:string" />
    					</xsd:complexType>
    				</xsd:element>
    				<xsd:element name="ossdistribution"
    					type="xsd:string">
    					<xsd:attribute name="id" type="xsd:string"
    						use="optional" />
    				</xsd:element>
    			</xsd:complexType>
    		</xsd:element>
    		<xsd:element name="orderedassets">
    			<xsd:complexType>
    				<xsd:element name="asset" minOccurs="1"
    					maxOccurs="unbounded">
    					<xsd:complexType>
    						<xsd:element name="model" type="xsd:string" />
    						<xsd:element name="lang" type="xsd:string"
    							minOccurs="0" />
    						<xsd:element name="version"
    							type="xsd:string" minOccurs="0" />
    						<xsd:element name="serialno"
    							type="serialType" minOccurs="0" />
    						<xsd:simpleType name="serialType">
    							<xsd:restriction base="xsd:string">
    								<xsd:length value="7" />
    							</xsd:restriction>
    						</xsd:simpleType>
    						<xsd:element name="weight" type="xsd:string"
    							minOccurs="0" />
    					</xsd:complexType>
    				</xsd:element>
    			</xsd:complexType>
    		</xsd:element>
    	</xsd:complexType>
    </xsd:element>
</xsd:schema>
```

Hat jemand eine Idee, was ich falsch mache? Habe heute das erste mal XSD verwendet.


----------



## Ebenius (1. Apr 2009)

Muss im Schema nicht unter complexType immer entweder ein "all" oder ein "sequence" oder ein "choice"-Element kommen und in diesem dann die Elemente?

Ebenius


----------



## CJb3LL (2. Apr 2009)

Ja, Du hast Recht. Ich danke Dir!


----------

