Аспекты типов данных
У простых типов (как встроенных, так и производных) есть аспекты. Аспектом называется часть определения, служащая для задания набора значений простого типа. Например, аспекты 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