Поделиться через


Аспекты типов данных

У простых типов (как встроенных, так и производных) есть аспекты. Аспектом называется часть определения, служащая для задания набора значений простого типа. Например, аспекты length, minInclusive и maxInclusive часто встречаются во встроенных типах данных. Все аспекты простого типа в совокупности определяют набор допустимых значений этого простого типа.

Аспект задается элементом. Каждый элемент facet имеет атрибут fixed со значением логического типа. При определении простого типа можно запретить создание производных от него типов, задав значения определенных аспектов. Чтобы запретить изменение аспекта, к нему нужно добавить атрибут fixed и задать для этого атрибута значение true.

В определении типа аспекты могут появляться только один раз, за исключением аспектов enumeration и pattern. Аспекты enumeration and pattern допускают несколько вхождений, группируемых вместе.

Пример

В данном примере показан простой тип с атрибутом fixed, для которого задано значение true: это запрещает атрибуту длины иметь значение, отличное от 7.

Список ограничивающих аспектов

Ниже перечислены ограничивающие аспекты (те, которые применяются для ограничения значений простых типов), их описания и встроенные типы данных, к которым они применяются.

  • enumeration
    Заданный набор значений. Ограничивает тип данных определенными значениями. Дополнительные сведения см. в документе «Рекомендация W3C по схемам XML, часть 2: типы данных» по адресу http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-enumeration.
  • fractionDigits
    Значение, у которого задано максимально допустимое число десятичных разрядов в дробной части. Дополнительные сведения см. в документе «Рекомендация W3C по схемам XML, часть 2: типы данных» по адресу http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-fractionDigits.
  • length
    Число единиц длины. Единицы длины зависят от типа данных. Это значение должно иметь тип nonNegativeInteger. Дополнительные сведения см. в документе «Рекомендация W3C по схемам XML, часть 2: типы данных» по адресу http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-length.
  • maxExclusive
    Верхняя граница (все значения типа должны быть меньше данного значения). Это значение должно иметь тот же тип данных, что и унаследованный тип данных. Дополнительные сведения см. в документе «Рекомендация W3C по схемам XML, часть 2: типы данных» по адресу http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-maxExclusive.
  • maxInclusive
    Максимальное значение. Это значение должно иметь тот же тип данных, что и унаследованный тип данных. Дополнительные сведения см. в документе «Рекомендация W3C по схемам XML, часть 2: типы данных» по адресу http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-maxInclusive.
  • maxLength
    Максимальное число единиц длины. Единицы длины зависят от типа данных. Это значение должно иметь тип nonNegativeInteger. Дополнительные сведения см. в документе «Рекомендация W3C по схемам XML, часть 2: типы данных» по адресу http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-maxLength.
  • minExclusive
    Нижняя граница (все значения типа должны быть больше данного значения). Это значение должно иметь тот же тип данных, что и унаследованный тип данных. Дополнительные сведения см. в документе «Рекомендация W3C по схемам XML, часть 2: типы данных» по адресу http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-minExclusive.
  • minInclusive
    Минимальное значение. Это значение должно иметь тот же тип данных, что и унаследованный тип данных. Дополнительные сведения см. в документе «Рекомендация W3C по схемам XML, часть 2: типы данных» по адресу http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-minInclusive.
  • minLength
    Минимальное число единиц длины. Единицы длины зависят от типа данных. Это значение должно иметь тип nonNegativeInteger. Дополнительные сведения см. в документе «Рекомендация W3C по схемам XML, часть 2: типы данных» по адресу http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-minLength.
  • pattern
    Определенный шаблон, которому должны соответствовать значения типа. Ограничивает тип данных литералами, соответствующими определенному шаблону. Значением шаблона должно быть регулярное выражение. Дополнительные сведения см. в документе «Рекомендация W3C по схемам XML, часть 2: типы данных» по адресу http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-pattern.
  • totalDigits
    Значение, у которого задано максимально допустимое число десятичных разрядов. Дополнительные сведения см. в документе «Рекомендация W3C по схемам XML, часть 2: типы данных» по адресу http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-totalDigits.
  • whiteSpace
    Аспект принимает одно из трех значений: preserve, replace и collapse. У большинства числовых типов данных аспект whiteSpace менять нельзя. Дополнительные сведения см. в документе «Рекомендация W3C по схемам XML, часть 2: типы данных» по адресу http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-whiteSpace.

    preserve

    Нормализация не производится; значения содержимого элемента не меняются, в соответствии с Рекомендациями W3C по языку XML 1.0

    replace

    Все вхождения символов #x9 (символ табуляции), #xA (символ новой строки) и #xD (возврат каретки) заменяются символом #x20 (пробел).

    collapse

    После обработки, аналогичной той, которая производится при значении replace, последовательности из нескольких пробелов (#x20) заменяются одним пробелом (#x20); начальные и завершающие пробелы удаляются.

См. также

Справочник

Справочник по типам данных XML
Примитивные типы данных XML
Производные типы данных XML