描述资源路径位置类型 cvc-complex-type.2.4.a:从元素' os:catalog '开始发现无效内容。其中一个'{“http://www.example.org/objectshop”:CatalogType}'是预期的。 objectshop.xml / HelloWorld / WebContent第6行XML问题
XSD文件
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/objectshop"
elementFormDefault="qualified"
xmlns:os="http://www.example.org/objectshop">
<complexType name="ProductType">
<sequence>
<element name="productId" type="string"></element>
<element name="name" type="string"></element>
<element name="description" type="string"></element>
<element name="price" type="double"></element>
<element name="campaignPrice" type="double"></element>
<element name="icon" type="string"></element>
</sequence>
</complexType>
<complexType name="CustomerType">
<sequence>
<element name="userId" type="string"></element>
<element name="name" type="string"></element>
<element name="address" type="string"></element>
<element name="phone" type="string"></element>
<element name="email" type="string"></element>
</sequence>
</complexType>
<complexType name="CatalogType">
<sequence>
<element name="ProductType" type="os:ProductType"
minOccurs="0" maxOccurs="unbounded">
</element>
</sequence>
</complexType>
<complexType name="MembersType">
<sequence>
<element name="customer" type="os:CustomerType" minOccurs="0" maxOccurs="unbounded"></element>
</sequence>
</complexType>
<element name="objectshop" type="os:ObjectShopType"></element>
<complexType name="ObjectShopType">
<sequence>
<element name="CatalogType" type="os:CatalogType"></element>
<element name="MembersType" type="os:MembersType"></element>
</sequence>
</complexType>
</schema>
XML文件
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="objectshop.xsl" ?>
<os:objectshop xmlns:os="http://www.example.org/objectshop"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.example.org/objectshop objectshop.xsd ">
<os:catalog>
<os:product>
<os:productId>1</os:productId>
<os:name>Achtung Baby - U2</os:name>
<os:description>Audio CD</os:description>
<os:price>21.0</os:price>
<os:campaignPrice>19.0</os:campaignPrice>
<os:icon>images/u2AchtungBaby.jpg</os:icon>
</os:product>
<os:product>
<os:productId>2</os:productId>
<os:name>Achtung Baby - U2</os:name>
<os:description>Audio CD</os:description>
<os:price>21.0</os:price>
<os:campaignPrice>19.0</os:campaignPrice>
<os:icon>images/u2AchtungBaby.jpg</os:icon>
</os:product>
<os:product>
<os:productId>2</os:productId>
<os:name>Achtung Baby - U2</os:name>
<os:description>Audio CD</os:description>
<os:price>21.0</os:price>
<os:campaignPrice>19.0</os:campaignPrice>
<os:icon>images/u2AchtungBaby.jpg</os:icon>
</os:product>
<os:product>
<os:productId>4</os:productId>
<os:name>Achtung Baby - U2</os:name>
<os:description>Audio CD</os:description>
<os:price>21.0</os:price>
<os:campaignPrice>19.0</os:campaignPrice>
<os:icon>images/u2AchtungBaby.jpg</os:icon>
</os:product>
</os:catalog>
<os:membership>
<os:customer>
<os:userId>eteration</os:userId>
<os:name>Esma Meral</os:name>
<os:address>ITU andesea</os:address>
<os:phone>+90 123 456 789</os:phone>
<os:email>a@b.com</os:email>
</os:customer>
</os:membership>
</os:objectshop>
答案 0 :(得分:0)
您的XSD文件需要格式化如下的XML文件
<os:objectshop>
<os:CatalogType>
...
</os:CatalogType>
<os:MembersType>
...
</os:MembersType>
</os:objectshop>
如
中所定义 <complexType name="ObjectShopType">
<sequence>
<element name="CatalogType" type="os:CatalogType"></element>
<element name="MembersType" type="os:MembersType"></element>
</sequence>
</complexType>
我建议更新您的架构以替换
<complexType name="CatalogType">
<sequence>
<element name="ProductType" type="os:ProductType" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
<complexType name="ObjectShopType">
<sequence>
<element name="CatalogType" type="os:CatalogType"/>
<element name="MembersType" type="os:MembersType"/>
</sequence>
</complexType>
与
<complexType name="CatalogType">
<sequence>
<element name="product" type="os:ProductType" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
<complexType name="ObjectShopType">
<sequence>
<element name="catalog" type="os:CatalogType"/>
<element name="membership" type="os:MembersType"/>
</sequence>
</complexType>