在XSD中为complexType元素添加限制

问题描述 投票:0回答:1

鉴于以下要素:

  <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>

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

xml xsd schema restriction
1个回答
0
投票

元素具有混合内容模型(允许子元素和文本)。 XSD 1.0中没有任何机制可以限制具有混合内容的元素中的文本节点中可能出现的内容。您可以在XSD 1.1中使用断言来完成此操作。

© www.soinside.com 2019 - 2024. All rights reserved.