13.8 构造器
构造器用于在XQuery查询中构造XML结构,构造器可以构造元素、属性、文档、文本、注释和处理指令等6种类型的节点(只是不能构造命名空间节点)。XQuery提供了如下两种构造器:
直接构造:使用类XML声明进行构造。
计算构造:使用封闭表达式语法进行构造。
13.8.1 直接构造
直接构造使用类XML语法来创建元素和属性等XML节点,例如:
上面的表达式创建了一个<book…/>元素,该元素包含<title…/>和<author…/>两个子元素。
如果需要在直接构造中使用变量的值作为元素或属性的值,则可以使用花括号({})来括住变量部分,如下所示:
13.8.2 计算构造
XQuery还提供了另外一种方式来创建元素和属性等XML节点,这种方式采用封闭表达式来构造XML节点。XQuery提供了element、attribute、document、text、processing-instruction和comment等关键字用于创建元素、属性、文档、文本、处理指令和注释等节点。
例如:
上面的代码片段同样创建了一个<book…/>元素,该元素具有值为123456的isbn属性,且包含<title…/>和<author…/>两个子元素。