Последние учебники веб-разработки
×

XML Руководство

XML ГЛАВНАЯ XML Введение XML Как использовать XML дерево XML Синтаксис XML элементы XML Атрибуты XML Пространства имен XML дисплей XML XSLT XML XPath XML XLink XML Оценщик XML DTD XML схема XML сервер XML Приложения XML Примеры XML викторина XML сертификат

XML DOM

DOM вступление DOM Вершины DOM XMLHttpRequest DOM Доступ к DOM Узел информация DOM Список узлов DOM Пересекая DOM навигационный DOM Получить значения DOM Change Вершины DOM Remove Вершины DOM Replace Вершины DOM Create Вершины DOM Add Вершины DOM Clone Вершины DOM Примеры

DOM Справка

DOM Типы узлов DOM Узел DOM NodeList DOM NamedNodeMap DOM Документ DOM Элемент DOM Атрибут DOM Текст DOM CDATA DOM Комментарий DOM XMLHttpRequest DOM синтаксический анализатор

XML DTD

DTD вступление DTD Строительные блоки DTD элементы DTD Атрибуты DTD Элементы против Attr DTD юридические лица DTD Примеры

XSD Schema

XSD вступление XSD Как XSD <schema> XSD элементы XSD Атрибуты XSD ограничения

XSD Сложный

XSD элементы XSD пустой XSD Элементы только XSD Только текст XSD смешанный XSD индикаторы XSD <any> XSD <anyAttribute> XSD подмена XSD пример

XSD Data

XSD строка XSD Дата XSD числовой XSD Разное XSD Справка

Web Сервисы

XML Сервисы XML WSDL XML SOAP XML RDF XML RSS

 

XSD Ограничения / Грани


Ограничения используются для определения допустимых значений для элементов или атрибутов XML. Ограничения на элементы XML называются фасетки.


Ограничения на ценности

Следующий пример определяет элемент , называемый "age" с ограничением. Значение возраста не может быть ниже, чем 0 или больше, чем 120:

<xs:element name="age">
  <xs:simpleType>
    <xs:restriction base="xs:integer">
      <xs:minInclusive value="0"/>
      <xs:maxInclusive value="120"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Ограничения на набор значений

Для того, чтобы ограничить содержимое элемента XML к набору допустимых значений, мы будем использовать перечисления ограничений.

В приведенном ниже примере определяет элемент под названием "car" с ограничением. Допустимыми значениями являются: Audi, Golf, BMW :

<xs:element name="car">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:enumeration value="Audi"/>
      <xs:enumeration value="Golf"/>
      <xs:enumeration value="BMW"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

В приведенном выше примере, возможно, также было написано так:

<xs:element name="car" type="carType"/>

<xs:simpleType name="carType">
  <xs:restriction base="xs:string">
    <xs:enumeration value="Audi"/>
    <xs:enumeration value="Golf"/>
    <xs:enumeration value="BMW"/>
  </xs:restriction>
</xs:simpleType>

Note: В этом случае тип "carType" может быть использован другими элементами , так как он не является частью "car" элемента.


Ограничения на ряд значений

Для того, чтобы ограничить содержимое элемента XML, чтобы определить ряд цифр или букв, которые могут быть использованы, мы будем использовать шаблон ограничения.

В приведенном ниже примере определяет элемент под названием "letter" с ограничением. Единственным допустимым значением является одним из строчных букв от А до Я:

<xs:element name="letter">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[a-z]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Следующий пример определяет элемент под названием "initials" с ограничением. Единственное приемлемое значение три из заглавных букв, от А до Я:

<xs:element name="initials">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[A-Z][A-Z][A-Z]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Следующий пример также определяет элемент под названием "initials" с ограничением. Единственным допустимым значением является три из строчных букв или заглавными буквами от А до Я:

<xs:element name="initials">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[a-zA-Z][a-zA-Z][a-zA-Z]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Следующий пример определяет элемент , называемый "choice" с ограничением. Единственным допустимым значением является одним из следующих букв: х, у, г ИЛИ:

