xQuery中的元素构造函数是什么?

时间:2018-07-02 09:23:35

标签: xquery

我正在读book about xQuery,上面充满了 element构造子 ...之类的表达式,我的问题是:

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

2 个答案:

答案 0 :(得分:4)

元素构造函数创建一个元素。在XQuery中,您可以通过多种方式进行操作。

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

通过direct element constructor,您可以使用XML语法创建静态XML结构。

例如:

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

使用computed element constructor,元素节点和内容,并可以从表达式中生成元素名称及其内容的动态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>
}

答案 1 :(得分:1)

我很惊讶一本书应该使用该术语而不作解释,但是您的下一个调用端口应该是W3C XQuery规范

https://www.w3.org/TR/xquery-31/#id-constructors

与许多语言规范不同,XQuery规范旨在被普通用户阅读,前提是您可以遵循BNF,并且其中有很多示例。