我想使用 XSD 架构验证我的 XML 文件。在那里,我想检查特定属性值是否包含某些字符(例如:$ 字符)。我如何使用我的 XSD 进行检查。我的 XML 看起来像这样。
<parent name="abc">
..........
..........
</parent>
<parent name="ef$">
........
........
</parent>
我想检查属性值中是否存在“$”字符并解析错误。你能给我推荐一个 XSD 架构吗
我想使用 XSD 架构验证我的 XML 文件。在那里,我想检查特定属性值是否包含某些字符(例如:$ 字符)。我如何使用我的 XSD 进行检查。我的 XML 看起来像这样。
<parent name="abc">
..........
..........
</parent>
<parent name="ef$">
........
........
</parent>
我想检查属性值中是否存在“$”字符并解析错误。你能给我推荐一个 XSD 架构吗
有了这个,您希望您的属性具有特定的数据类型。因此,您不是在检查值是什么,而是在声明它可以是什么。
在这里,我们定义了一个基于字符串的受限数据类型。在这里,xs:pattern 中的正则表达式[^$]*
转换为“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>