内容模型不允许任何字符数据 - XSD
问题描述:
尝试验证小的xml我收到以下错误:内容模型不允许任何字符数据。内容模型不允许任何字符数据 - XSD
这是我的示例XML:
<?xml version="1.0" encoding="UTF-8"?>
<plats xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="1_e.xsd">
<primer codi='3'>Caldo de verdures</primer>
<segon codi='4'>Pollastre al forn</segon>
<primer codi='7'>Spaguettis</primer>
<segon codi='12'>Llus a la planxa</segon>
</plats>
,这是我的xsd:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:complexType name="t_primer">
<xs:choice>
<xs:element name="primer" type="xs:string" />
</xs:choice>
<xs:attribute name="codi" type="xs:string" />
</xs:complexType>
<xs:complexType name="t_segon">
<xs:choice>
<xs:element name="segon" type="xs:string" />
</xs:choice>
<xs:attribute name="codi" type="xs:string" />
</xs:complexType>
<xs:element name="plats">
<xs:complexType>
<xs:choice>
<xs:sequence>
<xs:element name="primer" type="t_primer" />
</xs:sequence>
<xs:sequence>
<xs:element name="segon" type="t_segon" />
</xs:sequence>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
我无法找到我在哪里错了,代码看起来不错...
答
问题解决:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:complexType name="t_primer">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="codi" type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="t_segon">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="codi" type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:element name="plats">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="primer" type="t_primer" />
<xs:element name="segon" type="t_segon" />
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
您是n同样的类型两次:根据你的模式't_primer'必须包含一个'primer'元素而不是字符串内容。 – Filburt
最后我找到了解决方案,您的评论让我更好地理解它。 –