我正在尝试使用 Unix 的“xmllint”命令针对 XSD 验证 XML。我面临的问题是:
在 XSD 中,字段 " state
" 指定如下:
<xs:element name="state">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
注意<xs:maxLength value="2"/>
在 XML 中,状态字段是这样的:
类型 1:
<state>
FL
</state>
或者
类型 2:
<state>FL</state>
对于 TYPE 1,我收到以下错误:
test.xml:243: element state: Schemas validity error : Element 'state': [facet 'maxLength'] The value has a length of '32'; this exceeds the allowed maximum length of '2'.
test.xml:243: element state: Schemas validity error : Element 'state': '
FL
' is not a valid value of the local atomic type.
对于 TYPE 2,它可以正确验证而没有任何错误。
因此,基本上格式化 XML 中的空格会导致问题。我希望 XML 在这两种情况下都能通过。有没有办法在有或没有 xmllint 的情况下做到这一点?
非常感谢。