我正在读book about xQuery,上面充满了 element构造子 ...之类的表达式,我的问题是:
什么是元素构造函数?“ {<expression>}
”是元素构造函数吗?
答案 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,并且其中有很多示例。