我是XML新手,目前我正在使用XSD。我應該驗證基於信用卡的xml文檔。我已經完成了大部分任務,但我堅持聲明一個必須是正浮點數的元素,同時也允許該元素具有必需的屬性,該屬性必須具有與其關聯的3字母貨幣類型。XSD限制xsd類型,同時允許屬性
下面是XML元素的一個例子我要驗證:
<total curId="USD">4003.46</total>
這是我有:
<xsd:element name="total" type="validAmount"/>
<xsd:complexType name="validAmount">
<xsd:simpleContent>
<xsd:extension base="xsd:decimal">
<xsd:attribute name= "curId" type = "currencyAttribute" use="required"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
對於curId屬性:
<xsd:simpleType name="currencyAttribute">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[A-Z]{3}"/>
</xsd:restriction>
</xsd:simpleType>
的我遇到的問題是試圖將擴展名更改爲限制,允許小數爲正數(也許是將其類型更改爲字符串並使用模式面將其限制爲正數)。但是,如果我這樣做,我用來驗證xml文檔的腳本會拋出錯誤。我知道我可能錯過了一些顯而易見的東西,但正如我所說的,我對此很陌生,因此任何幫助都將不勝感激。