КаталогИндекс раздела
НазадСодержаниеВперед


Типизированные значения и строковые значения узлов

Каждый узел имеет типизированное значение и строковое значение. Эти два свойства узла используются в определениях некоторых операций (таких, как атомизация) и функций (таких, как fn:data, fn:string и fn:deep-equal) XQuery.

Таблица 1. Строковые значения и типизированные значения узлов

Вид узла Строковое значение Типизированное значение
Документ Экземпляр типа xs:string, который является конкатенацией всех вложенных текстовых узлов в порядке документа. Экземпляр типа xdt:untypedAtomic, который является конкатенацией всех вложенных текстовых узлов в порядке документа.
Элемент в документе, проверенном по схеме
  • Если проверка присвоила элементу простой тип данных, (такой, как xs:decimal) или тип, который имеет простое содержимое (такой, как тип "температура", содержимое которого - xs:decimal), строковое значение - строка, которая выражает значение элемента в исходном XML-документе.
  • Если проверка присвоила элементу тип, который позволяет ему иметь смешанное содержимое (и текст, и дочерние элементы), строковое значение - экземпляр типа xs:string, который является конкатенацией всех вложенных текстовых узлов в порядке документа.
  • Если проверка присвоила элементу тип, который не позволяет ему иметь содержимого (ни текст, ни дочерних элементов), строковое значение - пустая строка.
  • Если проверка присвоила элементу тип, который позволяет ему иметь только дочерние элементы, строковое значение элемента - конкатенация строковых значений всех вложенных текстовых узлов в порядке документа.
  • Если проверка присвоила элементу простой тип данных, (такой, как xs:decimal) или тип, который имеет простое содержимое (такой, как тип "температура", содержимое которого - xs:decimal), типизированное значение - результат преобразования строкового значения в простой тип, назначенный процессом проверки (например, в xs:decimal).
  • Если проверка присвоила элементу тип, который позволяет ему иметь смешанное содержимое (и текст, и дочерние элементы), типизированное значение - экземпляр типа xdt:untypedAtomic, который является конкатенацией всех вложенных текстовых узлов в порядке документа.
  • Если проверка присвоила элементу тип, который не позволяет ему иметь содержимого (ни текст, ни дочерних элементов), типизированное значение - пустая последовательность.
  • Если проверка присвоила элементу тип, который позволяет ему иметь только дочерние элементы, элемент не имеет типизированного значения, и попытка выбрать его типизированное значение ( например, функцией fn:data function) приведет к ошибке.
Элемент в непроверенном документе Экземпляр типа xs:string, который является конкатенацией всех вложенных текстовых узлов в порядке документа. Экземпляр типа xdt:untypedAtomic, который является конкатенацией всех вложенных текстовых узлов в порядке документа.
Атрибут в проверенном документе Экземпляр типа xs:string, который представояет значение атрибута в исходном XML-документе. Результат преобразования строкового значения в простой тип, назначенный процессом проверки Например, если при проверке атрибуту присвоен тип xs:decimal, его строковое значение может быть строкой "74.8" а его типизированное значение может быть десятичным числом 74.8.
Атрибут в непроверенном документе Экземпляр типа xs:string, который представляет значение атрибута в исходном XML-документе. Экземпляр типа xdt:untypedAtomic, который который представляет значение атрибута в исходном XML-документе.
Текст Содержимое как экземпляр типа xs:string. Содержимое как экземпляр типа xdt:untypedAtomic.
Комментарий Содержимое как экземпляр типа xs:string. Содержимое как экземпляр типа xs:string.
Инструкция обработки Содержимое как экземпляр типа xs:string. Содержимое как экземпляр типа xs:string.

НазадСодержаниеВперед
КаталогИндекс раздела