1
XML:XML驗證:元素不能有性格,因爲該類型的內容類型元素的唯一
<?xml version="1.0" encoding="UTF-8"?>
<data>
<ac code="JL" auto="1">
<fee>10e</fee>
<comission>
<if country="JP">5%</if>
<else>7%</else>
</comission>
</ac>
<ac code="B2" auto="1">
<fee>
<if country="RU">35e 50e 50e 80e 15e 10e</if>
<else>10e</else>
</fee>
<comission>
<if country="RU">3%</if>
<else>5%</else>
</comission>
</ac>
</data>
而且XSD架構:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="data" type="data"/>
<xs:complexType name="data">
<xs:sequence>
<xs:element name="ac" minOccurs="0" maxOccurs="unbounded" type="ac"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ac">
<xs:sequence>
<xs:element name="fee" type="feecomiss"/>
<xs:element name="comission" type="feecomiss"/>
</xs:sequence>
<xs:attribute name="code" type="xs:string"/>
<xs:attribute name="auto" type="xs:decimal"/>
</xs:complexType>
<xs:complexType name="feecomiss">
<xs:sequence>
<xs:element name="if" type="if" minOccurs="0" />
<xs:element name="else" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="if">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="country" type="xs:string" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:schema>
這個方案不是因爲「費用」的第一個元素沒有「if」和「else」元素,所以工作
有什麼想法?對不起,我的英文不好=)
是否要更改實例以匹配架構或匹配實例的架構? – p00ya 2010-02-25 07:42:57
您可以使用[] [http://www.utilities-online.info/xsdvalidation/]等在線驗證程序[在類似問題中](http://stackoverflow.com/q/20926860/) 413020)。你會得到非常準確的信息,哪裏出問題了:'無效。 錯誤 - 第4,23行:org.xml.sax.SAXParseException; lineNumber:4; columnNumber:23; cvc-complex-type.2.3:元素'fee'不能包含字符[子],因爲該類型的內容類型僅爲元素。' – Alberto 2014-07-17 05:22:39