Добавить ограничение для элемента complexType в XSD - PullRequest
0 голосов
/ 06 марта 2019

Учитывая следующий элемент:

  <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> content (запрет пробелов):

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

Как я могу определить это ограничение, чтобы оно действовало?

1 Ответ

0 голосов
/ 06 марта 2019

Элемент имеет смешанную модель содержимого (допускающую использование дочерних элементов и текста).В XSD 1.0 нет механизма, ограничивающего то, что может появляться в текстовых узлах внутри элемента со смешанным содержимым.Вы можете сделать это в XSD 1.1 с утверждениями.

...