CDATA忽略XSD中的&

| 我需要xml解析器/验证器来忽略&的存在 我如何通过在xsd中使用CDATA来完成它。 这是xsd的代码段:
 <xs:simpleType name=\"values\">
  <xs:restriction base=\"xs:string\">
     <xs:enumeration value=\"IN & OUT\"/>
     <xs:enumeration value=\"XYZ\"/>
  </xs:restriction>
</xs:simpleType>
我尝试使用CDATA如下,但由于得到xsd验证错误而徒劳:
 <xs:simpleType name=\"values\">
  <xs:restriction base=\"xs:string\">
     <xs:enumeration value=\"IN <![CDATA[&]]> OUT\"/>
     <xs:enumeration value=\"XYZ\"/>
  </xs:restriction>
</xs:simpleType>
任何帮助表示赞赏。 提前感谢。     
已邀请:
        我相信您可以使用实体引用
&amp;
代替字符
&
。     
        尝试使用实体引用:
  <xs:simpleType name=\"values\">
    <xs:restriction base=\"xs:string\">
      <xs:enumeration value=\"IN &amp; OUT\"/>
      <xs:enumeration value=\"XYZ\"/>
    </xs:restriction>
  </xs:simpleType>
或十进制参考:
  <xs:simpleType name=\"values\">
    <xs:restriction base=\"xs:string\">
      <xs:enumeration value=\"IN &#38; OUT\"/>
      <xs:enumeration value=\"XYZ\"/>
    </xs:restriction>
  </xs:simpleType>
    
        嗯我发现有趣的是,第二个片段中的那一行实际上是黑色的,而不是正确着色的元素。 请问验证错误是什么?这可能有助于查明该行代码到底有什么问题。解析器确实会忽略&符号,但您是否尝试过将'&'替换为''事实是,我感觉到您正在将枚举值设置为
    \"IN <![CDATA[&]]> OUT\"/>
显然...将无法通过验证。要么解析器完全通过该行,要么仅将XYZ作为枚举值。 有什么错误。 您是否尝试用替换&
&amp; 
既然是逃生实体? 干杯。     

要回复问题请先登录注册