Основной целый тип integer понимается как подтип типа decimal, содержащий числа с нулевым порядком. Это целые числа с любым количеством десятичных цифр: -34567, 123456789012345 и так далее.
Типы long, int, short и byte понимаются как подтипы типа integer, типы более коротких чисел считаются подтипами более длинных чисел: тип byte — это подтип типа short, оба они подтипы типа int, и так далее.
Типы nonPositivelnteger и negativeInteger— подтипы типа integer — составлены из неположительных и отрицательных чисел соответственно с любым количеством цифр.
Типы nonNegativeinteger и positiveInteger— подтипы типа integer — составлены из неотрицательных и положительных чисел соответственно с любым количеством цифр.
У типа nonNegativeInteger есть подтипы без знаковых целых чисел: unsignedLong, unsignedInt, unsignedShort и unsignedByte.
Строки символов
Основной символьный тип string описывает произвольную строку символов Unicode.
Тип normalizedString — подтип типа string — это строки, не содержащие символы перевода строки '\n’, возврата каретки '\r' и символы горизонтальной табуляции ‘\t'.
В строках типа token — подтипа типа normaiizedstring — нет, кроме того, начальных и завершающих пробелов и нет нескольких подряд идущих пробелов.
|
|
В типе token выделены три подтипа. Подтип language определен для записи названия языка согласно RFC 1766, например, ru, en, de, fr. Подтип NMTOKEN используется только в атрибутах для записи их перечисляемых значений. Подтип name составляют имена XML — последовательности букв, цифр, дефисов, точек, двоеточий, знаков подчеркивания, начинающиеся с буквы (кроме зарезервированной последовательности букв Х, х, М, m, L, l в любом сочетании регистров) или знака подчеркивания. Двоеточие в значениях типа name используется для выделения префикса пространства имен.
Из типа name выделен подтип NCName (Non-Colonized Name) имен, не содержащих двоеточия, в котором, в свою очередь, определены три подтипа ID, ENTITY, IDREF, описывающие идентификаторы XML, сущности и перекрестные ссылки.