2012-02-28 77 views
0

從這個例子:使用XML Schema如何定義屬性並限制文本?

<cost isoCode="GBP">27.45</cost> 

我如何定義的屬性類型和限制'27 0.45' float類型?

我一直在嘗試混合ComplexType,但沒有任何運氣!

謝謝。

+1

我會建議永遠不要使用浮動等貨幣值;而是使用小數或整數。 – 2012-02-29 02:16:18

回答

2

您可以使用xs:simpleContent來完成此操作。以下是出發點。

<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> 

    <xs:element name="cost"> 
     <xs:complexType> 
      <xs:simpleContent> 
       <xs:extension base="xs:float"> 
        <xs:attribute name="isoCode" type="isoCodeType" /> 
       </xs:extension> 
      </xs:simpleContent> 
     </xs:complexType> 
    </xs:element> 

    <xs:simpleType name="isoCodeType"> 
     <xs:restriction base="xs:string"> 
      <xs:enumeration value="GBP" /> 
      <xs:enumeration value="other" /> 
     </xs:restriction> 
    </xs:simpleType> 
</xs:schema> 
相關問題