我有一個嵌套的xsd文件的問題。我有這3個文件:Company.xsd Product.xsd和Person.xsd。Xsd驗證錯誤
Company.xsd
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.company.org"
xmlns="http://www.company.org"
elementFormDefault="qualified">
<xsd:include schemaLocation="Person.xsd"/>
<xsd:include schemaLocation="Product.xsd"/>
<xsd:element name="Company">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Person" type="PersonType"
maxOccurs="unbounded"/>
<xsd:element name="Product" type="ProductType"
maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
Product.xsd
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xsd:complexType name="ProductType">
<xsd:sequence>
<xsd:element name="Type" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
Person.xsd
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xsd:complexType name="PersonType">
<xsd:sequence>
<xsd:element name="Name" type="xsd:string"/>
<xsd:element name="SSN" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
我嘗試驗證這個簡單的XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<Company>
<Person>
<Name>Test</Name>
<SSN>test</SSN>
</Person>
<Product>
<name>Test</name>
</Product>
</Company>
但我有這個錯誤:cvc-elt.1:找不到元素'Company'的聲明。
你知道爲什麼嗎?
有人能幫助我嗎?
好tnk回覆,但我的問題沒有解決,因爲我不想指定標籤內的xmlns。在這種情況下,我可以如何體驗XSD架構? – Asp1de
爲什麼你不想指定命名空間?您可以控制哪部分,XSD,XML或兩者? – artbristol