<xs:element name="choice">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[xyz]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Следующий пример определяет элемент под названием "prodid" с ограничением. Единственным допустимым значением является пять цифр в последовательности, и каждая цифра должна быть в диапазоне от 0 до 9:

<xs:element name="prodid">
  <xs:simpleType>
    <xs:restriction base="xs:integer">
      <xs:pattern value="[0-9][0-9][0-9][0-9][0-9]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Другие ограничения на ряд значений

В приведенном ниже примере определяет элемент под названием "letter" с ограничением. Допустимое значение ноль или более вхождений строчных букв от А до Я:

<xs:element name="letter">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="([a-z])*"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Следующий пример также определяет элемент под названием "letter" с ограничением. Приемлемое значение представляет собой одну или несколько пар букв, каждая пара, состоящая из строчной буквы, за которым следует заглавной буквы. Например, "sToP" будет подтверждено этой модели, но не "Stop" или "STOP" или "stop" :

<xs:element name="letter">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="([a-z][A-Z])+"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Следующий пример определяет элемент под названием "gender" с ограничением. Единственное приемлемое значение мужского или женского пола:

<xs:element name="gender">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="male|female"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Следующий пример определяет элемент с именем "password" с ограничением. Там должно быть ровно восемь символов в строке, и эти символы должны быть строчными или прописными буквами от А до Я, или число от 0 до 9:

<xs:element name="password">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[a-zA-Z0-9]{8}"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Ограничения на пробельных символов

Чтобы указать, как пробельные символы должны быть обработаны, мы будем использовать пробельные ограничение.

Этот пример определяет элемент под названием "address" с ограничением. WHITESPACE ограничение устанавливается на "preserve" , что означает , что процессор XML не будет удалять любые символы пробелов:

<xs:element name="address">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:whiteSpace value="preserve"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Этот пример также определяет элемент под названием "address" с ограничением. WHITESPACE ограничение устанавливается на "replace" , что означает , что процессор XML заменяет все пробельные символы ( перевода строки, табуляции, пробелы и возврата каретки) с пробелами:

<xs:element name="address">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:whiteSpace value="replace"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Этот пример также определяет элемент под названием "address" с ограничением. WHITESPACE ограничение устанавливается на "collapse" , что означает , что процессор XML удалит все символы пробелов ( перевода строки, табуляции, пробелы, символы возврата каретки заменяются пробелами, начальные и конечные пробелы удаляются, а несколько пробелов сводится к единое пространство):

<xs:element name="address">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:whiteSpace value="collapse"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Ограничения по длине

Для того, чтобы ограничить длину значения в элементе, мы будем использовать длину, MAXLENGTH и MINLENGTH ограничений.

Этот пример определяет элемент , называемый "password" с ограничением. Значение должно быть ровно восемь символов:

<xs:element name="password">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:length value="8"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Этот пример определяет еще один элемент , называемый "password" с ограничением. Значение должно быть не менее пяти символов и не более восьми символов:

<xs:element name="password">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:minLength value="5"/>
      <xs:maxLength value="8"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Ограничения для Datatypes

скованность Описание
enumeration Определяет список допустимых значений
fractionDigits Задает максимальное количество знаков после запятой допускается. Должно быть равно или больше нуля
length Определяет точное число символов или элементов списка разрешенных. Должно быть равно или больше нуля
maxExclusive Определяет верхние границы для числовых значений (значение должно быть меньше этого значения)
maxInclusive Определяет верхние границы для числовых значений (значение должно быть меньше или равно этому значению)
maxLength Задает максимальное число символов или элементов списка разрешенных. Должно быть равно или больше нуля
minExclusive Задает нижние границы для числовых значений (значение должно быть больше, чем это значение)
minInclusive Задает нижние границы для числовых значений (значение должно быть больше или равно этому значению)
minLength Задает минимальное количество символов или элементов списка разрешенных. Должно быть равно или больше нуля
pattern Определяет точную последовательность символов, которые являются приемлемыми
totalDigits Определяет точное число цифр, разрешенных. Должно быть больше нуля
whiteSpace Определяет, как белое пространство (каналы линии, вкладки, пробелы и возврат каретки) обрабатывается