XSD中的特殊字符限制规则

XSD中的特殊字符限制规则,xsd,Xsd,在我的XSD验证中限制特殊字符,我能够处理具有此模式的某些字符“([a-zA-Z0-9.!@$%^*([a-zA-Z0-9.-),>?/`-])+” 但无法处理以下问题: " & ' < \ ® ™ 有什么想法吗 也无法使用[^]处理它们模式我认为您需要使用字符实体。&;例如用于符号and,而用于less。XML模式是XML,您必须遵守XML规则。扩展您的问题以实际显示模式上下文会有所帮助。您想要定义一个扩展字符串的类型,并添加一个限制图案 差不多 <xs:element name=

在我的XSD验证中限制特殊字符,我能够处理具有此模式的某些字符“([a-zA-Z0-9.!@$%^*([a-zA-Z0-9.-),>?/`-])+”

但无法处理以下问题:

" & ' < \ ® ™

有什么想法吗


也无法使用[^]处理它们模式

我认为您需要使用字符实体。
&;
例如用于符号and,而
用于less。XML模式是XML,您必须遵守XML规则。扩展您的问题以实际显示模式上下文会有所帮助。

您想要定义一个扩展字符串的类型,并添加一个限制图案 差不多

<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>

或者,您可以在要添加到图案中的任何特殊字符之前添加转义字符\(反斜杠)。例如:

<xs:pattern value="[a-zA-Z 0-9_.,()/=!\[\]&quot;#%&amp;*;&lt;&gt;&apos;+:?-]"/>

好的,thnx,我可以处理它们,但运气不好,无法允许characters®™这两个字符需要使用#转义码,因此™;表示TM,而®;表示(R)。