![](/img/trans.png)
[英]XML & XSD validation failed: Element has both a 'type' attribute and a 'anonymous type' child
[英]XML element and XSD validation that contains both attribute and text
我正在努力弄清楚如何構造XSD驗證,以便它可以正確驗證我的XML文件。
我的元素languages
包含同時包含文本和id
字段的元素language
。
我的驗證程序告訴我,我有: Validation Error: The element 'languages' has invalid child element 'language'.
如何正確構造它? 我的language
元素是否還需要complexType
?
XSD
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="dataset">
<xsd:complexType>
<xsd:all>
<xsd:element name="languages">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="language">
<xsd:complexType mixed="true">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="id" type="xsd:integer"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:all>
</xsd:complexType>
</xsd:element>
</xsd:schema>
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
<dataset>
<languages>
<language id="0">C</language>
<language id="1">C++</language>
</languages>
</dataset>
以下XSD將驗證您的XML:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="dataset">
<xs:complexType>
<xs:sequence>
<xs:element name="languages">
<xs:complexType>
<xs:sequence>
<xs:element name="language" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id">
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
筆記:
maxOccurs="unbounded"
)。 language
旨在將可能的標記與內容中的文本混合在一起,否則您可能不希望使用mixed="true"
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.