我想在XML模式中定义一个允许空字符串或某些特定模式的元素,例如:
<Code/>
<Code></Code>
<Code> </Code>
<Code>11111</Code>
<Code>111111</Code> - INVALID
<Code>AAAAA</Code> - INVALID
如何修改现有限制?
<xs:element name="Code">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{5}" />
</xs:restriction>
</xs:simpleType>
</xs:element>
答案 0 :(得分:5)
添加\s
作为你的正则表达式的另一个选择,允许空格字符[#x20 \ t \ n \ r](即:“常规”空格,制表符,换行符,回车符。不间断空格不包括在内。)
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="\s*|[0-9]{5}" />
</xs:restriction>
</xs:simpleType>
答案 1 :(得分:0)
使用"^$|pattern"
,因为^$
仅与空值匹配。