ネストされた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ファイルを検証しよう<?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 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はOKですが、TAG内にxmlnsを指定しないので、私の問題は解決しません。この場合、XSDスキーマをどのように変更できますか? – Asp1de
なぜ名前空間を指定したくないのですか? XSD、XML、またはその両方の部分を制御できますか? – artbristol