XQuery 核心术语速查表(2025 最新版,必背 50 个)
| 类别 | 术语(英文) | 中文解释 | 必知度 |
|---|
| 语言基础 | Sequence | 序列:XQuery 里一切都是序列(可含 0/1/多个节点或原子值) | ★★★★★ |
| Item | 序列里的单个成员(可以是节点或原子值) | ★★★★★ |
| Atomization | 原子化:把节点提取成原子值(如 data()) | ★★★★ |
| Node | 节点(元素、属性、文本、注释、处理指令等 7 种) | ★★★★★ |
| Context Item | 当前上下文项(. 代表的就是它) | ★★★★★ |
| Focus | 当前迭代上下文(for 表达式里自动维护) | ★★★★ |
| Variable | 变量(必须以 $ 开头,绑定后不可变) | ★★★★★ |
| 表达式 | FLWOR | For-Let-Where-Order by-Return(XQuery 核心) | ★★★★★ |
| Path Expression | XPath 路径表达式(/ 和 // 开头) | ★★★★★ |
| Predicate | 谓词(方括号 [] 里的过滤条件) | ★★★★★ |
| Axis | 轴(child::、descendant::、attribute::、self::、parent:: 等) | ★★★★ |
| Node Test | 节点测试(name()、text()、element()、node() 等) | ★★★★ |
| 函数相关 | Higher-order Function | 高阶函数(可以把函数当参数或返回值,3.1 引入) | ★★★★ |
| Arrow Operator (=>) | 箭头操作符,链式调用函数(XQuery 3.1) | ★★★★ |
| Partial Function Application | 部分函数应用(functx:partial-apply、?1 ?2 占位符) | ★★★ |
| 数据类型 | Map | 映射(类似 JSON 对象,map { “key”: “value” }) | ★★★★ |
| Array | 数组(array { 1, 2, 3 }) | ★★★★ |
| JSON | XQuery 3.1 原生支持 parse-json()、serialize(…, map{‘method’:’json’}) | ★★★★ |
| 查询输入 | doc() | 加载单个 XML 文件(返回文档节点) | ★★★★★ |
| collection() | 加载一个集合(文件夹或数据库集合) | ★★★★★ |
| json-doc() | 直接加载 JSON 文件(返回 map/array) | ★★★★ |
| 输出相关 | Serialization | 序列化(控制输出格式:XML、HTML、JSON、text 等) | ★★★★ |
| output:method | 声明序列化方式(xml、html、xhtml、json、text、adaptive) | ★★★★ |
| 更新 | XQuery Update Facility (XQUF) | 更新扩展(insert、delete、replace、rename) | ★★★★ |
| copy-modify-return | 更新语法的标准写法 | ★★★★ |
| 其他重要 | Effective Boolean Value (EBV) | 有效布尔值(决定 if() 和 where 里真假的规则) | ★★★★ |
| Dynamic Function Call | 动态函数调用(invoke($func, $args)) | ★★★ |
| Static Typing | 静态类型检查(declare %public function … as 类型) | ★★★ |
| Pragma | 编译指令((# pragma-name 参数 #){ … }) | ★★ |
| Option | 选项声明(declare option output:indent “yes”) | ★★★ |
最常考、面试必问的 Top 15 术语(记住这些就够日常用了)
- Sequence
- FLWOR
- Item / Node
- Context Item (.)
- doc() / collection()
- Axis & Node Test
- Predicate []
- let vs for 的区别
- Atomization / data()
- Map & Array (3.1)
- Arrow Operator =>
- parse-json() / json-doc()
- Serialization 参数
- copy-modify-return (更新)
- Effective Boolean Value
let 与 for 的本质区别(面试高频)
| 对比项 | for $x in 1 to 5 | let $x := 1 to 5 |
|---|
| 绑定次数 | 迭代 5 次,$x 每次一个值 | 只绑定 1 次,$x 是序列 (1,2,3,4,5) |
| return 执行次数 | 执行 5 次 | 执行 1 次 |
| 典型用途 | 逐行处理 | 分组、统计、避免重复计算 |
把上面表格背下来,基本所有 XQuery 面试、笔试、实际开发都够用了!
需要我出 30 道术语选择/填空/简答题立刻发你练手吗?随时说一声~