gpt4 book ai didi

java - Xsd 验证错误

转载 作者:行者123 更新时间:2023-12-02 07:48:34 26 4
gpt4 key购买 nike

我的嵌套 xsd 文件有问题。我有这 3 个文件:Company.xsd Product.xsd 和 Person.xsd。

公司.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>

产品.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>

人物.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 中也存在一些错误,但一旦您从 validator 获得更合理的输出,它应该足够简单,可以修复这些错误。

关于java - Xsd 验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10515545/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com