我想这是一个基本问题,但模式似乎让我感到困惑。 我想黑名单像一些字符,如+, - ,@,#,<,>。 如果字符在xml字段中,那么我想使xml无效。使用xsd模式的xml数据中的黑名单字符
在下面的示例中,如果字符串字段包含上述任何字符,我想将xml返回为无效。 如果数据是这样的“你好”。它应该是有效的。 我应该如何编写我的模式。感谢您检查这一点。
XML:
<DataType>System.String</DataType>
<Value>
<String>[email protected]</String>
</Value>
在XSD:
<xs:element name="Value">
<xs:complexType>
<xs:sequence>
<xs:element name="String" type="xs:string" />
</xs:sequence>
<xs:restriction base="xs:string">
<xs:pattern value="[^[email protected]#%&()<>?]"/>
</xs:restriction>
</xs:complexType>
</xs:element>
进行进一步的编辑这一部分:
我已经收到这些错误:在解析实体名称发生 错误。 - 在我的代码中 实体名称必须紧跟在唯一的xsd验证器工具中的实体引用中的&之后。 http://www.utilities-online.info/xsdvalidation/#.VzTwcYSDFBc
它似乎没有遵循这些特殊字符,我该如何改变这种情况? 再次感谢。
只是一个想法,如果有正则表达式应该匹配** **有效的字符串,不应该是'[^ + - @#%&()<>?] +'? –