我想使用XSD架构验证我的XML文件。在那里,我想检查特定属性值是否包含某些字符(例如:$ character)。如何使用我的XSD进行检查。我的XML看起来像这样。
<parent name="abc">
..........
..........
</parent>
<parent name="ef$">
........
........
</parent>
我想检查属性值中“$”字符的强大并解析错误。你能建议我这个
的XSD架构吗?答案 0 :(得分:3)
有了这个,你希望你的attribute拥有特定的数据类型。所以你不是检查值是什么,更多声明它可能是什么。
在这里,我们基于字符串定义受限数据类型。在这里,xs:模式中的regular expression为[^$]*
,其转换为“不为'$'的0个或多个字符”:
<xs:simpleType name="myAttribute">
<xs:restriction base="xs:string">
<xs:pattern value="[^$]*"/>
</xs:restriction>
</xs:simpleType>
然后,在parent
元素的声明中,该属性具有该受限数据类型。
<xs:element name="parent">
<xs:complexType>
<xs:attribute name="name" type="myAttribute"/>
</xs:complexType>
</xs:element>