Читать «Java 7 (Наиболее полное руководство)» онлайн - страница 460
Ильдар Шаукатович Хабибуллин
Элемент notation описания DTD выделен как отдельный простой тип схемы XML. Его используют для записи математических, химических и других символов, нот, азбуки Брайля и прочих обозначений.
Определение простых типов
В схемах XML с помощью встроенных типов можно тремя способами определить новые типы простых элементов. Они вводятся как
Простой тип определяется компонентом схемы <simpleType>, имеющим вид:
<xsd:simpleType name="nw^
Сужение
Сужение простого типа определяется компонентом <restriction>, в котором атрибут base указывает сужаемый простой тип, а в теле задаются ограничения, выделяющие определяемый простой тип. Например, почтовый индекс zip можно задать как шесть арабских цифр следующим образом:
<xsd:simpleType name="zip">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[0-9]{6}" />
</xsd:restriction>
</xsd:simpleType>
Можно дать другое определение простого типа zip как целого положительного числа, находящегося в диапазоне от 100 000 до 999 999:
<xsd:simpleType name="zip">
<xsd:restriction base="xsd:positiveInteger">
<xsd:minInclusive value="100000" />
<xsd:maxInclusive value="999999" />
</xsd:restriction>
</xsd:simpleType>
Теги <pattern>, <maxinclusive> и другие теги, задающие ограничения, называются
□ <maxExclusive> — наибольшее значение, оно уже не входит в определяемый тип;
□ <maxinclusive> — наибольшее значение определяемого типа;
□ <minExclusive> — наименьшее значение, уже не входящее в определяемый тип;
□ <mininclusive> — наименьшее значение определяемого типа;
□ <totalDigits> — общее количество цифр в определяемом числовом типе — сужении типа decimal;
□ <fractionDigits> — количество цифр в дробной части числа;
□ <length> — длина значений определяемого типа;
□ <maxLength> — наибольшая длина значений определяемого типа;
□ <minLength> — наименьшая длина значений определяемого типа;
□ <enumeration> — одно из перечисляемых значений;
□ <pattern> — регулярное выражение [8];
□ <whiteSpace> — применяется при сужении типа string и определяет способ преобразования пробельных символов '\n', '\r', '\t'. Атрибут value этого тега принимает одно из трех значений:
• preserve — не убирать пробельные символы;
• replace — заменить пробельные символы пробелами;
• collapse — после замены пробельных символов пробелами убрать начальные и конечные пробелы, а из нескольких подряд идущих пробелов оставить только один.
В тегах-фасетках можно записывать следующие атрибуты, называемые
□ ordered — задает упорядоченность определяемого типа, принимает одно из трех значений:
• false — тип неупорядочен;
• partial — тип частично упорядочен;
• total — тип полностью упорядочен;