我正在读一本关于 xQuery 的书 ,它充满了像元素构造函数这样的表达式......我的问题是:
什么是元素构造函数?“ {<expression>}
”是元素构造函数吗?
元素构造函数创建一个元素。您可以通过多种方式在 XQuery 中执行此操作。
大括号标记XQuery 中封闭表达式{}
的开始和结束。由于您可以使用文字 XML 和计算表达式,因此大括号表示您何时离开静态上下文并进入动态构造。与 JSP 指令的使用方式类似。<%@ page ... %>
通过直接元素构造函数,您可以使用 XML 语法来创建静态 XML 结构。
例如:
<book isbn="isbn-0060229357">
<title>Harold and the Purple Crayon</title>
</book>
Run Code Online (Sandbox Code Playgroud)
使用计算元素构造函数、元素节点和内容,可以从元素名称及其内容的表达式生成动态 XML 结构。
例如:
element book {
attribute { "isbn" } { "isbn-0060229357" },
<title>Harold and the Purple Crayon</title>
}
Run Code Online (Sandbox Code Playgroud)
您还可以使用表达式来计算元素名称:
element { fn:concat("bo", "ok") } {
attribute { "isbn" } { "isbn-0060229357" },
<title>Harold and the Purple Crayon</title>
}
Run Code Online (Sandbox Code Playgroud)