我需要能够将一个简单的元素类型设置为整数,但允许它也为空.如果此示例为空且空白字段不是整数,则会发送错误.我怎么能绕过这个?
<xsd:element name="weight" type="xsd:integer"/>
Run Code Online (Sandbox Code Playgroud)
小智 24
您需要做的是为同一元素分配限制并在它们上建立联合,如下例所示:
<xs:element name="job_code">
<xs:simpleType>
<xs:union>
<xs:simpleType>
<xs:restriction base='xs:string'>
<xs:length value="0"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base='xs:integer' />
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:element>
Run Code Online (Sandbox Code Playgroud)
通过使用此限制,您可以告诉xml验证允许任何整数值,并允许该元素为空.
小智 8
我们可以通过创建一个SimpleType来实现这一点
<xs:simpleType name="NullOrInteger">
<xs:restriction base="xs:string">
<xs:pattern value="\d*|\s{0}" />
</xs:restriction>
</xs:simpleType>
Run Code Online (Sandbox Code Playgroud)
添加NullOrInteger作为要限制整数或空值的类型.
例如:
<xs:element name="null_or_int" type="NullOrInteger" />
Run Code Online (Sandbox Code Playgroud)
您需要将“nillable”属性设置为 true:
<xsd:element name="weight" type="xsd:integer" nillable="true"/>
Run Code Online (Sandbox Code Playgroud)
请参阅XML 架构入门。
| 归档时间: |
|
| 查看次数: |
35058 次 |
| 最近记录: |