假设有一系列项目,并且需要创建包含这些数据项目的报告。 我们将使用基本的XQuery FLWOR表达式来迭代序列中的每个数据项目。 FLWOR表达式的五个部分是: for - 指定要选择的序列中的项目(可选) let - 用于创建返回中使用的临时名称(可选) where - 限制项目返回(可选) order - 更改结果的顺序(可选) return - 指定返回数据的结构(必需) 假设有一个样本文
这个示例用于运行测试XQuery程序执行环境是否正常工作。 执行上面示例代码,得到以下结果 - 该程序创建一个名为的临时变量,并为其分配一个字符串值。 输出是一个XML元素,包含一个包含变量值的消息元素。 也可以使用序列化选项来定义序列化和输出媒体类型,从而使XQuery返回纯文本。 例如,要将消息作为文本输出,请将序列化指定为文本,将指定为。
元素可以定义为。 在这种情况下,它只能包含属性但不包含文本。 DTD声明 元素只能包含属性但不包含文本: 有效的文档 以下这两种形式都是允许的。在第二种情况下,结束标记必须紧跟在起始标记之后: 含有错误的文档 元素不能包含任何文本,并且必须立即关闭起始标记:
如果隐含属性,则可以在未使用该属性时为该情况提供默认值。 DTD声明 这两个属性都是隐含的。它们的默认值是: 有效的文档 属性的值是,它的只能是:或。 月份值为:,和:
允许属性值可以在中定义。 DTD声明 下面声明精确地指出允许的值: 有效的文档 所有值都以DTD给出: 有错误的文件 如下文档中,属性不能具有值 - ,属性不能具有值 - :
属性的值必须与文档中某些属性的值匹配。 属性的值可以包含对具有以空格分隔的属性的元素的多个引用。 DTD声明 属性和唯一地确定元素。 属性引用这些元素: 有效的文档 所有值都是唯一的,所有和都指向具有相关ID的元素: 无效的文档 没有属性,带有引用或属性: 元素中的属性的类型为。 它只能包含一个引用:
类型属性的值只能包含允许的字符,并且必须以字母开头。没有元素类型可能指定了多个属性。 属性的值在所有属性的所有值之间必须是唯一的。 DTD声明 属性,和唯一地确定它们的元素: 有效文档 所有ID值都是唯一的: 属性列表和的类型为而不是。 因此,它们可以具有与属性相同的值,或者在多个元素中具有相同的值: 无效的文档 属性不能以数字开头或包含中不允许的字符: 属性必须具有唯一值: 属性必须具有唯一值。
如果类型的属性符合良好形成约束,则它可以包含任何字符。 类型只能包含字母,数字和点,连字符,下划线和冒号。 可以包含与加上空格相同的字符。 空格由一个或多个空格字符,回车符,换行符或制表符组成。 DTD声明 必须始终存在属性和,属性是可选的: 有效的文档 存在所有必需属性,其值的类型正确: 示例代码2 - 无效文档 和类型的属性中不允许使用字符: 类型的属性中禁止使用空格字符:
属性用于将名称-值对与元素相关联。 属性规范可能仅出现在和empty-标记中。 声明以开头,后跟属性所属元素的名称,再后跟各个属性的定义。 DTD 如果类型的属性符合良好形成约束,则它可以包含任何字符。 必须始终显示必需属性,隐含属性是可选的: 有效的文档 属性可以包含符合良构性约束的任何字符: 属性的顺序并不重要: 可以省略属性,因为它默示: 无效的文档 属性是必需的。 因此必须始终存在:
文本可以穿插元素。 DTD声明 元素可以包含或。 另一方面,元素可以包含文本和元素的任何组合: 有效的文档 有效的文件有几种可能性: 无效的文档 元素不能包含任何文本:
使用带字符,可以从几个元素中选择一个。 DTD定义 根元素必须包含一个元素,后跟一个元素。 元素必须包含一个元素,后跟元素。 元素必须包含一个元素或一个元素: 有效的文档 下面是一个有效的文档 - 下面是另一个有效的文档 - 有错误的文件 元素可以包含元素或,但不能同时包含: 上面示例代码中,因为同时包含元素和,所以是错误的。 元素可以包含元素或,但不能同时包含:
在这个示例中,将演示如何使用的组合。 DTD 根元素可以包含一个元素,后跟一个或多个元素。 元素可以包含一个元素和几个元素。 元素必须只能包含一个元素和一个元素: 有效的文档 下面是一个有效的文档示例 - 中的子元素不是强制性的: 元素也可以省略: 无效的文档 元素必须包含元素和: 元素最多可以包含一个元素:
如果DTD中的元素名称后跟问号,则此元素可以出现零次或一次。 DTD 根元素可以包含一个元素,它后跟一个元素。 元素必须始终存在: 有效文件 下面是一个有效的文档 - 元素不是强制性的: 有错误的文件 元素缺失: 最多可以在文档中出现一个元素: 元素必须在元素之后:
如果DTD中的元素名称后跟加号,则此元素可以出现一次或多次。 DTD 根元素必须包含一个或多个元素,后面恰好只跟一个元素。 元素必须始终存在: 有效文档 下面是一个有效的文档 - 文档中可能出现几个元素: 有错误的文件 元素和缺失: 必须至少存在一个元素: 元素必须在元素之后: 元素不得在元素之后:
如果DTD中的元素名称后跟星号,则此元素可以出现零次,一次或多次。 DTD 根元素可以包含零个或多个元素,后前恰好只跟一个元素。 元素必须始终存在: 有效文档 以下是一个有效文档 - 下面也是一个有效文档。 元素不是强制性的: 文档中可能出现几个元素: 有错误的文件 元素缺失: 元素必须在元素之后: 元素不得在元素之后: