XML&;XML模式验证
在验证程序站点上上载时,会显示以下错误: 1) s4s elt必须匹配。1:“pizza”的内容必须匹配(注释?,(simpleType | complexType)?,(unique | key | keyref)*)。在以下位置发现问题:complexType。 2) cvc复杂类型.2.4.a:发现以元素“name”开头的内容无效。需要一个“{pizza}” 代码如下: XML:XML&;XML模式验证,xml,schema,validation,Xml,Schema,Validation,在验证程序站点上上载时,会显示以下错误: 1) s4s elt必须匹配。1:“pizza”的内容必须匹配(注释?,(simpleType | complexType)?,(unique | key | keyref)*)。在以下位置发现问题:complexType。 2) cvc复杂类型.2.4.a:发现以元素“name”开头的内容无效。需要一个“{pizza}” 代码如下: XML: 塔尔费内克 9.95 Web协议在生物学中的应用 模式: <?xml version="1.0"?&
塔尔费内克
9.95
Web协议在生物学中的应用
模式:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="pizzamenu">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="pizza">
<xs:complexType>
<xs:attribute name="id" type="xs:string" />
</xs:complexType>
<xs:complexType>
<xs:sequence>
<xs:element name="name">
</xs:element> <!-- name -->
<xs:element name="price">
</xs:element> <!-- price -->
<xs:element name="description">
</xs:element> <!-- description -->
</xs:sequence>
</xs:complexType>
</xs:element> <!-- pizza -->
</xs:sequence>
</xs:complexType>
</xs:element> <!-- pizzamenu -->
</xs:schema>
请帮助您的模式和xml似乎都有问题 您的模式似乎试图指定名称、价格和描述标记必须包含在pizza标记中。在xml中,它们不是 xml很可能更像:
<?xml version="1.0"?>
<pizzamenu xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="schemasnippet.xsd">
<pizza id = "0011">
<name> Tal Fenek </name>
<price> 9.95 </price>
<description>The application of Web protocols to Biology</description>
</pizza>
</pizzamenu>
塔尔费内克
9.95
Web协议在生物学中的应用
但是您的模式使用两个
标记来定义一个类型,这是行不通的。只要属性放在最后,就可以使用一个
来定义
标记的属性和内容。这意味着您的架构应该如下所示:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="pizzamenu">
<xs:complexType >
<xs:sequence maxOccurs="unbounded">
<xs:element name="pizza">
<xs:complexType>
<xs:sequence>
<xs:element name="name">
</xs:element> <!-- name -->
<xs:element name="price">
</xs:element> <!-- price -->
<xs:element name="description">
</xs:element> <!-- description -->
</xs:sequence>
<xs:attribute name="id" type="xs:string" />
</xs:complexType>
</xs:element> <!-- pizza -->
</xs:sequence>
</xs:complexType>
</xs:element> <!-- pizzamenu -->
</xs:schema>
我仍然会遇到同样的错误=/xml是有效的,架构似乎是问题所在……确实还有架构问题。请参阅我编辑的答案。
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="pizzamenu">
<xs:complexType >
<xs:sequence maxOccurs="unbounded">
<xs:element name="pizza">
<xs:complexType>
<xs:sequence>
<xs:element name="name">
</xs:element> <!-- name -->
<xs:element name="price">
</xs:element> <!-- price -->
<xs:element name="description">
</xs:element> <!-- description -->
</xs:sequence>
<xs:attribute name="id" type="xs:string" />
</xs:complexType>
</xs:element> <!-- pizza -->
</xs:sequence>
</xs:complexType>
</xs:element> <!-- pizzamenu -->
</xs:schema>