0

我想使用 XSD 架构验证我的 XML 文件。在那里,我想检查特定属性值是否包含某些字符(例如:$ 字符)。我如何使用我的 XSD 进行检查。我的 XML 看起来像这样。

<parent name="abc">
..........
..........
</parent>

<parent name="ef$">
........
........
</parent>

我想检查属性值中是否存在“$”字符并解析错误。你能给我推荐一个 XSD 架构吗

4

1 回答 1

3

有了这个,您希望您的属性具有特定的数据类型。因此,您不是在检查值是什么,而是在声明它可以是什么。

在这里,我们定义了一个基于字符串的受限数据类型。在这里,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>
于 2013-10-30T05:26:04.683 回答