2012-02-28 1 views
0

XMLスキーマの使用属性を定義してテキストを制限するにはどうすればよいですか?この例から

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

がどのように属性タイプを定義し、float型に'27 0.45' を制限するのでしょうか?

私は複雑な複合型を試してきましたが、幸運はありませんでした!

ありがとうございました。

+1

浮動小数点などを金銭的価値として使用しないことをお勧めします。代わりに10進数または整数を使用してください。 –

答えて

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> 
関連する問題