首页 > 解决方案 > xQuery 中的元素构造函数是什么?

问题描述

我正在阅读一本关于 xQuery的书 ,它充满了元素构造函数之类的表达式......我的问题是:

什么是元素构造函数,“ {<expression>}”是元素构造函数吗?

标签: xquery

解决方案


元素构造函数创建一个元素。在 XQuery 中有几种方法可以做到这一点。

花括号标记XQuery中封闭表达式{}的开始和结束。由于您可以使用文字 XML 和计算表达式,因此花括号表示您何时离开静态上下文并进入动态构造。类似于您将如何使用JSP 指令。<%@ page ... %>

使用直接元素构造函数,您可以使用 XML 语法创建静态 XML 结构。

例如:

  <book isbn="isbn-0060229357">
    <title>Harold and the Purple Crayon</title>
  </book>

使用计算元素构造函数、元素节点和内容,可以从元素名称及其内容的表达式生成动态 XML 结构。

例如:

element book {
  attribute { "isbn" } { "isbn-0060229357" },
  <title>Harold and the Purple Crayon</title>
}

您还可以使用表达式来计算元素名称:

element { fn:concat("bo", "ok") } {
  attribute { "isbn" } { "isbn-0060229357" },
  <title>Harold and the Purple Crayon</title>
}

推荐阅读