限制我的XSD验证中的特殊字符,我能够处理一些具有此模式的字符“([a-zA-Z0-9_。'!@#$%^ *()_ + = { } | /:;,>?/`〜])+“
但无法在下面处理:
” &安培; “ < \ ® ™
任何想法?
也无法使用[^] pattern
处理它们答案 0 :(得分:5)
您希望定义一个扩展字符串的类型,并使用模式添加限制 像
这样的东西<xs:element name="your_element">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z0-9_.' !@#$%^*()_+={}|/:;,>?/`~ ]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
答案 1 :(得分:2)
我认为你需要使用角色实体。例如,&
表示&符号,<
表示较少。 XML Schema是XML,您必须使用XML规则。扩展您的问题以实际向我们展示架构上下文会有所帮助。
答案 2 :(得分:2)
或者您可以在要添加到模式的任何特殊字符之前添加转义字符\(反斜杠)。例如:
<xs:pattern value="[a-zA-Z 0-9_.,()/=!\[\]"#%&*;<>'+:?-]"/>
您可以在其中看到模式中包含的方括号[和]。