1

任何人都知道为什么以下不起作用?使用 Xerces 验证 xsd

<xs:element name="myElement">
  <xs:complexType>
    <xs:complexContent>
      <xs:extension base="myElementType">
        <xs:assert test="firstname = 'George' and lastName = 'Mc&apos;Falrland'" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

当我使用单引号&apos;实体时出现错误......

谢谢

4

1 回答 1

2

您的问题与 XPath 字符串文字有关,因为 XSD 1.1 使用 XPath 2.0,您可以通过两次编写分隔符来转义字符串文字中的撇号或引号,因此您可以使用:

<xs:assert test="firstname = 'George' and lastName = 'Mc''Falrland'" />

有关更多信息,您可以使用XPath 2.0 规范,文字部分:

如果文字由撇号分隔,则文字中的两个相邻撇号被解释为一个撇号。类似地,如果文字由引号分隔,则文字中相邻的两个引号被解释为一个引号。

于 2015-08-28T13:57:31.537 回答