有人知道为什么下面的不能工作吗?使用Xerces
验证xsd。<xs:element name="myElement">
<xs:complexType>
<xs:complexContent>
<xs:extension base="myElementType">
<xs:assert test="firstname = 'George' and lastName = 'Mc'Falrland'" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
当我使用单引号'
entity…
谢谢
您的问题与XPath字符串字面值有关,由于XSD 1.1使用XPath 2.0,因此可以通过两次编写分隔符来转义字符串字面值中的撇号或引号,因此可以使用:
<xs:assert test="firstname = 'George' and lastName = 'Mc''Falrland'" />
有关更多信息,可以使用XPath 2.0规范,参见Literals:
如果文本由撇号分隔,则两个相邻的撇号被解释为单个撇号。同样的,如果文本由引号分隔,则两个相邻的引号文本中的标记被解释为一个引号。