Java Xsd验证错误
我对嵌套的xsd文件有问题。我有3个文件:Company.xsd Product.xsd和Person.xsd Company.xsdJava Xsd验证错误,java,xml,xsd,validation,Java,Xml,Xsd,Validation,我对嵌套的xsd文件有问题。我有3个文件:Company.xsd Product.xsd和Person.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"
<?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”的声明
你知道为什么吗
有人能帮我吗???您需要包括一个名称空间:
<Company xmlns="http://www.company.org">
... <!-- rest of XML --->
...
XML中也有一些错误,但一旦从验证器获得更合理的输出,就应该很简单地修复它们。首先,测试XML有错误。这:
<Product>
<name>Test</name>
</Product>
在此之后,一切都会正常验证。将向您展示如何使用JAXP解析根据XSD模式验证XML文件。确定tnk以获得回复,但我的问题没有得到解决,因为我不想在标记中指定XMLN。在本例中,我如何修改XSD模式??为什么不指定名称空间?您可以控制哪个部分,XSD和XML,或者两者都可以?
<Product>
<Type>Test</Type>
</Product>
<?xml version="1.0" encoding="UTF-8"?>
<Company xmlns="http://www.company.org">
....
</Company>