5

要素で許可される桁数を 6 に制限したい:

<AccountNumber>123456</AccountNumber>
<AccountNumber>999999</AccountNumber>
<AccountNumber>000000</AccountNumber>

フィールド形式の指定は、ゼロが埋め込まれた 6 桁の数字です。

totalDigits以下に基づいて、制限を使用したい場合があることを読みました。

totalDigits 許可される正確な桁数を指定します。ゼロより大きい必要があります

だから私は単純なタイプを持っています:

<xs:simpleType name="AccountNumber">
   <xs:restriction base="xs:int">
      <xs:totalDigits value="6"/>
   </xs:restriction>
</xs:simpleType>

また、次のような無効な番号をキャッチします。

<AccountNumber>1234567</AccountNumber>
<AccountNumber>0000000</AccountNumber>
<AccountNumber></AccountNumber>

無効な数値をキャッチしません。

<AccountNumber>12345</AccountNumber>
<AccountNumber>01234</AccountNumber>
<AccountNumber>00123</AccountNumber>
<AccountNumber>00012</AccountNumber>
<AccountNumber>00001</AccountNumber>
<AccountNumber>00000</AccountNumber>
<AccountNumber>0000</AccountNumber>
<AccountNumber>000</AccountNumber>
<AccountNumber>00</AccountNumber>
<AccountNumber>0</AccountNumber>

許可される正確な桁数を指定するための推奨される制限は何ですか?

4

3 に答える 3

7

xs:pattern正規表現を使用して提供し、それを数値に制限する必要があります。

<xs:simpleType name="AccountNumber">
   <xs:restriction base="xs:int">
      <xs:pattern value="\d{6}"/>
   </xs:restriction>
</xs:simpleType>
于 2010-11-19T19:36:32.377 に答える
0

私はおそらくxs:minInclusivexs:maxInclusiveを使用します。

于 2010-11-19T19:38:37.787 に答える
0

これが最も簡単な方法です

    <xs:element name="prodid">
     <xs:simpleType>
      <xs:restriction base="xs:integer">
       <xs:pattern value="[0-9][0-9][0-9][0-9][0-9]"/>
      </xs:restriction>
     </xs:simpleType>
    </xs:element> 
于 2014-05-28T19:39:33.530 に答える