Типы
После публикации нашей предыдущей статьи поменялись некоторые обозначения типов. Вместо того чтобы воспользоваться BNF, ограничимся рядом примеров:
| xs:integer? | Последовательность из одного или более целых значений |
| element()+ | Последовательность из одного или более элементов |
| node()* | Последовательность из одного или более узлов |
| item()+ | Один или несколько айтемов (узлов или атомарных значений) |
| item()+ | Атрибут (одиночный) с любым именем и типом |
| element (myco:address) |
Элемент с именем myco:address |
| element (*, myco:addrType) |
Элемент с любым именем и типом myco:addrType |
| schema-element(zip) | Элемент с именем zip (или в группе постановок с заголовком zip) с аннотацией типа, соответствующей типу элемента zip |
Обозначение типа можно использовать следующим образом: //employee [* instance of element (*, myco:addrType) ]
В ранних версиях XQuery допускались ссылки на элементы и атрибуты, локально объявленные в схеме, но эта возможность была исключена.