文字列が長い8つの文字であるために、私は、XSD内のスキーム規則を定義しようとしている:XSD正規表現パターン:このオアナッシング
<PostedDate>42183296</PostedDate>
と空間充填も許可されている:
XSDに私を導いた<PostedDate> </PostedDate>
:
<xs:simpleType name="DateFormat">
<xs:restriction base="xs:string">
<xs:length value="8" /> //exactly 8 characters long
</xs:simpleType>
をその値はまた、電子することができ(すなわち、ゼロ文字):私を導い
<PostedDate></PostedDate>
<PostedDate />
は単純にしようとする:もちろん許可されていません
<xs:simpleType name="DateFormat">
<xs:restriction base="xs:string">
<xs:length value="8" /> //exactly 8 characters long
<xs:length value="0" /> //exactly 0 characters long
</xs:simpleType>
。多くの場合、XSDの場合のように
、ほとんどのフォーマットは、XSDで簡単に表すことができないので、私は正規表現のルール試すことにしました:
I型XSDに変換しようとして.{8} | ""
を:
<xs:simpleType name="DateFormat">
<xs:restriction base="xs:string">
<xs:pattern value=".{8}|''" />
</xs:restriction>
</xs:simpleType>
しかし、それは動作しませんでした:
''20101111' is not facet-valid with respect to pattern '.{8}|''' for type 'DateFormat'
私も
を試してみました<xs:pattern value="[0-9]{8}|''" />
<xs:pattern value="([0-9]{8})|('')" />
<xs:pattern value="(\d{8})|('')" />
のいずれかに一致 問題を解決し、パターンの誰のことができます - いくつかの特定のパターン - 空
ボーナス:缶誰でもその場所を指すは数字と一致すると言われる?あるいは、他の特別なパターンコードは何ですか?
私は '\ d {8}? 'はうまくいくと思います。 「?」は、それがオプションである前のことを意味します。 –