Hab hier mal ein stark reduziertes XSD:
XML
- <?xml version="1.0"?>
- <xsd:schema
- xmlns:xsd="[URL]http://www.w3.org/2001/XMLSchema[/URL]"
- targetNamespace="[URL]http://www.dbai.tuwien.ac.at/fussball[/URL]">
- <xsd:element name="verein" type="VereinType"/>
- <xsd:complexType name="VereinType">
- <xsd:sequence>
- <xsd:element name="verein" type="xsd:string" />
- <xsd:element name="spieler" type="xsd:string" />
- </xsd:sequence>
- </xsd:complexType>
- </xsd:schema>
Der TargetNamespace gibt mir ja an, welcher Namespace im XML Instanzdokument verwendet werden soll.
Wenn ich das probier zu validieren bekomm ich:
u0525643@minteka
Code
- [/EMAIL][EMAIL='u0525643@minteka']u0525643@minteka[/EMAIL][EMAIL='u0525643@minteka']:~ > xmllint --schema verein-ns-xsd.xsd verein-ns-xsd.xmlverein-ns-xsd.xsd:5: element element: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}element', attribute 'type': References from this schema to components in no namespace are not allowed, since not indicated by an import statement.
XML
- <?xml version="1.0"?><xsd:schema xmlns:xsd="[URL]http://www.w3.org/2001/XMLSchema[/URL]" targetNamespace="[URL]http://www.dbai.tuwien.ac.at/fussball[/URL]" xmlns:dbai="[URL]http://www.dbai.tuwien.ac.at/fussball[/URL]" > <xsd:element name="verein" type="dbai:VereinType"/> <xsd:complexType name="VereinType"> <xsd:sequence> <xsd:element name="verein" type="xsd:string" /> <xsd:element name="spieler" type="xsd:string" /> </xsd:sequence> </xsd:complexType></xsd:schema>