向XSD

时间:2019-03-06 13:05:40

标签: xml xsd schema restriction

给出以下元素:

  <xsd:element name="abr">
    <xsd:annotation>
      <xsd:documentation>Abbreviaturen</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType mixed="true">
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
        <xsd:element ref="maj"/>
        <xsd:element ref="sup"/>
        <xsd:element ref="lin"/>
        <xsd:element ref="cap"/>
        <xsd:element ref="cif"/>
      </xsd:choice>
    </xsd:complexType>
  </xsd:element>

我想对标签<abr>的内容(禁止空格)添加以下限制:

  <xsd:restriction base="xsd:string">
    <xsd:pattern value="[^\r\n\t ]*"/>
  </xsd:restriction>

如何定义此限制才能生效?

1 个答案:

答案 0 :(得分:0)

该元素具有混合内容模型(允许子元素以及文本)。 XSD 1.0中没有机制来限制出现在具有混合内容的元素中的文本节点中的内容。您可以在XSD 1.1中使用断言来做到这一点。