课程大纲

XQuery 简介

  • 什么是 XQuery?
  • 路径表达式
  • FLWOR(for, let, where, order by, return)
  • 函数
  • 连接

XQuery 基础

  • XQuery 语言的设计
  • XQuery 的上下文
  • 处理查询
  • XQuery 数据模型
  • 类型
  • 命名空间

表达式

  • 表达式的类别
  • 关键字和名称
  • 查询中的空白
  • 字面量
  • 变量
  • 函数调用
  • 注释
  • 评估顺序
  • 比较表达式
  • "if-then-else" 表达式
  • "and/or" 表达式

路径

  • 路径表达式
  • 谓词
  • 动态路径
  • 输入文档
  • 上下文

构造器

  • 从输入文档中包含元素和属性
  • 直接构造器
  • 计算构造器

使用 FLWOR 进行选择和连接

  • 使用路径表达式进行选择
  • FLWOR 表达式
  • 量化表达式
  • 选择唯一值
  • 连接

排序和分组

  • XQuery 中的排序
  • 分组
  • 聚合值

函数

  • 内置函数
  • 用户定义函数

高级查询

  • 复制输入元素并进行修改
  • 处理位置和序列号
  • 组合结果
  • 使用中间 XML 文档

XML 命名空间

  • XQuery 和命名空间
  • 命名空间声明

类型

  • XQuery 类型系统
  • 内置类型
  • 类型、节点和原子值
  • XQuery 中的类型检查
  • 自动类型转换
  • 序列类型
  • 构造器和类型转换

序言和模块

  • 查询的结构:序言和主体
  • 从多个模块组装查询
  • 变量声明
  • 声明外部函数

使用模式

  • 什么是模式?
  • 为什么在查询中使用模式?
  • W3C XML 模式:简要概述
  • 作用域内的模式定义
  • 模式验证和类型分配
  • 序列类型和模式

静态类型

  • 什么是静态类型?
  • Typeswitch 表达式
  • Treat 表达式
  • 类型声明
  • zero-or-one、one-or-more 和 exactly-one 函数

查询设计原则

  • 查询设计:
    • 清晰性
    • 模块化
    • 鲁棒性
  • 错误处理
  • 性能

数字

  • 构造和比较数值
  • 算术运算
  • 数字函数

字符串

  • xs:string 类型
  • 构造、比较和操作字符串
  • 子字符串、长度
  • 连接和拆分字符串
  • 空白
  • 国际化

正则表达式

  • 正则表达式的结构
  • 表示单个字符
  • 表示任意字符
  • 表示字符组
  • 字符类表达式
  • 非贪婪量词
  • 锚点
  • 反向引用
  • 使用标志
  • 使用带有替换变量的子表达式

日期和时间类型

  • 提取日期、时间和持续时间的组件
  • 对日期、时间和持续时间使用算术运算符
  • 日期组件类型

限定名称

  • 处理限定名称
  • URI、ID

其他 XML 组件

  • 文档
  • 文本节点
  • 注释
  • PI(处理指令)
  • XML 实体
  • CDATA

XQuery 相关标准

  • XML 序列化
  • XQueryX
  • XQuery 更新功能
  • 全文搜索
  • XQJ - XQuery API for Java

实现特定功能

  • XML 版本
  • 设置查询上下文
  • 选项声明和扩展表达式
  • 序列化参数

XQuery vs. SQL

  • XML 数据 vs. 关系数据
  • SQL 语法 vs. XQuery 语法
  • SQL 和 XQuery

XQuery vs. XSLT

  • XQuery 和 XPath
  • XQuery vs. XSLT

要求

需要具备一些 XML 基础知识。对 XML 相关技术的深入了解有益,但不是必需的。

 14 小时

客户评论 (3)

即将举行的公开课程

课程分类