>サイトトップへ >このカテゴリの一覧へ

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

(1)

目  次

ページ

序文

1

1

  適用範囲

1

2

  引用規格

1

2.1

  JIS 及び ISO 規格

1

2.2

  その他の国際規格

2

3

  定義,表記法及び規約

3

3.1

  定義

3

3.2

  表記法

10

4

  概念

11

4.1

  データ型

11

4.2

  XML

12

4.3

  データ変換

17

4.4

  データ分析操作(表を含む)

18

4.5

  SQL 呼出しルーチン

18

4.6

  SQL 

18

4.7

  基本安全保護モデル

19

4.8

  SQL セション

19

4.9

  XML 名前空間

19

4.10

  対応付けの概要

20

5

  語彙要素

27

5.1

  <トークン>及び<分離符号>

27

5.2

  名前及び識別子

28

6

  スカラ式

29

6.1

  <データ型>

29

6.2

  <フィールド定義>

31

6.3

  <値式一次子>

31

6.4

  <CASE >

32

6.5

  <CAST 指定>

32

6.6

  <XMLCAST 指定>

35

6.7

  <値式>

41

6.8

  <データ列値関数>

43

6.9

  <XML 値式>

47

6.10

  <XML 値関数>

47

6.11

  <XMLCOMMENT 関数>

48

6.12

  <XML 連結>

49


X 3005-14

:2015 (ISO/IEC 9075-14:2011)  目次

(2)

ページ

6.13

  <XMLDOCUMENT 関数>

51

6.14

  <XMLELEMENT 関数>

52

6.15

  <XMLFOREST 関数>

56

6.16

  <XMLPARSE 関数>

58

6.17

  <XMLPI 関数>

59

6.18

  <XMLQUERY 関数>

61

6.19

  <XMLTEXT 関数>

66

6.20

  <XMLVALIDATE 関数>

67

7

  問合せ式

71

7.1

  <表参照>

71

7.2

  <問合せ式>

75

8

  述語

76

8.1

  <述語>

76

8.2

  <XML CONTENT 述語>

76

8.3

  <XML DOCUMENT 述語>

77

8.4

  <XMLEXISTS 述語>

78

8.5

  <XML VALID 述語>

79

9

  対応付け

82

9.1

  SQL<識別子>の XML Name への対応付け

82

9.2

  マルチパート SQL 名の XML Name への対応付け

84

9.3

  XML Name の SQL<識別子>への対応付け

85

9.4

  SQL データ型の XML Name への対応付け

86

9.5

  SQL データ型の XML スキーマデータ型への対応付け

89

9.6

  SQL データ型の名前付き XML スキーマデータ型への対応付け

106

9.7

  SQL データ型の集まりの XML スキーマデータ型への対応付け

108

9.8

  SQL データ型の値の XML スキーマデータ型の値への対応付け

109

9.9

  SQL 表の XML スキーマデータ型への対応付け

114

9.10

  SQL 表の XML 要素又は XML 要素の並びへの対応付け

117

9.11

  SQL 表の XML 及び XML スキーマ文書への対応付け

120

9.12

  SQL スキーマの XML スキーマデータ型への対応付け

125

9.13

  SQL スキーマの XML 要素への対応付け

128

9.14

  SQL スキーマの XML 文書及び XML スキーマ文書への対応付け

129

9.15

  SQL カタログの XML スキーマデータ型への対応付け

133

9.16

  SQL カタログの XML 要素への対応付け

135

9.17

  SQL カタログの XML 文書及び XML スキーマ文書への対応付け

137

10

  その他の共通規則

141

10.1

  取出し代入

141

10.2

  格納代入

142

10.3

  データ型組合せの結果

144


X 3005-14

:2015 (ISO/IEC 9075-14:2011)  目次

(3)

ページ

10.4

  型優先順序リスト決定

146

10.5

  型名決定

146

10.6

  同一値の決定

146

10.7

  等価な XML 値の決定

147

10.8

  等値性演算

149

10.9

  グループ化操作

149

10.10

  マルチ集合要素グループ化操作

149

10.11

  順序付け操作

150

10.12

  名前空間 URI の決定

150

10.13

  XML 要素の構成

152

10.14

  二つの XML 値の連結

154

10.15

  XML 値の直列化

154

10.16

  XML 値としての文字列の解析

158

10.17

  XQuery 並びからの XQuery 文書ノードの除去

160

10.18

  XML 値の写しの構成

161

10.19

  妥当性を検証していない XQuery 文書ノードの構成

162

10.20

  XQuery 式文脈の作成

162

10.21

  XQuery 形式的型表記法の決定

164

10.22

  XQuery の文書ノード又は要素ノードの妥当性検証

166

11

  その他の共通要素

167

11.1

  <ルーチン呼出し>

167

11.2

  <集約関数>

169

11.3

  <XML 字句的有効範囲化選択肢の並び>

171

11.4

  <XML RETURNING >

172

11.5

  <XML 受渡し手段>

173

11.6

  <XML 妥当 ACCORDING TO >

173

12

  スキーマ定義及びスキーマ操作

176

12.1

  <列定義>

176

12.2

  <検査制約定義>

177

12.3

  <列データ型句変更>

178

12.4

  <ビュー定義>

179

12.5

  <表明定義>

180

12.6

  <利用者定義型定義>

180

12.7

  <属性定義>

181

12.8

  <SQL 呼出しルーチン>

181

12.9

  <利用者定義型変換定義>

184

13

  SQL クライアントモジュール

184

13.1

  <外部呼出し手続>

184

13.2

  <SQL 手続文>

186


X 3005-14

:2015 (ISO/IEC 9075-14:2011)  目次

(4)

ページ

13.3

  データ型対応

186

14

  データ操作

188

14.1

  <FETCH >

188

14.2

  <SELECT 文:単一行>

189

14.3

  <DELETE 文:探索>

190

14.4

  <INSERT >

191

14.5

  <MERGE >

191

14.6

  <UPDATE 文:位置付け>

192

14.7

  <UPDATE 文:探索>

193

15

  制御文

193

15.1

  <複合文>

193

15.2

  <代入文>

194

16

  セション管理

195

16.1

  <SET XML OPTION >

195

17

  動的 SQL

196

17.1

  SQL 記述子領域の記述

196

17.2

  <入力 USING >

197

17.3

  <出力 USING >

197

17.4

  <PREPARE >

198

18

  埋込み SQL

199

18.1

  <SQL 埋込みホストプログラム>

199

18.2

  <SQL 埋込み Ada プログラム>

202

18.3

  <SQL 埋込み プログラム>

205

18.4

  <SQL 埋込み COBOL プログラム>

209

18.5

  <SQL 埋込み Fortran プログラム>

212

18.6

  <SQL 埋込み Pascal プログラム>

215

18.7

  <SQL 埋込み PL/I プログラム>

218

19

  診断管理

221

19.1

  <GET DIAGNOSTICS >

221

20

  情報スキーマ

222

20.1

  NCNAME 定義域

222

20.2

  URI 定義域

223

20.3

  ATTRIBUTES ビュー

223

20.4

  COLUMNS ビュー

223

20.5

  DOMAINS ビュー

224

20.6

  ELEMENT_TYPES ビュー

225

20.7

  FIELDS ビュー

225

20.8

  METHOD_SPECIFICATION_PARAMETERS ビュー

226

20.9

  METHOD_SPECIFICATIONS ビュー

226


X 3005-14

:2015 (ISO/IEC 9075-14:2011)  目次

(5)

ページ

20.10

  PARAMETERS ビュー

227

20.11

  ROUTINES ビュー

228

20.12

  XML_SCHEMA_ELEMENTS ビュー

230

20.13

  XML_SCHEMA_NAMESPACES ビュー

230

20.14

  XML_SCHEMAS ビュー

231

20.15

  短い名前のビュー

232

21

  定義スキーマ

236

21.1

  DATA_TYPE_DESCRIPTOR 実表

236

21.2

  PARAMETERS 実表

239

21.3

  ROUTINES 実表

240

21.4

  USAGE_PRIVILEGES 実表

241

21.5

  XML_SCHEMA_ELEMENTS 実表

242

21.6

  XML_SCHEMA_NAMESPACES 実表

242

21.7

  XML_SCHEMAS 実表

243

22

  SQL/XML XML スキーマ

244

22.1

  SQL/XML XML スキーマ

244

23

  状態コード

249

23.1

  SQLSTATE

249

24

  適合性

249

24.1

  SQL/XML に対する適合性の主張

249

24.2

  SQL/XML に対するその他の適合性要件

250

24.3

  SQL/XML の前提機能の関係

252

附属書 A(参考)SQL 適合性の要約

256

附属書 B(参考)処理系定義要素

287

附属書 C(参考)処理系依存要素

296

附属書 D(参考)削除予定機能

297

附属書 E(参考)ISO/IEC 9075:2008 との非互換性

298

附属書 F(参考)SQL の機能の分類

299

附属書 G(参考)JIS X 3005 (ISO/IEC 9075)  規格群のこの版で取り込まれていない欠陥報告

303

参考文献

304


X 3005-14

:2015 (ISO/IEC 9075-14:2011)  目次

(6)

まえがき

この規格は,工業標準化法に基づき,日本工業標準調査会の審議を経て,経済産業大臣が改正した日本

工業規格である。

これによって,JIS X 3005-14:2006 は改正され,この規格に置き換えられた。

この規格は,著作権法で保護対象となっている著作物である。

この規格の一部が,特許権,出願公開後の特許出願又は実用新案権に抵触する可能性があることに注意

を喚起する。経済産業大臣及び日本工業標準調査会は,このような特許権,出願公開後の特許出願及び実

用新案権に関わる確認について,責任はもたない。

JIS X 3005

の規格群には,次に示す部編成がある。

JIS

X

3005-1

第 1 部:枠組 (SQL/Framework)

JIS

X

3005-2

第 2 部:基本機能 (SQL/Foundation)

JIS

X

3005-13

第 13 部:Java プログラム言語を用いる SQL ルーチン及び型 (SQL/JRT)

JIS

X

3005-14

第 14 部:XML 関連仕様 (SQL/XML)

注記  この規格群に対応する国際規格 ISO/IEC

9075

には,上記の部のほかに,第 3 部:呼出しレベル

インタフェース (SQL/CLI),第 4 部:永続格納モジュール (SQL/PSM),第 9 部:外部データ管

理 (SQL/MED),第 10 部:オブジェクト言語結合 (SQL/OLB),第 11 部:情報スキーマ及び定

義スキーマ (SQL/ Schemata) もある。


日本工業規格

JIS

 X

3005-14

:2015

(ISO/IEC 9075-14

:2011

)

データベース言語 SQL

第 14 部:XML 関連仕様 (SQL/XML)

Information technology-Database languages-SQL-

Part 14: XML-Related Specifications (SQL/XML)

序文

この規格は,2011 年に第 4 版として発行された ISO/IEC 9075-14 を基に,技術的内容及び構成を変更す

ることなく作成した日本工業規格である。

なお,この規格で点線の下線を施してある参考事項は,対応国際規格にはない事項である。

1

適用範囲

この規格は,データベース言語 SQL を XML と一緒に用いる方法を規定する。

注記  この規格の対応国際規格及びその対応の程度を表す記号を,次に示す。

ISO/IEC 9075-14:2011

,Information technology−Database languages−SQL−Part 14: XML-Related

Specifications (SQL/XML)(IDT)

なお,対応の程度を表す記号“IDT”は,ISO/IEC Guide 21-1 に基づき,

“一致している”こ

とを示す。

2

引用規格

次に掲げる規格は,この規格に引用されることによって,この規格の規定の一部を構成する。これらの

引用規格のうちで,西暦年を付記してあるものは,記載の年の版を適用し,その後の改正版(追補を含む。

は適用しない。西暦年の付記がない引用規格は,その最新版(追補を含む。

)を適用する。

2.1

JIS

及び ISO 規格

[ISO9075-1]

JIS X 3005-1:2014

  データベース言語 SQL  第 1 部:枠組 (SQL/Framework)

注記  対応国際規格:ISO/IEC 9075-1:2011,Information technology−Database languages−SQL−Part

1: Framework (SQL/Framework)(IDT)

注記  [ISO9075-1]  のような,各引用規格の前に付加されている角括弧で囲んだ記号は,引用規格

を後で参照するために用いる記号である。

[ISO9075-2]

JIS X 3005-2:2015

  データベース言語 SQL  第 2 部:基本機能 (SQL/Foundation)

注記  対応国際規格:ISO/IEC 9075-2:2011,Information technology−Database languages−SQL−Part

2: Foundation (SQL/Foundation)(IDT)

[ISO10646]


2

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

JIS X 0221

  国際符号化文字集合 (UCS)

注記  対応国際規格:ISO/IEC 10646,Information technology−Universal Coded Character Set (UCS)

注記  JIS X 0221:2014 が,ISO/IEC 10646:2012 と一致(IDT)している。

2.2

その他の国際規格

[CanonicalXML]

(Recommendation) Canonical XML Version 1.0.

http://www.w3.org/TR/xml-c14n

[Infoset]

(Recommendation) XML Information Set.

http://www.w3.org/TR/xml-infoset

[Namespaces]

与えられた引用目的に対して,[Namespaces 1.0]  及び  [Namespaces 1.1]  の二つの間に重要な相違点が

ないときに,これらのいずれかを参照するために用いる。

[Namespaces 1.0]

(Recommendation) Namespaces in XML 1.0.

http://www.w3.org/TR/xml-names

注記  JIS X 4158:2005  XML 名前空間が,この勧告の First Edition に対応している。

[Namespaces 1.1]

(Recommendation) Namespaces in XML 1.1.

http://www.w3.org/TR/xml-names11

[RFC3986]

RFC 3986, Uniform Resource Identifier (URI): Generic Syntax, T. Berners-Lee, R. Fielding, L.Masinter.

http://www.ietf.org/rfc/rfc3986.txt

[Schema1]

(Recommendation) XML Schema Part 1: Structures.

http://www.w3.org/TR/xmlschema-1/

[Schema2]

(Recommendation) XML Schema Part 2: Datatypes.

http://www.w3.org/TR/xmlschema-2/

[Serialization]

(Recommendation) XSLT 2.0 and XQuery 1.0 Serialization.

http://www.w3.org/TR/xslt-xquery-serialization/

[Unicode]

The Unicode Consortium, The Unicode Standard. (Unicode 規格の最新版についての情報は,“Enumerated 
Versions of The Unicode Standard(Unicode 規格の版の列挙)”ページ上の“Latest Version(最新版)”リ

ンクを用いることによって見つけることができる。

http://www.unicode.org/versions/enumeratedversions.html

[Unicode15]

Davis, Mark and Dürst, Martin, Unicode Standard Annex #15: Unicode Normalization Forms, The Unicode

Consortium.


3

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

http://www.unicode.org/reports/tr15/

[UniXML]

(Note) Unicode in XML and Other Markup Languages.

http://www.w3.org/TR/unicode-xml/

[XML]

与えられた引用目的に対して,[XML 1.0]  及び  [XML 1.1]  の二つの間に重要な相違点がないときに,

これらのいずれかを参照するために用いる。[UniXML]  は,XML 中での文字の利用のための規則を

与える。

[XML 1.0]

(Recommendation) Extensible Markup Language (XML) Version 1.0.

http://www.w3.org/TR/xml

注記  JIS X 4159:2005  拡張可能なマーク付け言語 (XML) 1.0 が,この勧告の Third Edition に対応

している。

[XML 1.1]

(Recommendation) Extensible Markup Language (XML) Version 1.1.

http://www.w3.org/TR/xml11

[XPath]

(Recommendation) XML Path Language (XPath) Version 2.0.

http://www.w3.org/TR/xpath20

[XQuery]

(Recommendation) XQuery 1.0: an XML Query Language.

http://www.w3.org/TR/xquery/

[XQueryDM]

(Recommendation) XQuery 1.0 and XPath 2.0 Data Model.

http://www.w3.org/TR/xpath-datamodel/

[XQueryFO]

(Recommendation) XQuery 1.0 and XPath 2.0 Functions and Operators.

http://www.w3.org/TR/xpath-functions/

[XQueryFS]

(Recommendation) XQuery 1.0 and XPath 2.0 Formal Semantics.

http://www.w3.org/TR/xquery-semantics/

[XQueryUpdate]

(Candidate Recommendation) XQuery Update Facility 1.0, W3C Working Draft.

http://www.w3.org/TR/xquery-update-10/

3

定義,表記法及び規約

この箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“3  定義,表記法及び規約”を修正する。

3.1

定義

この細分箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“3.1  定義”を修正する。


4

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

3.1.1

XML

からの定義

この規格では,[XML]  で定義されている次の用語を用いる。

3.1.1.1

DTD (DTD)

3.1.1.2

整形式 (well-formed)

3.1.1.3

XML

宣言 (XML declaration)

3.1.1.4

XML

文書 (XML document)

3.1.2

XML

スキーマからの定義

この規格では,[Schema1]  及び/又は  [Schema2]  で定義されている次の用語を用いる。

3.1.2.1

付加情報 (annotation)

3.1.2.2

ファセット (facet)

3.1.2.3

値空間 (value space)

3.1.2.4

ワイルドカードスキーマ構成要素  (wildcard schema component)

3.1.2.5

XML

スキーマ (XML Schema)

3.1.3

第 14 部で規定する定義

この規格では,次の用語を定義する。

3.1.3.1

全グループ内容モデル  (all group content model)

[Schema1]

で規定される xs:all によって記述される XML スキーマ複合型の内容モデル。

3.1.3.2

正規 XML スキーマ定数  (canonical XML Schema literal)

[CanonicalXML]

に基づいて,[Schema2]  で規定される XML スキーマ型 XST の正規語彙表現。

注記 2  XST の値空間中の各値に対して一意な正規 XML スキーマ定数がある。

3.1.3.3

空の XQuery 並び (empty XQuery sequence)

[XQueryDM]

で規定される空の並び。

3.1.3.4

大域要素宣言スキーマ構成要素  (global element declaration schema component)

[Schema1]

で規定される大域要素宣言の要素宣言スキーマ構成要素。

3.1.3.5

メタデータ (metadata)

データについてのデータ。この規格では,JIS X 3005-2 (ISO/IEC 9075-2)  及びこの規格群の他の規格で


5

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

規定されるように,メタデータは,表記述子,列記述子などの中に含まれる。

3.1.3.6

順内容モデル  (sequence content model)

[Schema1]

で規定される xs:sequence によって記述される XML スキーマ複合型の内容モデル。

3.1.3.7

SQL

値空間 (SQL value space)

SQL の個々の<データ型>に対する全ての値の集合。

3.1.3.8

URI (URI)

[RFC3986]

で規定される一様資源識別子。

3.1.3.9

妥当 XML 文字  (valid XML character)

機能 X211“XML1.1 提供”が提供されるならば,妥当 XML1.1 文字。そうでなければ,妥当 XML1.0 文

字。

3.1.3.10

妥当 XML 1.0  文字  (valid XML 1.0 character)

[XML 1.0]

規則  [2]“Char”で規定される正しい文字。

3.1.3.11

妥当 XML 1.1  文字  (valid XML 1.1 character)

[XML 1.1]

規則  [2]“Char”で規定される正しい文字。

3.1.3.12

XML

属性 (XML attribute)

[XML]

で規定される属性。

3.1.3.13

XML

属性情報項目  (XML attribute information item)

[Infoset]

で規定される属性情報項目。

3.1.3.14

XML

文字情報項目 (XML character information item)

[Infoset]

で規定される文字情報項目。

3.1.3.15

XML

宣言 (XML declaration)

[XML]

で規定される XMLDecl。

3.1.3.16

XML

文書情報項目  (XML document information item)

[Infoset]

で規定される文書情報項目。

3.1.3.17

XML

要素 (XML element)

[XML]

で規定される要素。

3.1.3.18

XML

要素情報項目  (XML element information item)


6

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

[Infoset]

で規定される要素情報項目。

3.1.3.19

XML

情報項目  (XML information item)

[Infoset]

で規定される情報項目。

3.1.3.20

XML 1.0 Name (XML 1.0 Name)

[XML 1.0]

で規定される Name。

3.1.3.21

XML 1.1 Name (XML 1.1 Name)

[XML 1.1]

で規定される Name。

3.1.3.22

XML 1.0 NameChar (XML 1.0 NameChar)

[XML 1.0]

で規定される NameChar。

3.1.3.23

XML 1.1 NameChar (XML 1.1 NameChar)

[XML 1.1]

で規定される NameChar。

3.1.3.24

XML 1.1 NameStartChar (XML 1.1 NameStartChar)

[XML 1.1]

で規定される NameStartChar。

3.1.3.25

XML

名前空間 (XML namespace)

[Namespaces]

で規定される名前空間。

3.1.3.26

XML

名前空間接頭辞  (XML namespace prefix)

[Namespaces]

で規定される名前空間接頭辞。

3.1.3.27

XML 1.0 NCName (XML 1.0 NCName)

[Namespaces 1.0]

規則  [4]  で規定される NCName。

3.1.3.28

XML 1.1 NCName (XML 1.1 NCName)

[Namespaces 1.1]

規則  [4]  で規定される NCName。

3.1.3.29

XML 1.0 QName (XML 1.0 QName)

[Namespaces 1.0]

規則  [7]  で規定される QName。

3.1.3.30

XML 1.1 QName (XML 1.1 QName)

[Namespaces 1.1]

規則  [7]  で規定される QName。

3.1.3.31

XML 1.0 QName

接頭辞  (XML 1.0 QName prefix)

[Namespaces 1.0]

規則  [10]  で規定される Prefix。


7

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

3.1.3.32

XML 1.1 QName

接頭辞  (XML 1.1 QName prefix)

[Namespaces 1.1]

規則  [10]  で規定される Prefix。

3.1.3.33

XML 1.0 QName

局所部  (XML 1.0 QName local part)

[Namespaces 1.0]

規則  [11]  で規定される LocalPart。

3.1.3.34

XML 1.1 QName

局所部  (XML 1.1 QName local part)

[Namespaces 1.1]

規則  [11]  で規定される LocalPart。

3.1.3.35

XML

スキーマ組込みデータ型  (XML Schema built-in data type)

[Schema2]

で規定される組込みデータ型。

3.1.3.36

XML

スキーマ複合型  (XML Schema complex type)

[Schema1]

で規定される複合型定義によって定義される複合型。

3.1.3.37

XML

スキーマデータ型  (XML Schema data type)

[Schema2]

で規定されるデータ型。

3.1.3.38

XML

スキーマ文書  (XML Schema document)

[Schema1]

で規定されるスキーマ文書。

3.1.3.39

XML

スキーマ基本型  (XML Schema primitive type)

[Schema2]

で規定される基本型。

3.1.3.40

XML

スキーマ単純型  (XML Schema simple type)

[Schema2]

で規定される単純型定義によって定義される単純型。

3.1.3.41

XML

スキーマ型  (XML Schema type)

用語を互いに区別する必要がないときに,XML スキーマ組込みデータ型,XML スキーマ複合型,XML

スキーマデータ型及び XML スキーマ単純型をまとめて参照するために用いる用語。

3.1.3.42

XML

ターゲット名前空間 (XML target namespace)

[Schema1]

で規定されるターゲット名前空間。

3.1.3.43

XML

ターゲット名前空間 URI (XML target namespace URI)

XML ターゲット名前空間の URI。

3.1.3.44

XML

テキスト (XML text)

10.16 XML 値としての文字列の解析”で規定するテキスト XML1.0 内容又はテキスト XML1.1 内容の


8

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

部分文字列である文字列。

3.1.3.45

XML

値空間 (XML value space)

[Schema2]

で規定される値空間。

3.1.3.46

XQuery

アクセス機構 (XQuery accessor)

[XQueryDM]

で規定されるアクセス機構。

3.1.3.47

XQuery

基本単位型  (XQuery atomic type)

[XQueryDM]

で規定される基本単位型。

3.1.3.48

XQuery

基本単位値  (XQuery atomic value)

[XQueryDM]

で規定される基本単位値。

3.1.3.49

XQuery

属性ノード  (XQuery attribute node)

[XQueryDM]

で規定される属性ノード。

3.1.3.50

XQuery

コメントノード  (XQuery comment node)

[XQueryDM]

で規定されるコメントノード。

3.1.3.51

XQuery

日時正規化値  (XQuery datetime normalized value)

この用語が  [XQueryFO]  中で用いられ,[XQueryDM]  の“3.3.2  日付及び時刻 (Dates and Times)”で暗

に規定されているような,XML スキーマ型の xs:dateTimexs:datexs:time 又はこれらの型から

導出される任意の型の値の正規化値。

3.1.3.52

XQuery

日時時刻帯構成要素  (XQuery datetime timezone component)

この用語が  [XQueryFO]  中で用いられ,[XQueryDM]  の“3.3.2  日付及び時刻 (Dates and Times)”で暗

に規定されているような,XML スキーマ型の xs:dateTimexs:datexs:time 又はこれらの型から

導出される任意の型の値の時刻帯構成要素。

3.1.3.53

XQuery

文書ノード (XQuery document node)

[XQueryDM]

で規定される文書ノード。

3.1.3.54

XQuery

動的文脈  (XQuery dynamic context)

[XQuery]

で規定される動的文脈。

3.1.3.55

XQuery

要素ノード  (XQuery element node)

[XQueryDM]

で規定される要素ノード。

3.1.3.56

XQuery

誤り (XQuery error)


9

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

[XQuery]

で規定される静的誤り,型誤り又は動的誤り。

3.1.3.57

XML 1.0

語彙規則での XQuery 評価  (XQuery evaluation with XML 1.0 lexical rules)

[XQuery]

で規定される XML 1.0  語彙規則を用いて XQuery 式の値を決定する過程。

3.1.3.58

XML 1.1

語彙規則での XQuery 評価  (XQuery evaluation with XML 1.1 lexical rules)

[XQuery]

で規定される XML 1.1  語彙規則を用いて XQuery 式の値を決定する過程。

3.1.3.59

XQuery

式 (XQuery expression)

XML 1.0  語彙規則による XQuery 式,又は XML 1.1  語彙規則による XQuery 式。

3.1.3.60

XQuery

式文脈  (XQuery expression context)

[XQuery]

で規定される静的文脈及び動的文脈から成る式文脈。

3.1.3.61

XML 1.0

語彙規則での XQuery 式  (XQuery expression with XML 1.0 lexical rules)

[Namespaces  1.0]

を参照するものと解釈して

規則  [4]“NCName”及び規則  [7]“QName”を用いて,

[XQuery]の規則  [31]“Expr”で規定される式。

3.1.3.62

XML 1.1

語彙規則での XQuery 式  (XQuery expression with XML 1.1 lexical rules)

[Namespaces  1.1]

を参照するものと解釈して

規則  [4]“NCName”及び規則  [7]“QName”を用いて,

[XQuery]の規則  [31]“Expr”で規定される式。

3.1.3.63

XQuery

形式的型表記法  (XQuery formal type notation)

[XQueryFS]

規則  [24 (Formal)]“Type”で規定される形式的型表記法。

3.1.3.64

XQuery

項目 (XQuery item)

[XQueryDM]

で規定される項目。

3.1.3.65

XQuery

名前空間ノード  (XQuery namespace node)

[XQueryDM]

で規定される名前空間ノード。

3.1.3.66

XQuery

ノード (XQuery node)

[XQueryDM]

で規定されるノード。

3.1.3.67

XQuery

ノード識別性 (XQuery node identity)

[XQueryDM]

で規定されるノード識別性。

3.1.3.68

XQuery

ノード特性  (XQuery node property)

[XQueryDM]

で規定されるノード特性。


10

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

3.1.3.69

XQuery

処理命令ノード  (XQuery processing instruction node)

[XQueryDM]

で規定される処理命令ノード。

3.1.3.70

XQuery

並び (XQuery sequence)

[XQueryDM]

で規定される並び。

3.1.3.71

XQuery

直列化正規化  (XQuery serialization normalization)

[Serialization]

及び  [Unicode15]  で規定される正規化。

3.1.3.72

XQuery

静的文脈  (XQuery static context)

[XQuery]

で規定される静的文脈。

3.1.3.73

XQuery

テキストノード  (XQuery text node)

[XQueryDM]

で規定されるテキストノード。

3.1.3.74

XQuery

木構造 (XQuery tree)

[XQueryDM]

で規定される木構造。

3.1.3.75

XQuery

変数 (XQuery variable)

[XQuery]

で規定される変数。

3.2

表記法

この細分箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“3.2  表記法”を修正する。

【この段落を挿入する。

[XML][XPath][Namespaces][Schema1][Schema2][Infoset][XQuery]

を含む“2.2  その他の国際規格”で参照する規格の多くは,W3C (World Wide Web Consortium)  によって作

成され,保守される。W3C はこれらの国際規格を,

“勧告 (Recommendation)”と呼び,それらを W3C の

ウェブサイト(http://www.w3.org)に置いている。この規格で,W3C の勧告によって規定される値,型,

又は(広く考えられる)他のオブジェクトに言及するときはいつでも,そのオブジェクトは太字の固定ピ

ッチのフォントで示す(例えば,<xs

element>)。

【この段落を挿入する。

】同様に,規則中のテキスト変数が W3C の勧告によって規定されるオブジェク

トを示すとき,その変数を斜体で太字の固定ピッチのフォントで書く(例えば,FACETP

【この段落を挿入する。

】次のリストは,必ずしも全てではないが,W3C の勧告によって規定されるオ

ブジェクトの種類の多くを列挙している。

− XML テキスト。

− XML 値。

− XML 名前空間及び XML 名前空間接頭辞。

− XML スキーマ型。

− XQuery 型。

− XQuery ノード。

− XQuery ノード特性。


11

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

− XQuery 式。

− XQuery 関数。

− XQuery 変数。

− XQuery 形式的型表記法。

− XQuery 静的及び動的文脈。

【この段落を挿入する。

】一方,W3C によって規定されない機能又は様相をもつオブジェクトは,太字

にしない。例えば,W3C のオブジェクトは,ナルになり得ない。XML 型の値は,ナルであってもよいの

で,太字で表さない。もう一つの例として,登録 XML スキーマ(registered XML Schema)は,それに関

連する SQL の権限をもつ。さらに,W3C のオブジェクトを識別するために用いるときでさえも,SQL の

BNF 非終端記号に対しては,太字でない変数を用いる。

【この段落を挿入する。

】この規格は,SQL と W3C で規定するオブジェクトとの間のインタフェースを

規定する。このような場合,幾つかの値は,W3C オブジェクト及び SQL オブジェクトの両方であっても

よい。したがって,表記規約が完全な一貫性をもつことはあり得ない。特に,

(ナルであるというような

SQL だけの機能を太字でない値がもたないように決定されたという条件で)太字でない変数に太字の値を

代入すること,又は太字の変数に太字でない値を代入することが許される。太字の値と太字でない値とを

比較することも許される。

【この段落を挿入する。

】処理系は,XML テキストが与えられるときはいつでも,例えば,意味のない

空白又は改行を挿入又は削除した,等価な XML テキストで代用してもよい。

【この段落を挿入する。

】この規格では,<左角括弧>/<右角括弧>対が次の五つの文脈で現れる。

− BNF 生成規則の構成部分として。その中で,角括弧の対は,単一のまとまりとして扱われる省略可能

な一つ以上の非終端記号及び/又は終端記号を囲む。

−  コード例中。その中で,角括弧は,コードの一部としてそれ自体を表現する定数文字となる。

−  通常テキスト中。その中で,角括弧の対は,

2  引用規格”で引用される規格書を識別する語又は句を

囲む。

−  通常テキスト中。その中で,角括弧の対は,規格書中で規定され,参照がすぐ近くに現れる BNF 生成

規則の番号を識別する番号を囲む。

−  通常テキスト中。その中で,角括弧の対は,[Infoset]  で規定される特性の名前を識別する語又は句を

囲む。

【この段落を挿入する。

】この規格では,<左波括弧>/<右波括弧>対が次の三つの文脈で現れる。

− BNF 生成規則の構成部分として。その中で,波括弧の対は,単一のまとまりとして扱われる一つ以上

の非終端記号及び/又は終端記号を囲む。

−  コード例中。その中で,波括弧は,コードの一部としてそれ自体を表現する定数文字となる。

−  通常テキスト中。その中で,波括弧の対は,[Schema1]  で規定される特性の名前を識別する語又は句

を囲む。

4

概念

この箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“4  概念”を修正する。

4.1

データ型

この細分箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“4.1  データ型”を修正する。


12

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

4.1.1

既定義型の名前

この細分箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“4.1.2  既定義型の名前”を修正する。

【最初の段落の後に挿入する。

】SQL は,<キーワード>XML によって名前付けられる既定義データ型を

規定する。

【第 3 段落の後に挿入する。

−  デ

XML(DOCUMENT(UNTYPED))

XML(DOCUMENT(ANY))

XML(DOCUMENT(XMLSCHEMA)) , XML(CONTENT(UNTYPED)) , XML(CONTENT(ANY)) ,
XML(CONTENT(XMLSCHEMA))及び XML(SEQUENCE)は,XML 型  (XML type)  として参照する。XML

型の値を XML

値  (XML value)  と呼ぶ。

4.1.2

データ型の用語

この細分箇条は,JIS X 3005-2ISO/IEC 9075-2)の“4.1.4  データ型の用語”  を修正する。

【第 11 段落のリストを補う。

−  型 が S-順序付けならば,は,XML-

順序付け  (XML-ordered)  とする。ここで,は,XML 型から

成る集合とする。

4.2

XML

4.2.1

導入

XML の概念についてのより完全な記述は,“2  引用規格”に含まれる XML についての文書中にある。

4.2.2

XML

XML 型は,XML 型記述子によって記述される。XML 型記述子は,次の項目を含む。

−  データ型の名前 (XML)。

−  <主 XML 型修飾子>(DOCUMENT,CONTENT 又は SEQUENCE)によって記述される主 XML 型修

飾子(primary XML type modifier)

−  あるならば,<副 XML 型修飾子>(UNTYPED,ANY 又は XMLSCHEMA)によって記述される副 XML

型修飾子(secondary XML type modifier)

−  あるならば,示された登録 XML スキーマの登録 XML スキーマ記述子。

−  あるならば,示された XML 名前空間の XML 名前空間 URI。

−  あるならば,示された大域要素宣言スキーマ構成要素の XML NCName。

注記 3  “示された登録 XML スキーマ”,“示された XML 名前空間”及び“示された大域要素宣言スキ

ーマ構成要素”は,

11.6 <XML 妥当 ACCORDING TO 句>”で定義している。

主 XML 型 修 飾 子 が DOCUMENT で , か つ , 副 XML 型 修 飾 子 が UNTYPED の XML 型 は ,

XML(DOCUMENT(UNTYPED))  型と呼ぶ。

主 XML 型 修 飾 子 が DOCUMENT で , か つ , 副 XML 型 修 飾 子 が ANY の XML 型 は ,

XML(DOCUMENT(ANY))  型と呼ぶ。

主 XML 型修飾子が DOCUMENT で,かつ,副 XML 型修飾子が XMLSCHEMA の XML 型は,

XML(DOCUMENT(XMLSCHEMA))  型と呼ぶ。

注記 4 XML(DOCUMENT(XMLSCHEMA))

型の個数は,登録 XML スキーマの個数,それらの XML

スキーマ中の XML 名前空間の個数,及びそれらの XML 名前空間中の大域要素宣言スキーマ構

成要素の個数によって決まる。

主 XML 型修飾子が CONTENT で,かつ,副 XML 型修飾子が UNTYPED の XML 型は,XML(CONTENT

(UNTYPED))  型と呼ぶ。


13

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

主 XML 型修飾子が CONTENT で,かつ,副 XML 型修飾子が ANY の XML 型は,XML(CONTENT(ANY))

と呼ぶ。

主 XML 型修飾子が CONTENT で,

かつ,

副 XML 型修飾子が XMLSCHEMA の XML 型は,

XML(CONTENT

(XMLSCHEMA))  と呼ぶ。

注記 5 XML(CONTENT

(XMLSCHEMA))

型の個数は,登録 XML スキーマの個数,それらの XML ス

キーマ中の XML 名前空間の個数,及びそれらの XML 名前空間中の大域要素宣言スキーマ構成

要素の個数によって決まる。

主 XML 型修飾子が SEQUENCE の XML 型は,XML(SEQUENCE)  と呼ぶ。

<XML 値 式 > の 宣 言 型 を 決 定 す る と き , SQL 処 理 系 は , XML(DOCUMENT(UNTYPED))  及 び

XML(DOCUMENT(XMLSCHEMA))  型 の 代 わ り に XML(DOCUMENT(ANY))  型 を 用 い て も ,
XML(CONTENT(UNTYPED)),XML(CONTENT(XMLSCHEMA))  型及び XML(DOCUMENT(ANY))  型の代

わりに XML(CONTENT(ANY))  型を用いて,XML(CONTENT(ANY))  型の代わりに XML(SEQUENCE)  型

を用いてもよい。

注記 6  上記の置き換えは,推移的に適用できる。例えば,SQL 処理系は XML(DOCUMENT(UNTYPED))

型の代わりに XML(SEQUENCE)  型を用いてもよい。

4.2.3

XML

型の特性

XML

値  (XML value)  は,ナル値又は XQuery 並びのいずれかとする。

どの XML 値も,型 XML (SEQUENCE)  の値とする。

ナル値又は XQuery 文書ノードのいずれかであるどの XML 値も,XML(CONTENT(ANY))  の値とする。

次のいずれかであるどの XML 値も,型 XML(CONTENT(UNTYPED))  の値とする。

−  ナル値。

−  次の両方が真である XQuery 文書ノード である型 XML(CONTENT(ANY))  のナルでない値。

・  がルートである XQuery 木構造 に含まれるどの XQuery 要素ノードに対しても,type-name 特性

が xs:untyped であり,かつ,nilled 特性が false である。

・  に含まれるどの XQuery 属性ノードに対しても,type-name 特性が xs:untypedAtomic である。

次のいずれかであるどの XML 値も,XML スキーマ の登録 XML スキーマ記述子を含み,かつ,XML

名前空間 が指定されるならば の XML 名前空間 URI,又は大域要素宣言スキーマ構成要素 が指定さ

れ る な ら ば の XML 名 前 空 間 URI 及 び の XML NCName を 含 む , 型 記 述 子 を も つ 型

XML(CONTENT(XMLSCHEMA))  の値とする。

−  ナル値。

− XQuery 文書ノード がルートである XQuery 木構造 に含まれるどの XQuery 要素ノードも,次のう

ちの少なくとも一つに従って妥当であるような,である型 XML(CONTENT(ANY))  のナルでない値。

・ XML スキーマ S

・ XML スキーマ 中の XML 名前空間 N

・ XML スキーマ 中の大域要素宣言スキーマ構成要素 E

次のいずれかであるどの XML 値も,型 XML(DOCUMENT (ANY))  の値とする。

−  ナル値。

−  ただ一つの XQuery 要素ノード,0 個以上の XQuery コメントノード及び 0 個以上の XQuery 処理命令

ノードをもつ children 特性をもつ XQuery 文書ノードである XML(CONTENT(ANY))  型のナルでない

値。


14

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

次のいずれかであるどの XML 値も,型 XML(DOCUMENT (UNTYPED))  の値とする。

−  ナル値。

−  ただ一つの XQuery 要素ノード,0 個以上の XQuery コメントノード及び 0 個以上の XQuery 処理命令

ノードをもつ children 特性をもつ XQuery 文書ノードである XML(CONTENT(UNTYPED))  型のナルで

ない値。

次のいずれかであるどの XML 値も,XML スキーマ の登録 XML スキーマ記述子を含み,かつ,XML

名前空間 が指定されるならば の XML 名前空間 URI,又は大域要素宣言スキーマ構成要素 が指定さ

れるならば の XML 名前空間 URI 及び の XML NCName を含む,型記述子をもつ型 XML(DOCUMENT

(XMLSCHEMA))  の値とする。

−  ナル値。

−  次のうちの少なくとも一つに従って妥当である である型 XML(DOCUMENT(ANY))  のナルでない値。

・ XML スキーマ S

・ XML スキーマ 中の XML 名前空間 N

・ XML スキーマ 中の大域要素宣言スキーマ構成要素 E

4.2.4

XML

比較及び代入

次のうちのいずれかが真ならば,XML 型 の値は,XML 型 の格納場所に代入可能とする。

−  が XML(DOCUMENT(UNTYPED))  又は XML(CONTENT(UNTYPED))  のいずれかで,かつ,

XML(DOCUMENT(UNTYPED))  又は XML(CONTENT(UNTYPED))  のいずれかである。

−  が XML(DOCUMENT(XMLSCHEMA))  又は XML(CONTENT(XMLSCHEMA))  のいずれかで,

XML(DOCUMENT(XMLSCHEMA))  又は XML(CONTENT(XMLSCHEMA))  のいずれかで,及び 

両方の XML 型記述子に含まれる登録 XML スキーマ記述子が同一の XML スキーマを識別し,あるな

らば,の XML 型記述子に含まれる XML 名前空間 URI が,[Namespaces]  で規定されるとおりに,S

の XML 型記述子に含まれる XML 名前空間 URI と同一であり,かつ,あるならば,の XML 型記述

子に含まれる大域要素宣言スキーマ構成要素の XML NCName が,の XML 型記述子に含まれる大域

要素宣言スキーマ構成要素の XML NCName と同一である。

注記 7  同一の XML スキーマの概念は,“4.2.6  登録 XML スキーマ”で定義している。

−  が XML(DOCUMENT(ANY)),

XML(CONTENT(ANY))  又は XML(SEQUENCE)  のいずれかで,かつ,

S

が XML 型である。

XML 値の代入を含む操作は,代入が XQuery ノード識別性を保存することを示すために,キーワード

BY REF を用い,代入が XQuery ノード識別性を失うことを示すために,キーワード BY VALUE を用いる。

XML 値は,比較可能でない。

4.2.5

XML

値を含む演算

<XMLDOCUMENT 関数>は,別の XML 値を与えて,XML 値を戻す演算子とする。新しい XML 値は,

[XQuery]

中の導出文書構成子の規則に従って構成される XQuery 文書ノードから成る。

<XMLELEMENT 関数>は,XML 要素名,XML 名前空間の省略可能なリスト,XML 属性の省略可能な

リスト,及び新しい要素の内容としての値の省略可能なリストを与えて,XML 値を戻す演算子とする。

<XML 要素内容>の値は,XML 値への対応付けをもつ任意の値であってよい。結果の XQuery 要素ノード

は,XQuery 文書ノードの唯一の子として任意に配置してもよい。

<XMLFOREST 関数>は,XML 名前空間の省略可能なリスト及び<森構造要素>のリストを与えて,XML

値を戻す演算子とする。XQuery 要素ノードは,列名又は与えられるならば,XML 要素名としての<森構


15

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

造要素名>,及び要素内容としての<森構造要素値>を用いて,各<森構造要素>から生成される。<森構造要

素値>の値は,XML 値への対応付けをもつ任意の値であってよい。結果の XQuery 並びは,XQuery 文書ノ

ード中に任意に配置してもよい。

<XML 連結>は,“6.12 <XML 連結>”で規定するとおり,XML 値のリストを連結することによって得ら

れる XML 値を戻す演算子とする。結果の XQuery 並びは,XQuery 文書ノード中に任意に配置してもよい。

<XMLCOMMENT 関数>は,文字列 CS を与えて,XML 値を戻す演算子とする。XML 値は,Unicode に

写像した CS である content 特性をもつ XQuery コメントノードから成る。

この XQuery コメントノードは,

XQuery 文書ノードの唯一の子として任意に配置してもよい。

<XMLPI 関数>は,<識別子>及び省略可能な文字列 CS を与えて,XML 値を戻す演算子とする。XML 値

は,<識別子>である target 特性,及び先行空白を取り除いて Unicode に写像した CS である content 特性を

もつ XQuery 処理命令ノードから成る。この XQuery 処理命令ノードは,XQuery 文書ノードの唯一の子と

して任意に配置してもよい。

<XMLTEXT 関数>は,文字列 CS を与えて,XML 値を戻す演算子とする。XML 値は,Unicode に写像し

た CS である content 特性をもつ XQuery テキストノードから成る。

この XQuery テキストノードは,

XQuery

文書ノードの唯一の子として任意に配置してもよい。

<XMLQUERY 関数>は,XQuery 式を評価する演算子とし,任意の個数の入力パラメタをパラメタ化して

もよい。結果の XQuery 並びは,XQuery 文書ノード中に任意に配置してもよい。

<XMLTABLE 関数>は,一種の<導出表>とし,XML 値を表として問い合わせるために用いることができ

る。結果は,<XMLTABLE の行パターン>,<XMLTABLE の引数リスト>及び<XMLTABLE の列定義の並び

>を用いて指定する。結果は,次の手順で導出する。

− <XMLTABLE の行パターン>は,<XMLTABLE の引数リスト>を(省略可能な)入力パラメタとして評

価される XQuery 式とする。これが,中間結果である XQuery 並びを生成する。

−  中間結果中の各 XQuery 項目は,最終結果の行を作成するために用いる。

−  結果の列は,<表定義>に倣った<XMLTABLE の列定義>の集まりである<XMLTABLE の列定義の並び>

によって指定する。したがって,各結果列は,<データ型>及び省略可能な<DEFAULT 句>をもつ。各

<XMLTABLE の列定義>は,XQuery 式である<XMLTABLE の列パターン>XTCP も陽に又は暗に,指

定する。

−  最終結果の特定の行及び列の値を生成するために,中間結果の特定の XQuery 項目を入力パラメタと

して用いて,列パターン(すなわち,XQuery 式 XTCP)を評価し,その後,結果列の<データ型>に型

変換する。XTCP が空の XQuery 並びとして評価されるならば,列の<DEFAULT 句>がある場合には,

列の既定値を決定する。

<XML 文字列直列化>は,XML 値を与えて,[Serialization]  中のアルゴリズムを用いて文字列を戻す演

算子とする。選択肢から選択して,ただ一つの XQuery 要素ノードをもつ children 特性をもつ XQuery 文書

ノードであることを確実にするために,

入力 XML 値を検査してもよい。生成される XML テキストの版(す

なわち,テキストが XML 1.0 の内容であるか又は XML 1.1 の内容であるかのいずれか)を指定するために

他の選択肢を用いてもよく,XML 宣言を生成するかどうかを指定するために他の選択肢を用いてもよい。

<XML2 進オクテット列直列化>は,XML 値を与えて,[Serialization]  中のアルゴリズムを用いて 2 進オ

クテット列を戻す演算子とする。<XML2 進オクテット列直列化>は,<XML 文字列直列化>と同じ選択肢

に加えて,結果の符号化(文字集合)を指定する機能を提供する。

<XMLPARSE 関数>は,文字列値又は 2 進オクテット列値を解析する,すなわち,[Infoset]  の規則に従


16

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

って XML テキストを XML 情報項目の集合に変換し,その後,[XQueryDM]  の規則に従ってその情報項

目の集合を XQuery 文書ノードに変換する演算子とする。

<XMLVALIDATE 関数>は,登録 XML スキーマに従って XML 値の妥当性を検証する演算子とする。選

択肢から選択して,妥当性検証のための登録 XML スキーマは,データ値の内容に基づいて選択してもよ

いし,<XMLVALIDATE 関数>中で直接指定してもよい。後者の場合,付加的な選択肢によって,指示され

た登録 XML スキーマの特定の名前空間,又は特定の大域要素宣言スキーマ構成要素に妥当性検証の範囲

を限定できる。妥当性検証が成功すると,<XMLVALIDATE 関数>は,既定値と型付加情報とを補った入力

XML 値の写しを戻す。妥当性検証が失敗するならば,<XMLVALIDATE 関数>は,例外を引き起こす。

<XML CONTENT 述語>は,XML 値が XQuery 文書ノードかどうかを決定する述語とする。 
<XML DOCUMENT 述語>は,XML 値が,ただ一つの XQuery 要素ノード,0 個以上の XQuery コメント

ノード及び 0 個以上の XQuery 処理命令ノードを含む children 特性をもつ XQuery 文書ノードかどうかを決

定する述語とする。

<XMLEXISTS 述語>は,XML 値が,XQuery 式を評価し,結果がナル値であるか,空の XQuery 並びで

あるか,又は空でない XQuery 並びであるかを決定する述語とする。

<XML VALID 述語>は,登録 XML スキーマに従って XML 値が妥当かどうかを決定する述語とする。選

択肢から選択して,妥当性検証のための登録 XML スキーマは,データ値の内容に基づいて選択してもよ

いし,<XML VALID 述語>中で直接指定してもよい。後者の場合,付加的な選択肢によって,指示された

登録 XML スキーマの結果列の<データ型>に変換して,名前空間,又は結果列の<データ型>に変換して,

大域要素宣言スキーマ構成要素に検証を制限することができる。

4.2.6

登録 XML スキーマ

登録 XML スキーマ  (registered XML Schema)  は,SQL サーバに知られているようにされた XML スキー

マとする。XML スキーマを登録する方法は,処理系定義とする。

登録 XML スキーマの大域要素宣言スキーマ構成要素は,名前空間名を伴う not か,又は any のいずれ

かである  {namespace constraint}  特性をもち,かつ,

[Schema1]  の“3.10.1 ワイルドカードスキーマ構成

要素 (The Wildcard Schema Component)”に規定されるとおりに,]strict か又は lax のいずれかである

{process  contents}  特性をもつワイルドカードスキーマ構成要素を含むか又は参照するならば,非決定的 
(non-deterministic)  とする。

注記 8  このようなワイルドカードスキーマ構成要素に対応する XML スキーマ文書の要素は,

namespace

属性がないか又は値“##any”若しくは“##other”をもつかのいずれかで,か

つ,processContents 属性がないか又は値“strict”若しくは“lax”をもつかのいずれ

かである要素<xs:any>又は<xs:anyAttribute>である。

登録 XML スキーマに含まれる XML 名前空間 NS は,非決定的なスキーマの大域要素宣言スキーマ構成

要素を NS が含むならば,

非決定的  とする。

登録 XML スキーマは,非決定的な XML 名前空間を含むならば,

非決定的  とする。

登録 XML スキーマは,登録 XML スキーマ記述子によって記述される。登録 XML スキーマ記述子は,

次の項目を含む。

−  登録 XML スキーマのターゲット名前空間 URI。

−  登録 XML スキーマのスキーマ位置 URI。

−  登録 XML スキーマの<登録 XML スキーマ名>。

−  登録 XML スキーマが恒久的に登録されているかどうかを示す標識。


17

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

−  登録 XML スキーマが非決定的かどうかを示す標識。

−  登録 XML スキーマによって定義される名前空間の順序付けられない集まり

(ターゲット名前空間は,

これらの名前空間のうちの一つである。

−  登録 XML スキーマによって定義される各名前空間に対するその名前空間中の大域要素宣言スキーマ

構成要素の順序付けられない集まり,及び各大域要素宣言スキーマ構成要素に対するその大域要素宣

言スキーマ構成要素が非決定的かどうかを示す標識。

注記 9  機能 X161“登録 XML スキーマのための高度情報スキーマ”なしでは,XML スキーマが決定

的かどうかを示す情報,その XML スキーマで定義される名前空間の集まりについての情報,

及びそのような各名前空間に対するその名前空間中の大域要素宣言スキーマ構成要素について

の情報は,XML_SCHEMAS,XML_SCHEMA_NAMESPACES 及び XML_SCHEMA_ELEMENTS

ビュー中で利用可能でない。

登録 XML スキーマは,それの<登録 XML スキーマ名>によって識別される。

二つの登録 XML スキーマは,両方が同じ<登録 XML スキーマ名>によって識別されるならば,

同一

(identical)  とみなされる。

この規格又は引用規格のいずれかによって定義される XML スキーマは,常に登録されている。これら

の XML スキーマを

表 1“恒久的な登録 XML スキーマ”中で列挙する。

表 1−恒久的な登録 XML スキーマ

共通接頭辞

(非規定) 

ターゲット名前空間 URI 

スキーマ位置

URI 

<

登録 XML 

スキーマ名

xs

http://www.w3.org/2001/XMLSchema

処理系定義

処理系定義

xsi

http://www.w3.org/2001/XMLSchema-instance

処理系定義

処理系定義

sqlxml

http://standards.iso.org/iso/9075/2003/sqlxml

処理系定義

処理系定義

注記 10  この表中の“共通接頭辞”列は,これらの XML スキーマのターゲット名前空間に共通的に関連付けられる接

頭辞を示すが,これらの接頭辞によってそれらを参照することは要求されない。

<XML 妥当性根拠>XVACC を含む<データ型>,<XMLVALIDATE 関数>又は<XML VALID 述語>が,ビュ

ー,検査制約若しくは表明の<問合せ式>,トリガの<被トリガ動作>,又は<SQL 呼出しルーチン>に含ま

れるならば,XVACC によって参照される登録 XML スキーマは,ビューが定義される時点,検査制約が定

義される時点,表明が定義され,トリガが定義される時点,又は SQL 呼出しルーチンが定義される時点に

決定される。ビューが用いられるとき,検査制約若しくは表明が評価されるとき,トリガが実行されると

き,又は SQL 呼出しルーチンが呼び出されるときはいつでも,同じ登録 XML スキーマが参照される。

4.3

データ変換

この細分箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“4.11  データ変換”を修正する。

【3 番目の段落の前に挿入する。

】  JIS  X  3005-2  [ISO9075-2]  で規定する既定義データ型と,XML 型と

の間のデータ変換は,<XMLCAST 指定>によって指定できる。

XML 型から XML でない型への変換は,次のとおりに行われる。

1) XQuery

文書ノードが,変換元の値から取り除かれる。

2) XQuery

関数 fn:data()  を用いて,その結果が XQuery 基本単位値 AV の XQuery 並びに変換され

る。

3)

変換相手<データ型>に対応して,XML スキーマデータ型 XT が選ばれる。例えば,変換相手<デー

タ型>が INTEGER ならば,XT は,xs:integer となる。


18

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

4)

[XQuery]

の規則を用いて,AV が XT に変換され,BV が生成される。

5)

BV

は,XML スキーマ基本型であるか又は XML スキーマ基本型から導出される XML スキーマデー

タ型の値とする。例えば,BV は,xs:decimal から導出される XML スキーマ型 xs:short の場

合もある。ほとんどの XML スキーマ基本型の値空間は,SQL 値空間で識別される。例えば,

xs:decimal

の XML 値空間は,真数値の SQL 値空間で識別される。例えば,xs:decimal の XML

値空間中の値 9075.14 を BV がもつならば,BV は,真数値の SQL 値空間中の値 9075.14 である

ともみなされる。これらの値空間の識別は,

4.10.7 XQuery 基本単位値の SQL 値への対応付け”で

規定する。

6)

BV

は,SQL 値空間の値とみなされ,<CAST 指定>を用いて,変換相手<データ型>に変換される。

XML でない型から XML 型への変換は,次のとおりに行われる。

1)

9.8 SQL データ型の値の XML スキーマデータ型の値への対応付け”の

一般規則を適用した結果で

ある値をもつ<文字列定数>に,変換元の値が変換される。

2)

その<文字列定数>が<XMLPARSE 関数>を用いて解析され,XQuery 文書ノード を生成する。

3)

変換相手<データ型>が XML(CONTENT(UNTYPED))  又は XML(CONTENT(ANY))  ならば,は,

結果とする。

4)

変換相手<データ型>が XML(SEQUENCE)  ならば,XQuery 型変換式を評価することによって,

XQuery 基本単位値に変換される。変換相手の XQuery 型は,変換元の値の宣言型に基づいて選択さ

れる。例えば,変換元の宣言型が真数ならば,結果の XQuery 型は,xs:decimal となる。

4.4

データ分析操作(表を含む)

この細分箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“4.16  データ分析操作(表を含む)”を修正する。

4.4.1

集約関数

この細分箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“4.16.4  集約関数”を修正する。

【7 番目の段落を補う。

− XMLAGG が指定されるならば,

集約される各行に対して評価される<XML 値式>から形成される XML

値。

4.5

SQL

呼出しルーチン

この細分箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“4.28 SQL 呼出しルーチン”を修正する。

4.5.1

ルーチン記述子

この細分箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“4.28.4  ルーチン記述子”を修正する。

【SQL ルーチンのルーチン記述子を補う。

− XML 型,又は元型が XML 型の個別型である宣言型をもつ全ての SQL パラメタに対して,<XML 受

渡し手段>を示す標識。

− SQL ルーチンが SQL 呼出し関数ならば,<RETURNS 句>の<XML 受渡し手段>を示す標識。

【外部ルーチンのルーチン記述子を補う。

−  関連するデータ列型をもつ全ての SQL パラメタに対して,関連するデータ列型の文字列型記述子。

−  関連する XML 選択肢をもつ全ての SQL パラメタに対して,関連する XML 選択肢を示す標識。

4.6

SQL

この細分箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“4.34 SQL 文”を修正する。

4.6.1

機能によって分類された SQL 

この細分箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“4.34.2  機能によって分類された SQL 文”を修正す


19

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

る。

4.6.1.1

SQL

セション文

この細分箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“4.34.2.7 SQL セション文”を修正する。

【この段落を挿入する。

】次の SQL 文は,追加の SQL セション文とする。

− <SET

XML

OPTION 文>

4.7

基本安全保護モデル

この細分箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“4.35  基本安全保護モデル”を修正する。

4.7.1

権限

この細分箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“4.35.2  権限”を修正する。

【1 番目の段落に続くリストを補う。

−  登録 XML スキーマ。

【8 番目の段落に続くリストを補う。

−  登録 XML スキーマ。

【この段落を追加する。

】登録 XML スキーマに関する USAGE 権限は,処理系定義の方法で付与又は剝

奪される。

4.8

SQL

セション

この細分箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“4.38 SQL セション”を修正する。

4.8.1

SQL

セション特性

この細分箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“4.38.3 SQL セション特性”を修正する。

【6 番目の段落の後に挿入する。

】SQL セションは,<EXECUTE IMMEDIATE 文>又は<PREPARE 文>の

いずれかによって現行 SQL セション中で準備される<準備可能文>の実行中に,XMLSERIALIZE 及び

XMLPARSE 演算子を暗に呼び出すために必要な<文書又は内容>選択肢を識別するために用いる XML 選択

肢をもつ。XML 選択肢には,処理系定義の値が最初に設定されるが,<SET XML OPTION 文>の実行成功

によって,その後変更できる。

【13 番目の段落を補う。

−  現行 XML 選択肢。

4.9

XML

名前空間

この規格は,W3C 又はこの規格で規定する特定の XML 名前空間を参照する。各 XML 名前空間は,XML

名前空間接頭辞を用いて参照する。XML 名前空間接頭辞及びそれらの定義を

表 2“XML 名前空間接頭辞

及びそれらの URI”に示す。

表 2XML 名前空間接頭辞及びそれらの URI

共通接頭辞 

ターゲット名前空間 URI 

xs

http://www.w3.org/2001/XMLSchema

xsi

http://www.w3.org/2001/XMLSchema-instance

sqlxml

http://standards.iso.org/iso/9075/2003/sqlxml 

適合する処理系は,これらの XML 名前空間を参照するために,XML 名前空間接頭辞 xsxsi 又は

sqlxml

を用いる必要はないが,どのような XML 名前空間接頭辞を用いるにせよ,適切な URI と関連付

けなければならない。

XML 名前空間接頭辞“sqlxml”によって識別される XML 名前空間は,“22 SQL/XML XML スキーマ”


20

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

で規定する。

XML 名前空間接頭辞“sqlxml”によって識別される XML 名前空間の XML スキーマ定義を含む資源

(すなわち,XML スキーマ文書を含むファイル)は,World Wide Web で利用可能になっている。その資

源の URI は,次のとおり。

http://standards.iso.org/iso/9075/2003/sqlxml.xsd

このファイルの内容は,

22 SQL/XML XML スキーマ”の内容と同一にしている。このファイルは,こ

の規格の仕様の実装者の便宜のために作成された。

4.10

対応付けの概要

この規格は,SQL から XML への対応付け及び XML から SQL への対応付けを規定する。SQL から XML

への対応付けは,次の対応付けを含む。

− SQL 文字集合から Unicode への対応付け。

− SQL<識別子>から XML Name への対応付け。

−  (列のような SQL スキーマオブジェクトを定義する SQL スキーマ中で用いる)SQL データ型から

XML スキーマデータ型への対応付け。

− SQL データ型の値から XML スキーマデータ型の値への対応付け。

− SQL 表から XML 文書及び XML スキーマ文書への対応付け。

− SQL スキーマから XML 文書及び XML スキーマ文書への対応付け。

− SQL カタログから XML 文書及び XML スキーマ文書への対応付け。

XML から SQL への対応付けには,次の対応付けを含む。

− Unicode から SQL 文字集合への対応付け。

− XML

Name から SQL<識別子>への対応付け。

4.10.1  SQL

文字集合の Unicode への対応付け

SQL 環境中の各文字集合 SQLCS に対して,SQLCS の文字列から  [Unicode]  で規定される Unicode の文

字列への対応付け CSM が存在しなければならない。この規格では,

“Unicode”は,

“UCS”と名付けられ

た文字レパートリを参照する。負でない各整数 に対して,SQLCS 中の長さ の全ての文字列を Unicode

中の長さ の文字列に対応付けるような負でない整数 が存在するならば,その対応付け CSM 

準同形

(homomorphic)  と呼ぶ。CSM は,処理系定義とする。しかし,いずれかの Unicode 符号位置が妥当な XML

文字でない文字に対応付けられるならば,例外条件が引き起こされる。

注記 11  文字参照だけでなく,[XML]  で規定される実体参照&lt;&amp;&gt;&apos;  及び

&quot;

も,それぞれが XML での単一文字を表現するとみなされ,準同形の対応付けを定義

する障害にはならない。

4.10.2  Unicode

の SQL 文字集合への対応付け

SQL 環境中の各文字集合 SQLCS に対して,Unicode の文字列から SQLCS の文字列への処理系定義の対

応付け CSM が存在しなければならない。

4.10.3  SQL<

識別子>の XML への対応付け

全ての SQL<識別子>が XML Name として受け入れられるわけではないから,SQL<識別子>から XML

Name への対応付けを規定する必要がある。この対応付けは,“9.1 SQL<識別子>の XML Name への対応付

け”で規定する。この対応付けの基本的な考え方は,XML Name 中で妥当でない文字を,その文字の Unicode

符号化から導出した 16 進数字の並びに変換することである。その並びは,最初の下線文字及び小文字 x

と最後の下線文字とでくくる。


21

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

部分的な別扱い  (partially escaped)  及び完全な別扱い  (fully escaped)  の二つの対応付け方法がある。二

つの違いは,先頭以外の<コロン>の扱い方,及び大文字と小文字との任意の組合せの xml で始まる<識別

子>の扱い方とする。完全な別扱いでは,先頭以外の<コロン>を_x003A_に対応付ける。一方,部分的な

別扱いでは,先頭以外の<コロン>を:に対応付ける。また,完全な別扱いでは,先頭の xml 及び XML を,

それぞれ,_x0078_ml 及び_x0058_ML に対応付けるが,部分的な別扱いではそうはしない。

注記 12  この規格では,“9.1 SQL<識別子>の XML Name への対応付け”で規定する部分的な別扱いの対

応付けを呼び出すための構文を規定しない。この規定は,適用業務によって用いられ,他の規

格によって参照されることを意図している。

4.10.4  XML Name

の SQL への対応付け

SQL<識別子>から XML Name への対応付けの部分的な別扱い及び完全な別扱いの両方に対して,逆方向

に対応付けるためには,単一のアルゴリズムで十分に足りる。このアルゴリズムは,

9.3 XML Name の

SQL<識別子>への対応付け”で規定する。基本的な考え方は,XML Name を左から右に走査し,形式

_xNNNN_

又は_xNNNNNN_のエスケープシーケンスを探すことである。ここで,は,16 進数字を表す。

このような並びは,それぞれ,Unicode 符号位置 U+0000NNNN 又は U+00NNNNNN に対応する SQL_TEXT

の文字に変換する。

注記 13  この規格では,“9.3 XML Name の SQL<識別子>への対応付け”で規定する対応付けを呼び出す

ための構文を規定しない。この規定は,適用業務によって用いられ,他の規格によって参照さ

れることを意図している。この対応付けのために,引数の正しい個数及び各引数に対する有効

な値が提供されることを保証するのは,そのような適用業務又は他の規格の責任である。

注記 14 SQL<識別子>から XML Name への(完全な別扱いの対応付け又は部分的な別扱いの対応付けの

いずれかを用いた)対応付け,XML Name から SQL<識別子>への対応付けという並びは,

(元

の SQL 処理系の SQL<識別子>中のどの文字も,相手の SQL 処理系中の SQL_TEXT の文字であ

ると想定すると,

)元の SQL<識別子>を復元する。しかし,XML Name から SQL<識別子>への

対応付け,SQL<識別子>から XML Name への対応付けという並びは,XML Name を必ずしも復

元しない。また,二つ以上の XML Name を同じ SQL<識別子>に対応付ける可能性がある。

4.10.5  SQL

データ型の XML への対応付け

対応付けできる各 SQL 型又は定義域に対して,

対応する XML スキーマ型がある。

対応付けは,

9.5 SQL

データ型の XML スキーマデータ型への対応付け”で完全に規定する。この対応付けの概念的記述を次に

示す。

一般に,各 SQL 既定義型,個別型又は定義域 SQLT は,SQLT に最も類似した XML スキーマ型 XMLT

に対応付ける。XMLT の値空間は,往々にして SQLT によって表現できる値の集合より豊かなので,SQLT

に関する制限をできる限り取り込むために,XMLT を制限するためのファセットを用いる。

さらに,

(例えば,CHARACTER VARYING

対 CHARACTER LARGE OBJECT のような)SQL 型システ

ムでの多くの区別に対応する区別が XML スキーマ型システムにはない。

これらの区別を表現するために,

XML スキーマ付加情報を規定する。付加情報の内容は,この規格で規定する。しかし,そのような付加情

報が実際に生成されるかどうかは,処理系定義とする。XML 名前空間接頭辞“sqlxml”によって識別さ

れる XML 名前空間からの要素をこれらの付加情報を入れるために用いる。

SQL 文字列型は,XML スキーマ型 xs:string に対応付ける。SQL 型 CHARACTER に対しては,SQL

文字集合の Unicode への対応付けが準同形であるならば,固定長文字列が固定長文字列に対応付けられ,

フ ァ セ ッ ト xs:length を 用 い る 。 そ う で な け れ ば ,( す な わ ち , CHARACTER VARYING 及 び


22

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

CHARACTER LARGE OBJECT,並びに対応付けが準同形でない CHARACTER ならば,)ファセット

xs:maxLength

を用いる。

付加情報は,

省略可能で,

正確な SQL 型

(CHARACTER,

CHARACTER VARYING

又は CHARACTER LARGE OBJECT)

,その SQL 型の長さ又は最大長,文字集合及び既定の照合順を示す。

SQL 2 進オクテット列型は,XML スキーマ型 xs:hexBinary 又は XML スキーマ型 xs:base64Binary

いずれかに対応付ける。xs:maxLength ファセットには,オクテット単位での 2 進オクテット列の最大長

を設定する。

付加情報は,

省略可能で,

SQL 型(BINARY,BINARY VARYING 又は BINARY LARGE OBJECT)

及びオクテット単位での最大長を示す。<XMLELEMENT 関数>及び<XMLFOREST 関数>に対して,

xs:hexBinary

に対応付けるか又は xs:base64Binary に対応付けるかの選択は,その<XMLELEMENT

関数>又は<XMLFOREST 関数>を含む有効範囲をもつ最も内側の<XML 2 進オクテット符号化>によって決

まる。既定値は,処理系定義とする。SQL 表,スキーマ又はカタログを XML に対応付けるとき,その選

択は,

9.11 SQL 表の XML 及び XML スキーマ文書への対応付け”

9.14 SQL スキーマの XML 文書及び

XML スキーマ文書への対応付け”及び“9.17 SQL カタログの XML 文書及び XML スキーマ文書への対応

付け”で規定するとおりにパラメタによって決まる。

真数の SQL 型 NUMERIC 及び DECIMAL は,

ファセット xs:precision 及び xs:scale を用いて XML

スキーマ型 xs:decimal に対応付ける。SQL 型 INTEGER,SMALLINT 及び BIGINT をファセット

xs:maxInclusive

及び xs:minInclusive を用いて XML スキーマ型 xs:integer に対応付けるか,

又は SQL 型の値域がそれに対応付ける XML スキーマ型の値域と正確に一致していないならば,ファセッ

ト xs:maxInclusive 及び xs:minInclusive を用いて,XML スキーマ型 xs:integer の下位型であ

る最も近い XML スキーマ型に対応付けるかどうかは,処理系定義とする。付加情報は,省略可能で,SQL

型(NUMERIC,DECIMAL,INTEGER,SMALLINT 又は BIGINT)

,NUMERIC の精度,

(実際の精度未満

でもよい)DECIMAL の利用者指定精度,並びに NUMERIC 及び DECIMAL の位取りを示す。

概数の SQL 型は,2 進精度が 2 進で 24 桁(ビット)以下で,かつ,2 進指数の値域が-149 以上 104 以下

の範囲内にあるならば,XML スキーマ型 xs:float に対応付けるか,そうでなければ,XML スキーマ型

xs:double

を用いて対応付けるかのいずれかとする。付加情報は,省略可能で,SQL 型(REAL,DOUBLE

PRECISION 又は FLOAT),2 進精度,2 進指数の値域の最小値及び最大値,並びに FLOAT に対する(実際

の精度未満でもよい)利用者指定の 2 進精度を示す。

SQL 型 BOOLEAN は,XML スキーマ型 xs:boolean に対応付ける。付加情報は,省略可能で,SQL

型(BOOLEAN)を示す。

SQL 型 DATE は,XML スキーマ型 xs:date に対応付ける。時刻帯時差の可能性を除くために

xs:pattern

ファセットを用いる。付加情報は,省略可能で,SQL 型 DATE を示す。

SQL 型 TIME WITHOUT TIME ZONE 及び TIME WITH TIME ZONE は,XML スキーマ型 xs:time に対

応付ける。TIME WITHOUT TIME ZONE の場合に時刻帯時差の可能性を除くためか,又は TIME WITH

TIME ZONE の場合に時刻帯時差を必要とするために,xs:pattern ファセットを用いる。xs:pattern

ファセットは,SQL 型の小数秒精度も示す。付加情報は,省略可能で,SQL 型(TIME 又は TIME WITH TIME

ZONE)及び小数秒精度を示す。

SQL 型 TIMESTAMP WITHOUT TIME ZONE 及び TIMESTAMP WITH TIME ZONE は,XML スキーマ型

xs:dateTime

に対応付ける。TIMESTAMP WITHOUT TIME ZONE の場合に時刻帯時差の可能性を除くた

めか,又は TIMESTAMP WITH TIME ZONE の場合に時刻帯時差を必要とするために,xs:pattern ファ

セットを用いる。xs:pattern ファセットは,SQL 型の小数秒精度も示す。付加情報は,省略可能で,SQL

型(TIMESTAMP 又は TIMESTAMP WITH TIME ZONE)及び小数秒精度を示す。


23

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

SQL 時間隔型は,XML スキーマ型 xs:yearMonthDuration 及び xs:dayTimeDuration に対応付け

る。SQL 型によって示される年,月,日,時,分及び秒フィールドを正確に必要とするために xs:pattern

ファセットを用いる。xs:pattern ファセットは,先行フィールド精度及び(適用可能なとき,

)小数秒

精度も示す。付加情報は,省略可能で,SQL 型,先行フィールド精度及び(適用可能なとき,

)小数秒精

度を示す。

SQL 行型は,SQL 行型の各フィールドに対して一つの要素から成る XML スキーマ複合型に対応付ける。

SQL 行型の各フィールド に対して,対応する XML 要素の名前は,完全な別扱いを用いた のフィール

ド名の対応付けによって得られ,その要素の XML スキーマ型は,のフィールド型の対応付けによって

得られる。

SQL 定義域は,定義域のデータ型の XML への対応付けによって XML に対応付ける。定義域の名前を

識別する付加情報は,省略可能で,生成される XML スキーマ型に適用する。

SQL 個別型は,個別型の元型の対応付けによって XML スキーマ単純型に対応付ける。個別型の名前を

指定する付加情報は,省略可能で,生成される XML スキーマ型に適用する。

SQL 集まり型は,element という名前の単一の XML 要素をもち,かつ,SQL 集まり型の要素型を対応

付けることによって得られる XML スキーマ型をもつ XML スキーマ複合型に対応付ける。この XML 要素

は,minOccurs="0"を用いて定義する。SQL 配列型に対して,maxOccurs は,その配列の最大基数と

するが,SQL マルチ集合型に対しては,maxOccurs="unbounded"とする。

SQL XML 型は,混合内容及び妥当性を検証していない any セクションを許す XML スキーマ複合型に

対応付ける。付加情報は,省略可能で,SQL 型 XML を示す。

4.10.6  SQL

データ型の値の XML への対応付け

構造型及び参照型を除く各 SQL 型又は定義域 SQLT に対して,対応する XML スキーマ型の値空間への

型 SQLT の値の対応付けも存在する。

値の対応付けの大部分は,

データ型の対応付けによって決定される。

ナルでない値に対する正確な規則は,

9.8 SQL データ型の値の XML スキーマデータ型の値への対応付け”

で規定する。既定義型の値の対応付けは,可能な限り<CAST 指定>を活用する。ナル値に関しては,一般

的に,未指定 (absence) を用いてナルを表現するか,又は xsi:nil="true"を用いてナルを表現するかど

うかを選択する。しかし,集まり型の要素に対しては,常に xsi:nil="true"によってナル値を表現す

る。

4.10.7  XQuery

基本単位値の SQL 値への対応付け

[XQueryDM]

で規定するとおり,XQuery 基本単位型は,XML スキーマ基本型であるか,又は(和集合

若しくはリストによってではなく)制限することによって XML スキーマ基本型から導出されるかのいず

れかとする。

XQuery 基本単位値を AV とする。AV の XQuery 基本単位型を AT とする。次のとおりに与えられる型を

PT

とする。

場合:

−  AT が XML スキーマ基本型ならば,AT

−  AT が xs:yearMonthDuration であるか又は xs:yearMonthDuration から導出されるならば,

xs:yearMonthDuration

−  AT が xs:dayTimeDuration であるか又は xs:dayTimeDuration から導出されるならば,

xs:dayTimeDuration

−  そうでなければ,AT の導出元の XML スキーマ基本型。


24

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

この規格は,

(特に,

6.6 <XMLCAST 指定>”では,

)次のとおりに,AV を SQL 既定義型のいずれかの

カテゴリに属している値とみなす。

場合:

−  PT が xs:string ならば,AV は,Unicode の文字レパートリをもつ文字列であるとみなす。

−  PT が xs:hexBinary 又は xs:base64Binary ならば,AV は,2 進オクテット列であるとみなす。

−  PT が xs:decimal ならば,AV は,真数値であるとみなす。

−  PT が xs:float 又は xs:double ならば,AV は,概数値であるとみなす。

−  PT が xs:time で,かつ,AV の XQuery 日時時刻帯構成要素が空の XQuery 並びならば,AV の XQuery

日時正規化値は,型 TIME WITHOUT TIME ZONE の値であるとみなす。

−  PT が xs:time で,かつ,AV の XQuery 日時時刻帯構成要素が空の XQuery 並びでないならば,AV

は,AV の XQuery 日時時刻帯構成要素が時刻帯構成要素で,かつ,XQuery 日時正規化値が UTC 構成

要素である型 TIME WITH TIME ZONE の値であるとみなす。

−  PT が xs:dateTime で,AV の XQuery 日時正規化値 XDNV が正の値で,かつ,AV の XQuery 日時時

刻帯構成要素が空の XQuery 並びならば,XDNV は,型 TIMESTAMP WITHOUT TIME ZONE の値であ

るとみなす。正確に 59 秒をもつ UTC の分の中に 59 以上の SECOND フィールドを XDNV がもつこと

になったならば,型 TIMESTAMP WITHOUT TIME ZONE の処理系定義の値が XDNV で識別されるか

又は例外条件:

データ例外  (data exception)−日時フィールドあふれ  (datetime field overflow)  が引き起

こされるかは,処理系定義とする。

−  PT が xs:dateTime で,AV の XQuery 日時正規化値 XDNV が正の値で,かつ,AV の XQuery 日時時

刻帯構成要素が空の XQuery 並びでないならば,AV は,AV の XQuery 日時時刻帯構成要素が時刻帯構

成要素で,かつ,XQuery 日時正規化値が UTC 構成要素である型 TIMESTAMP WITH TIME ZONE の

値であるとみなす。正確に 59 秒をもつ UTC の分を AV が示し,かつ,AV の SECOND フィールドが

59 以上ならば,型 TIMESTAMP WITHOUT TIME ZONE の処理系定義の値が AV で識別されるか又は

例外条件:

データ例外−日時フィールドあふれ  が引き起こされるかは,処理系定義とする。

−  PT が xs:date で,AV の XQuery 日時正規化値 XDNV が正の値で,かつ,AV の XQuery 日時時刻帯構

成要素が空の XQuery 並びならば,AV の XQuery 日時正規化値は,型 DATE の値であるとみなす。

−  PT が xs:yearMonthDuration ならば,AV は,年月時間隔であるとみなす。

−  PT が xs:dayTimeDuration ならば,AV は,日時刻時間隔であるとみなす。

−  PT が xs:boolean ならば,AV は,型 BOOLEAN の値であるとみなす。

4.10.8  SQL

から XML への対応付けでの列,表及びスキーマの可視性

XML

に対応付けできないデータ型  (XML unmappable data type)  は,次のデータ型,すなわち,構造型,

参照型,XML(SEQUENCE),又は JIS X 3005-2 [ISO9075-2]  及びこの規格以外の JIS X 3005 (ISO/IEC 9075)

規格群の規格で規定する型のうちのいずれかとする。XML

に対応付けできない列  (XML unmappable 

column)

は,XML に対応付けられないデータ型のいずれかである宣言型又は XML に対応付けられないデ

ータ型を基にする宣言型をもつ列とする。

認可識別子 に対する適用可能な権限が列 に関する SELECT 権限を含むか,又は列 の宣言型が個

別型で,かつ,認可識別子 に対する適用可能な権限が,

6.5 <CAST 指定>”の

構文規則によって識別さ

れる利用者定義の型変換関数に関する EXECUTE 権限を含むならば,表 の列 は,認可識別子 に対

する 

可視列  (visible column)  とする。列 が認可識別子 に対して の可視列で,かつ,列 の宣言

型が XML に対応付けできないデータ型でないならば,表 の列 は,認可識別子 に対する の XML


25

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

可視列  (XML visible column)  とする。

T

が,認可識別子 に対する可視列である列 を含む実表又はビュー表のいずれかならば,スキーマ S

の表 は,認可識別子 に対する 

可視表  (visible table)  とする。が,認可識別子 に対する XML

可視列である列 を含む実表又はビュー表のいずれかならば,スキーマ の表 は,認可識別子 に対

する の XML

可視表  (XML visible table)  とする。

S

が,認可識別子 に対する可視表である表 を含むならば,カタログ のスキーマ は,認可識別子

U

に対する 

可視スキーマ  (visible schema)  とする。が,認可識別子 に対する XML 可視表である表

T

を含むならば,カタログ のスキーマ は,認可識別子 に対する の XML

可視スキーマ  (XML visible 

schema)

とする。

4.10.9  SQL

表の XML への対応付け

9.11 SQL 表の XML 及び XML スキーマ文書への対応付け”は,次の二つの文書のうちの一方又は両

方への SQL 表の対応付けを規定する。二つの文書は,対応付け相手の XML の構造を記述する XML スキ

ーマ文書,及び XML 文書か又は XML 要素の並びかのいずれかとする。実表及びビュー表だけがこの対応

付けの対応元であってもよい。

注記 15  この規格では,“9.11 SQL 表の XML 及び XML スキーマ文書への対応付け”で規定する対応付

けを呼び出すための構文を規定しない。この規定は,適用業務によって用いられ,他の規格に

よって参照されることを意図している。この対応付けのために,引数の正しい個数及び各引数

に対する有効な値が提供されることを保証するのは,そのような適用業務又は他の規格の責任

である。

この対応付けを呼び出す利用者に対してこの表の XML 可視列だけが,

生成される XML 中で表現される。

この対応付けは,呼出し元に対して次の指定を許す。

−  各最上位要素の名前が表名から導出され,その表中の行を表現する XML 要素の並びに表を対応付け

るか,又は単一のルート要素の名前が表名から導出される XML 文書に表を対応付けて,かつ,<row>

という名前の要素に各行を対応付けるかの指定。

−  対応付け相手の XML スキーマ及びデータの XML ターゲット名前空間 URI(XML ターゲット名前空

間 URI が長さ 0 の文字列として指定されるならば,XML 名前空間は,追加されない。

−  ナル値を未指定要素に対応付けるか又は xsi:nil="true"  でマーク付けられる要素に対応付ける

かの指定。

−  表を XML データに対応付けるか,XML スキーマ文書に対応付けるか,又はそれらの両方に対応付け

るかの指定。

XML スキーマ型定義及び要素宣言の幾つかが,XML に直接関連しない SQL のメタデータを表現する付

加情報を含んでもよい。これらの付加情報を生成するかどうかは,処理系定義とする。

9.11 SQL 表の XML 及び XML スキーマ文書への対応付け”の規則は,

9.9 SQL 表の XML スキーマデ

ータ型への対応付け”及び“9.10 SQL 表の XML 要素又は XML 要素の並びへの対応付け”の規則によっ

て与えられる。

4.10.10

SQL

スキーマの XML への対応付け

9.14 SQL スキーマの XML 文書及び XML スキーマ文書への対応付け”は,SQL スキーマの表と次の

二つの文書のうちのいずれか又は両方との間の対応付けを規定する。二つの文書は,これらの表中のデー

タを表現する XML 文書,及び最初の文書を記述する XML スキーマ文書とする。

注記 16  この規格では,“9.14 SQL スキーマの XML 文書及び XML スキーマ文書への対応付け”で規定


26

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

する対応付けを呼び出すための構文を規定しない。この規定は,適用業務によって用いられ,

他の規格によって参照されることを意図している。この対応付けのために,引数の正しい個数

及び各引数に対する有効な値が提供されることを保証するのは,そのような適用業務又は他の

規格の責任である。

この対応付けを呼び出す利用者に対してそのスキーマの XML 可視表だけが,これらの二つの XML 文書

中で表現される。この対応付けを呼び出す利用者に対してこれらの表の XML 可視列だけが,これらの二

つの XML 文書中で表現される。

この対応付けは,呼出し元に対して次の指定を許す。

−  各最上位要素の名前が表名から導出され,その表中の行を表現する XML 要素の並びに各表を対応付

けるか,又は表名から導出される名前をもつ単一の XML 要素に各表を対応付けて,かつ,<row>

いう名前の要素に各行を対応付ける XML 文書に表を対応付けるかの指定。

−  対応付け相手の XML スキーマ及びデータの XML ターゲット名前空間 URI(XML ターゲット名前空

間 URI が長さ 0 の文字列として指定されるならば,XML 名前空間は,追加されない。

−  ナル値を未指定要素に対応付けるか又は xsi:nil="true"でマーク付けられる要素に対応付けるか

の指定。

−  スキーマを XML データに対応付けるか,XML スキーマ文書に対応付けるか,又はそれらの両方に対

応付けるかの指定。

XML スキーマ型定義及び要素宣言の幾つかが,XML に直接関連しない SQL のメタデータを表現する付

加情報を含んでもよい。これらの付加情報を生成するかどうかは,処理系定義とする。

SQL スキーマ中の XML 可視表を繰り返すとき,SQL スキーマの対応付けは,処理系依存の繰返し可能

な順序付け (repeatable ordering) を想定する。これによって,生成される XML スキーマが全グループ内容

モデルではなく順内容モデルを用いる状況で,表データを要素宣言で正確に整列して生成することができ

る。

9.14 SQL スキーマの XML 文書及び XML スキーマ文書への対応付け”の規則は,

9.12 SQL スキーマ

の XML スキーマデータ型への対応付け”及び“9.13 SQL スキーマの XML 要素への対応付け”の規則に

よって与えられる。

4.10.11

SQL

カタログの XML への対応付け

9.17 SQL カタログの XML 文書及び XML スキーマ文書への対応付け”は,SQL カタログの表と次の

二つの文書のいずれか又は両方との間の対応付けを規定する。二つの文書は,これらの表中のデータを表

現する XML 文書,及び最初の文書を記述する XML スキーマ文書とする。

注記 17  この規格では,“9.17 SQL カタログの XML 文書及び XML スキーマ文書への対応付け”で規定

する対応付けを呼び出すための構文を規定しない。この規定は,適用業務によって用いられ,

他の規格によって参照されることを意図している。この対応付けのために,引数の正しい個数

及び各引数に対する有効な値が提供されることを保証するのは,そのような適用業務又は他の

規格の責任である。

この対応付けを呼び出す利用者に対してこのカタログの XML 可視スキーマだけが,これらの二つの

XML 文書中で表現される。この対応付けを呼び出す利用者に対してこれらのスキーマの XML 可視表だけ

が,

これらの二つの XML 文書中で表現される。

この対応付けを呼び出す利用者に対してこれらの表の XML

可視列だけが,これらの二つの XML 文書中で表現される。

この対応付けは,この対応付けを呼び出す利用者に対して次の指定を許す。


27

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

−  各最上位要素の名前が表名から導出され,その表中の行を表現する XML 要素の並びに各表を対応付

けるか,又は表名から導出される名前をもつ単一の XML 要素に各表を対応付けて,かつ,<row>

いう名前の要素に各行を対応付ける XML 文書に表を対応付けるかの指定。

−  対応付け相手の XML スキーマ及びデータの XML ターゲット名前空間 URI(XML ターゲット名前空

間 URI が長さ 0 の文字列として指定されるならば,XML 名前空間は,追加されない。

−  ナル値を未指定要素に対応付けるか又は xsi:nil="true"でマーク付けられる要素に対応付けるか

の指定。

−  カタログを XML データに対応付けるか,XML スキーマ文書に対応付けるか,又はそれらの両方に対

応付けるかの指定。

XML スキーマ型定義及び要素宣言の幾つかが,XML に直接関連しない SQL のメタデータを表現する付

加情報を含んでもよい。これらの付加情報を生成するかどうかは,処理系定義とする。

9.17 SQL カタログの XML 文書及び XML スキーマ文書への対応付け”の規則は,

9.15 SQL カタログ

の XML スキーマデータ型への対応付け”及び“9.16 SQL カタログの XML 要素への対応付け”の規則に

よって与えられる。

5

語彙要素

この箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“5  語彙要素”を修正する。

5.1

<

トークン>及び<分離符号>

この細分箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“5.2 <トークン>及び<分離符号>”を修正する。

機能

<トークン>及び<分離符号> (<token> and <separator>)  は,SQL 言語に関与する語彙単位(トークン及び

分離符号)を規定する。

形式

<

非予約語> ::=

  !! JIS X 3005-2 (ISO/IEC 9075-2

中の全ての代替手段

| ABSENT | ACCORDING

| BASE64 | BOM

| COLUMNS | CONTENT

 |

DOCUMENT

| EMPTY | ENCODING

 |

HEX

| ID | INDENT

 |

LOCATION

| NAMESPACE | NIL


28

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

| PASSING | PATH | PRESERVE

 |

RETURNING

| SEQUENCE | STANDALONE | STRIP

| UNTYPED | URI

| VALID | VERSION

 |

WHITESPACE

| XMLSCHEMA | XMLDECL

<

予約語> ::=

  !! JIS X 3005-2(ISO/IEC 9075-2)

中の全ての代替手段

| XML | XMLAGG | XMLATTRIBUTES | XMLBINARY | XMLCAST

| XMLCOMMENT | XMLCONCAT | XMLDOCUMENT | XMLELEMENT | XMLEXISTS | XMLFOREST

| XMLITERATE | XMLNAMESPACES | XMLPARSE | XMLPI

| XMLQUERY | XMLSERIALIZE | XMLTABLE | XMLTEXT | XMLVALIDATEARATION

構文規則

追加の

構文規則なし。

アクセス規則

追加の

アクセス規則なし。

一般規則

追加の

一般規則なし。

適合性規則

追加の

適合性規則なし。

5.2

名前及び識別子

この細分箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“5.4  名前及び識別子”を修正する。

機能

名前及び識別子  (Names and identifiers)  は,名前を指定する。

形式

<

登録 XML スキーマ名> ::=

  <

スキーマ修飾付き名前>

構文規則

追加の

構文規則なし。

アクセス規則

追加の

アクセス規則なし。

一般規則

1)

【この

一般規則を挿入する。】<登録 XML スキーマ名>は,登録 XML スキーマを識別する。

適合性規則

追加の

適合性規則なし。


29

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

6

スカラ式

この箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“6  スカラ式”を修正する。

6.1

<

データ型>

この細分箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“6.1 <データ型>”を修正する。

機能

<データ型> (<data type>)  は,データ型を指定する。

形式

<

既定義型> ::=

  !! JIS X 3005-2 (ISO/IEC 9075-2

中の全ての代替手段

 |

<XML

型>

<XML

型> ::=

 XML [ <

左括弧> <XML 型修飾子> <右括弧> ]

<XML

型修飾子> ::=

<

主 XML 型修飾子>

    [ <

左括弧> <副 XML 型修飾子> <右括弧> ]

<

主 XML 型修飾子> ::=

DOCUMENT

 |

CONTENT

 |

SEQUENCE

<

副 XML 型修飾子> ::=

ANY

 |

UNTYPED

| XMLSCHEMA <XML

妥当性根拠> [ <XML 妥当要素句> ]

構文規則

1)

【この

構文規則を挿入する。】XML は,XML データ型を指定する。

2)

【この

構文規則を挿入する。】<XML 型>が<XML 型修飾子>を指定しないならば,SEQUENCE が暗

に想定されるか,CONTENT(ANY)  が暗に想定されるか,又は CONTENT(UNTYPED)  が暗に想定

されるかは,処理系定義とする。

3)

【この

構文規則を挿入する。】場合:

a) <

主 XML 型修飾子>が SEQUENCE を指定するならば,

<副 XML 型修飾子>を指定してはならない。

b)

そうでなければ,<副 XML 型修飾子>が指定されないとき,UNTYPED が暗に想定されるか又は

ANY が暗に想定されるかは,処理系定義とする。

4)

【この

構文規則を挿入する。】<副 XML 型修飾子>が XMLSCHEMA を指定するならば,示された登

録 XML スキーマを RXS とし,あるならば,示された XML 名前空間を ENSURI とし,あるならば,

示された大域要素宣言スキーマ構成要素の XML NCName を GEDSC とする。

注記 18  “示された登録 XML スキーマ”,“示された XML 名前空間”及び“示された大域要素宣言

スキーマ構成要素は,

11.6 <XML 妥当 ACCORDING TO 句>”で定義している。

アクセス規則

追加の

アクセス規則なし。

一般規則


30

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

1)

一般規則  20)  の後に挿入する。】<データ型>が<XML 型>ならば,次の項目を含む XML 型記述子

が作成される。

a)

データ型の名前(XML)

b) <

主 XML 型修飾子>(DOCUMENT,CONTENT 又は SEQUENCE)によって記述される主 XML

型修飾子。

c)

あるならば,<副 XML 型修飾子>(UNTYPED,ANY 又は XMLSCHEMA)によって記述される

副 XML 型修飾子。

d)

あるならば,示された登録 XML スキーマの登録 XML スキーマ記述子。

e)

あるならば,示された XML 名前空間の XML 名前空間 URI。

f)

あるならば,示された大域要素宣言スキーマ構成要素の XML NCName。

適合性規則

1)

【この

適合性規則を挿入する。】機能 X010“XML 型”なしでは,適合する SQL 言語は,<XML 型>

を含んではならない。

2)

【この

適合性規則を挿入する。】機能 X011“XML 型の配列”なしでは,適合する SQL 言語は,XML

型か又は元型が XML 型の個別型のいずれかの<データ型>を基にする<配列型>を含んではならない。

3)

【この

適合性規則を挿入する。】機能 X012“XML 型のマルチ集合”なしでは,適合する SQL 言語

は,XML 型か又は元型が XML 型の個別型のいずれかの<データ型>を基にする<マルチ集合型>を含

んではならない。

4)

【この

適合性規則を挿入する。】機能 X181“XML(DOCUMENT(UNTYPED))  型”なしでは,適合す

る SQL 言語は,<主 XML 型修飾子>が DOCUMENT で,かつ,<副 XML 型修飾子>が UNTYPED で

ある<XML 型>を含んではならない。

5)

【この

適合性規則を挿入する。】機能 X182“XML(DOCUMENT(ANY))  型”なしでは,適合する SQL

言語は,<主 XML 型修飾子>が DOCUMENT で,かつ,<副 XML 型修飾子>が ANY である<XML

型>を含んではならない。

6)

【この

適合性規則を挿入する。】機能 X231“XML(CONTENT(UNTYPED))  型”なしでは,適合する

SQL 言語は,<主 XML 型修飾子>が CONTENT で,かつ,<副 XML 型修飾子>が UNTYPED である

<XML 型>を含んではならない。

7)

【この

適合性規則を挿入する。】機能 X232“XML(CONTENT(ANY))  型”なしでは,適合する SQL

言語は,<主 XML 型修飾子>が CONTENT で,かつ,<副 XML 型修飾子>が ANY である<XML 型>

を含んではならない。

8)

【この

適合性規則を挿入する。】機能 X191“XML(DOCUMENT(XMLSCHEMA))  型”なしでは,適

合する SQL 言語は,<主 XML 型修飾子>が DOCUMENT で,かつ,<副 XML 型修飾子>が

XMLSCHEMA を指定する<XML 型>を含んではならない。

9)

【この

適合性規則を挿入する。】機能 X192“XML(CONTENT(XMLSCHEMA))  型”なしでは,適合

する SQL 言語は,<主 XML 型修飾子>が CONTENT で,かつ,<副 XML 型修飾子>が XMLSCHEMA

を指定する<XML 型>を含んではならない。

10)

【この

適合性規則を挿入する。】機能 X260“XML 型:ELEMENT 句”なしでは,適合する SQL 言

語は,<XML 妥当要素句>を含む<XML 型>を含んではならない。

11)

【この

適合性規則を挿入する。】機能 X261“XML 型:ELEMENT 句なしの NAMESPACE”なしで

は,適合する SQL 言語は,<XML 妥当要素名指定>を含まない<XML 妥当要素句>を含む<XML 型>


31

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

を含んではならない。

12)

【この

適合性規則を挿入する。】機能 X263“XML 型:ELEMENT 句ありの NO NAMESPACE”なし

では,適合する SQL 言語は,NO NAMESPACE を含む<XML 妥当要素名前空間指定>を含む<XML

型>を含んではならない。

13)

【この

適合性規則を挿入する。】機能 X264“XML 型:スキーマ位置”なしでは,適合する SQL 言

語は,<XML 妥当スキーマ位置>を含む<XML 型>を含んではならない。

14)

【この

適合性規則を挿入する。】機能 X190“XML(SEQUENCE)  型”なしでは,適合する SQL 言語

は,<XML 型修飾子>が SEQUENCE の<XML 型>を含んではならない。

6.2

<

フィールド定義>

この細分箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“6.2 <フィールド定義>”を修正する。

機能

<フィールド定義> (<field definition>)  は,行型のフィールドを定義する。

形式

追加の

形式項目なし。

構文規則

追加の

構文規則なし。

アクセス規則

追加の

アクセス規則なし。

一般規則

1)

【この

一般規則を挿入する。】<登録 XML スキーマ名>は,登録 XML スキーマを識別する。

適合性規則

1)

【この

適合性規則を挿入する。】機能 X015“XML 型のフィールド”なしでは,適合する SQL 言語

は,XML 型か又は元型が XML 型の個別型のいずれかを基にする<データ型>を含む<フィールド定

義>を含んではならない。

6.3

<

値式一次子>

この細分箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“6.3 <値式一次子>”を修正する。

機能

<値式一次子> (<value expression primary>)  は,構文的に自己区切りである値を指定する。

形式

<

値式一次子> ::=

  !! JIS X 3005-2 (ISO/IEC 9075-2

中の全ての代替手段

 |

<XMLCAST

指定>

構文規則

1)

構文規則  1)  を置き換える。】<値式一次子>の宣言型は,それに単純に含まれる<値式>,<符号な

し値指定>,<列参照>,<集合関数指定>,<ウィンドウ関数>,<スカラ副問合せ>,<CASE 式>,<CAST

指定>,<XMLCAST 指定>,<フィールド参照>,<下位型扱い>,<メソッド呼出し>,<静的メソッ

ド呼出し>,<NEW 指定>,<属性又はメソッド参照>,<参照解決>,<集まり値構成子>,<配列要素

参照>,<マルチ集合要素参照>若しくは<次値式>の宣言型,又はそれに単純に含まれる<ルーチン呼

出し>の実効的戻り型とする。

アクセス規則


32

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

追加の

アクセス規則なし。

一般規則

1)

一般規則  1)  を置き換える。】<値式一次子>の値は,それに単純に含まれる<値式>,<符号なし値

指定>,<列参照>,<集合関数指定>,<ウィンドウ関数>,<スカラ副問合せ>,<CASE 式>,<CAST

指定>,<XMLCAST 指定>,<フィールド参照>,<下位型扱い>,<メソッド呼出し>,<静的メソッ

ド呼出し>,<NEW 指定>,<属性又はメソッド参照>,<参照解決>,<集まり値構成子>,<配列要素

参照>,<マルチ集合要素参照>,<次値式>又は<ルーチン呼出し>の値とする。

適合性規則

追加の

適合性規則なし。

6.4

<CASE

>

この細分箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“6.12 <CASE >”を修正する。

機能

<CASE 式> (<case expression>)  は,条件付けされた値を指定する。

形式

<WHEN

オペランド> ::=

  !! JIS X 3005-2 (ISO/IEC 9075-2

中の全ての代替手段

| <XML CONTENT

述語部分 2>

| <XML DOCUMENT

述語部分 2>

| <XML VALID

述語部分 2>

構文規則

追加の

構文規則なし。

アクセス規則

追加の

アクセス規則なし。

一般規則

追加の

一般規則なし。

適合性規則

追加の

適合性規則なし。

6.5

<CAST

指定>

この細分箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“6.13 <CAST 指定>”を修正する。

機能

<CAST 指定> (<CAST specification>)  は,データ変換を指定する。

形式

<CAST

指定> ::=

  CAST  <

左括弧> <CAST オペランド> AS <CAST 相手>

      [ <XML

受渡し手段> ]

      <

右括弧>

構文規則

1)

構文規則  3)  の後に挿入する。】<XML 受渡し手段>が指定されるならば,<CAST オペランド>は,

<値式>でなければならず,SD 及び TD は,両方とも XML 型でなければならない。

2)

構文規則  3)  の後に挿入する。】SD 及び TD が両方とも XML 型で,かつ,<XML 受渡し手段>が


33

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

指定されないならば,BY REF が暗に想定されるか又は BY VALUE が暗に想定されるかは,処理系

定義とする。

3)

構文規則  6)  を置き換える。】<CAST オペランド>が<値式>ならば,<CAST 指定>中の TD と SD

との正しい組合せは,次の表によって与えられる。

“Y”は,制限なしで,組合せが構文上正しいこ

とを示す。

“M”は,この細分箇条中の他の

構文規則を満たすことを条件として,組合せが正しいこ

とを示す。

“N”は,組合せが正しくないことを示す。

SD TD 

EN AN  C  D  T  TS

YM

DT

BO

UDT

B  RT

CT RW XML

EN  Y Y Y N N N M

M

N  M  N M

N N  N

AN  Y Y Y N N N N N N  M  N M

N N  N

C  Y Y Y Y Y Y Y Y Y  M  N M

N N  N

D  N N Y Y N Y N N N  M  N M

N N  N

T

N N Y N Y Y N N N  M  N M

N N  N

TS  N N Y Y Y Y N N N  M  N M

N N  N

YM M N Y N N N Y N N  M  N M

N N  N

DT  M N Y N N N N Y N  M  N M

N N  N

BO  N N Y N N N N N Y  M  N M

N N  N

UDT M M M M M M

M

M

M

M  M

M

M N  N

B  N N N N N N N N N  M  Y M

N N  N

RT  M M M M M M

M

M

M

M  M

M

N  N  N

CT  N N N N N N N N N  M  N N M N  N 
RW  N N N N N N N N N  N  N N N M  N 
XML N N N N N N N N N  N  N N N N  M

ここで, 
 EN

=

真数

 AN

=

概数

 C

=

文字(固定長若しくは可変長,又は文字長大オブジェクト)

 D

=

日付

 T

=

時刻

 TS

=

時刻印

 YM

=

年月時間隔

 DT =

日時刻時間隔

 BO

=

ブール

 UDT

=

利用者定義型

B = 2 進オクテット(固定長若しくは可変長,又は 2 進オクテット長大オブジェクト)

 RT

=

参照型

 CT

=

集まり型

 RW

=

行型

XML = XML 型

4)

構文規則  15)  の前に挿入する。】BY REF が指定されるか又は暗に想定されるならば,次による。

場合:

a)

TD

が XML(DOCUMENT(UNTYPED))  又は XML(CONTENT(UNTYPED))  のいずれかならば,SD

は,XML(DOCUMENT(UNTYPED))  又は XML(CONTENT(UNTYPED))  のいずれかでなければな

らない。

b)  TD

が XML(DOCUMENT(XMLSCHEMA))  又は XML(CONTENT(XMLSCHEMA))  のいずれかなら

ば,次による。


34

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

場合:

i)

TD

の型記述子が XML 名前空間 URI  を含み,かつ,大域要素宣言スキーマ構成要素の XML

NCName  EN を 含 む な ら ば , SD は , XML(DOCUMENT(XMLSCHEMA))  又 は
XML(CONTENT(XMLSCHEMA))  のいずれかでなければならず,TD の型記述子に含まれる登

録 XML スキーマ記述子によって識別される XML スキーマが,SD の型記述子に含まれる登録

XML スキーマ記述子によって識別される XML スキーマと同一で,かつ,[Namespaces]  で規

定するとおりに と同一の XML 名前空間 URI 及び EN と等価な XML NCName を SD の型記述

子が含まなければならない。

ii)  TD

の型記述子が XML 名前空間 URI を含むならば,

SD

は,

XML(DOCUMENT(XMLSCHEMA))

又は XML(CONTENT(XMLSCHEMA))  のいずれかでなければならず,TD の型記述子に含まれ

る登録 XML スキーマ記述子によって識別される XML スキーマが,SD の型記述子に含まれる

登録 XML スキーマ記述子によって識別される XML スキーマと同一で,かつ,[Namespaces]  で

規定するとおりに と同一の XML 名前空間 URI を SD の型記述子が含まなければならない。

iii)

そ う で な け れ ば , SD

は , XML(DOCUMENT(XMLSCHEMA))

又 は

XML(CONTENT(XMLSCHEMA))  のいずれかでなければならず,TD の型記述子に含まれる登

録 XML スキーマ記述子によって識別される XML スキーマが,SD の型記述子に含まれる登録

XML スキーマ記述子によって識別される XML スキーマと同一でなければならない。

アクセス規則

追加の

アクセス規則なし。

一般規則

1)

一般規則  3)  の前に挿入する。】SD 及び TD が両方とも XML 型ならば,次による。

a)

場合:

i)

TD

XML(DOCUMENT(UNTYPED))

XML(DOCUMENT(ANY))

XML(DOCUMENT(XMLSCHEMA))  で,かつ,SV が,ただ一つの XQuery 要素ノード,0 個以

上の XQuery コメントノード及び 0 個以上の XQuery 処理命令ノードを含む children 特性をもつ

XQuery 文書ノードである唯一の XQuery 項目をもつ長さ 1 の XQuery 並びでないならば,例外

条件:

データ例外  (data exception)−XML 文書ではない  (not an XML document)  が引き起こされ

る。

ii)  TD

XML(CONTENT(UNTYPED))

XML(CONTENT(ANY))

XML(CONTENT(XMLSCHEMA))  で,かつ,SV が,XQuery 文書ノードである唯一の XQuery

項目をもつ長さ 1 の XQuery 並びでないならば,例外条件:

データ例外−XQuery 文書ノードで

はない  (not an XQuery document node)  が引き起こされる。

b)

場合:

i) BY

VALUE が指定されるか又は暗に想定されるならば,次による。

場合:

1)

TD

が XML(DOCUMENT(XMLSCHEMA))  又は XML(CONTENT(XMLSCHEMA))  のいずれか

ならば,<CAST 相手>に含まれる<副 XML 型修飾子>を とする。

A)

場合:

I)

TD

が XML(DOCUMENT(XMLSCHEMA))  ならば,DOCUMENT を DCS とする。

II)

そうでなければ,CONTENT を DCS とする。


35

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

B)  TV

は,次の<XMLVALIDATE 関数>の結果とする。

XMLVALIDATE ( DCS VE ACCORDING TO S )

2)

TD

が XML(DOCUMENT(ANY)),XML(CONTENT(ANY))  又は XML(SEQUENCE)  のいずれ

かならば,SV を VALUE として,

10.18 XML 値の写しの構成”の

一般規則を適用する。こ

れらの

一般規則の適用によって戻される COPY を TV とする。

3)

そうでなければ,

SV

を XQUERYDOCNODE として,

10.19  妥当性を検証していない XQuery

文書ノードの構成”の

一般規則を適用する。これらの一般規則の適用によって戻される

UNVALIDATEDDOCNODE

を TV とする。

適合性規則

追加の

適合性規則なし。

6.6

<XMLCAST

指定>

機能

<XMLCAST 指定> (<XML cast specification>)  は,変換元データ型又は相手データ型が XML 型のデータ

変換を指定する。

形式

<XMLCAST

指定> ::=

  XMLCAST  <

左括弧> <XMLCAST オペランド> AS

      <XMLCAST

相手> [<XML 受渡し手段> ] <右括弧>

<XMLCAST

オペランド> ::=

  <

値式>

 |

<

暗黙型付き値指定>

<XMLCAST

相手> ::=

  <

定義域名>

 |

<

データ型>

構文規則

1)

場合:

a) <XMLCAST

指定>が<XML 2 進オクテット符号化>の有効範囲内に含まれるならば,<XMLCAST

指定>を含む最も内側の有効範囲をもつ<XML 2 進オクテット符号化>を XBE とする。

b)

そうでなければ,処理系定義の<XML 2 進オクテット符号化>を XBE とする。

2)

場合:

a)

XBE

が BASE64 を指定するならば,2 進オクテット列を base64 で符号化すべきことを示す標識を

ENC

とする。

b)

そうでなければ,2 進オクテット列を hex で符号化すべきことを示す標識を ENC とする。

3)

場合:

a) <XMLCAST

相手>が<定義域名>ならば,指定された定義域のデータ型を TD とする。

b)

そうでなければ,<データ型>によって識別されるデータ型を TD とする。<データ型>は,

<COLLATE 句>を含んではならない。

4)

次のうちの少なくとも一つが真でなければならない。

a)

TD

が XML 型である。

b) <XMLCAST

オペランド>が,XML 型の宣言型をもつ<値式>である。


36

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

5)

TD

は,集まり型,元型が集まり型の個別型,行型,構造型又は参照型であってはならない。

6) <XMLCAST

指定>の結果の宣言型は,TD とする。

7)

TD

XML(DOCUMENT(UNTYPED))

XML(DOCUMENT(ANY))

XML(DOCUMENT(XMLSCHEMA))  又は XML(CONTENT(XMLSCHEMA))  のい ずれかなら ば,
<XMLCAST オペランド>は,NULL か又は XML 型の宣言型をもつ<値式>でなければならない。

8) <XMLCAST

オペランド>が<値式>VE ならば,VE の宣言型を SD とする。

9) <XML

受渡し手段>が指定されるならば,次による。

a) <XMLCAST

オペランド>は,<値式>でなければならない。

b)  SD

及び TD は,両方とも XML 型でなければならない。

10) <XMLCAST

オペランド>が<値式>VE ならば,次による。

場合:

a)

VE

が<動的パラメタ指定>DPS を単純に含むならば,<XMLCAST 指定>は,次の<CAST 指定>と

等価とする。

CAST ( DPS AS TD )

b)

そうでなければ,次による。

i)

SD

は,集まり型,元型が集まり型の個別型,行型,構造型又は参照型であってはならない。

ii)  SD

及び TD が両方とも XML 型ならば,次による。

1) <XML

受渡し手段>が指定されないならば,BY REF が暗に想定されるか又は BY VALUE が

暗に想定されるかは,処理系定義とする。

2)

暗に想定されるか又は陽に指定される<XML 受渡し手段>を XPM とする。

3) <XMLCAST

指定>は,次の<CAST 指定>と等価とする。

CAST ( VE AS TD XPM )

11) <XMLCAST

オペランド>が<暗黙型付き値指定>ITVS ならば,<XMLCAST オペランド>は,次の

<CAST 指定>と等価とする。

CAST ( ITVS AS TD )

12)  TD

が文字列型ならば,

<XMLCAST 指定>の宣言型照合順は,TD の文字集合の文字集合照合順とし,

照合順起源は,

暗黙  (implicit)  とする。

13) <XMLCAST

相手>が<定義域名>ならば,<定義域名>によって識別される定義域を とする。<定義

域名>の陽に指定されるか又は暗に想定される修飾子によって識別されるスキーマは,の記述子

を含んでいなければならない。

14)

場合:

a) <XMLCAST

相手>が<定義域名>ならば,識別される定義域の<データ型>を SQLT とする。

b) <XMLCAST

相手>が個別型を識別するならば,個別型の元型を SQLT とする。

c)

そうでなければ,<データ型>を SQLT とする。

15)

場合:

a)

SQLT

が文字列型ならば,xs:string を XT とする。

b)  SQLT

が 2 進オクテット列型ならば,次による。

場合:

i)

XBE

が BASE64 を指定するならば,xs:base64Binary を XT とする。

ii)

そうでなければ,xs:hexBinary を XT とする。


37

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

c)

SQLT

が真数型ならば,次による。

場合:

i)

SQLT

の型指示子が DECIMAL 又は NUMERIC ならば,xs:decimal を XT とする。

ii)  SQLT

の型指示子が SMALLINT,INTEGER 又は BIGINT ならば,xs:integer を XT とする。

d)  SQLT

が概数型ならば,xs:double を XT とする。

e)

SQLT

が日時型ならば,次による。

場合:

i)

SQLT

の型指示子が DATE ならば,xs:date を XT とする。

ii)  SQLT

の型指示子が TIME WITH TIME ZONE ならば,xs:time を XT とする。

iii)  SQLT

の型指示子が TIME WITHOUT TIME ZONE ならば,xs:time を XT とする。

iv)  SQLT

の型指示子が TIMESTAMP WITH TIME ZONE ならば,xs:dateTime を XT とする。

v)

SQLT

の型指示子が TIMESTAMP WITHOUT TIME ZONE ならば,

xs:dateTime

を XT とする。

f)

そうでなければ,SQLT を SQLTYPE として,ENC を ENCODING として,

“未指定 (absent)”を

NULLS

として,

9.5 SQL データ型の XML スキーマデータ型への対応付け”の

一般規則を適用す

る。これらの

一般規則の適用によって戻される SCHEMA TYPE を XT とする。

アクセス規則

1)

TD

が個別型ならば,

TD

の元型を STD とし,

宣言型 STD の任意の<値式>を AVE とする。

6.5 <CAST

指定>”の

アクセス規則を次の<CAST 指定>に適用する。

CAST ( AVE AS TD )

2)

SD

が個別型ならば,SD の元型を SSD とする。

6.5 <CAST 指定>”の

アクセス規則を次の<CAST

指定>に適用する。

CAST ( VE AS SSD )

3) <XMLCAST

相手>が<定義域名>ならば,次による。

場合:

a) SQL

SECURITY

INVOKER を指定する<SQL ルーチン指定>を介在しないで,<XMLCAST 指定>

が<SQL スキーマ文>に含まれるならば,その<SQL スキーマ文>を含むスキーマを所有する<認可

識別子>の適用可能な権限は,<定義域名>によって識別される定義域に関する USAGE を含まなけ

ればならない。

b)

そうでなければ,現行の権限は,<定義域名>によって識別される定義域に関する USAGE を含ま

なければならない。

一般規則

1) <XMLCAST

指定>に単純に含まれる<XMLCAST オペランド>の値を とする。

2)

V

がナル値ならば,<XMLCAST 指定>の結果は,ナル値とし,この細分箇条のこれ以降の

一般規則

を適用しない。

3)

TD

が XML 型ならば,次による。

a)

V

を SQLVALUE として,ENC を ENCODING として,

“未指定 (absent)”を NULLS として,

(True)  を CHARMAPPING として,“9.8 SQL データ型の値の XML スキーマデータ型の値への対

応付け”の

一般規則を適用する。これらの一般規則の適用によって戻される XMLVALUE を XMLV

とする。

b)

次の<XMLPARSE 関数>の結果を TEMPV とする。


38

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

XMLPARSE ( CONTENT XMLV PRESERVE WHITESPACE )

c)

TD

が XML(CONTENT(UNTYPED))  又は XML(CONTENT(ANY))  ならば,

TEMPV

を TV とする。

d)  TD

が XML(SEQUENCE)  ならば,次による。

i)

SD

を SQLTYPE として,ENC を ENCODING として,

“未指定 (absent)”を NULLS として,

9.5

SQL データ型の XML スキーマデータ型への対応付け”の一般規則を適用する。これらの一般

規則の適用によって戻される SCHEMA TYPE を XST とする。

ii)

場合:

1)

SD

が年月時間隔型ならば,XQuery 単純型 xs:yearMonthDuration を XSBT とする。

2)

SD

が日時刻時間隔型ならば,XQuery 単純型 xs:dayTimeDuration を XSBT とする。

3)

XST

が XML スキーマ組込みデータ型ならば,XST を XSBT とする。

4)

XST

が XML スキーマ基本単位型ならば,XST の導出元の XML スキーマ組込みデータ型を

XSBT

とする。

iii)  XSBT

の XML 1.1 QName を XSBTN とする。

iv)

ナル値を NONTERMINAL として,

10.20 XQuery 式文脈の作成”の

構文規則を適用する。これ

らの

構文規則の適用によって戻される STATICCONTEXT を XSC とする。

10.20 XQuery 式文脈

の 作 成 ” の

一 般 規 則 を 適 用 す る 。 こ れ ら の 一 般 規 則 の 適 用 に よ っ て 戻 さ れ る

DYNAMICCONTEXT

を XDC とする。

注記 19  XSC は,XQuery 静的文脈である。XDC は,XQuery 動的文脈である。

v) XQuery

形式的型表記法が“document { text ? }”で,かつ,値が TEMPV の XQuery 変数

$TEMP

を,XSC 及び XDC に補う。

vi)

場合:

1)

機能 X211“XML 1.1 提供”を SQL 処理系が提供するならば,XQuery 式文脈として XSC 及び

XDC

を用いての次の XQuery 式の XML 1.1  語彙規則での XQuery 評価の結果を TV とする。

   $TEMP  cast  as  XSBTN

この XQuery 評価が XQuery 誤りを引き起こすならば,例外条件:XQuery

誤り  (XQuery error)

が引き起こされる。

2) XQuery

式文脈として XSC 及び XDC を用いての次の XQuery 式の XML 1.0 語彙規則での

XQuery 評価の結果を TV とする。

   $TEMP  cast  as  XSBTN

この XQuery 評価が XQuery 誤りを引き起こすならば,例外条件:XQuery

誤り  が引き起こさ

れる。

e) <XMLCAST

指定>の結果は,TV とする。

4)

SD

が XML 型で,かつ,TD が XML 型でないならば,次による。

a)

V

を SEQUENCE として,

10.17 XQuery 並びからの XQuery 文書ノードの除去”の

一般規則を適

用する。これらの

一般規則の適用によって戻される RESULT を XV とする。

b) XQuery

関数 fn:data()  を XV に適用した結果を AV とする。

c)

AV

が空の並びならば,結果は,ナル値とし,この細分箇条のこれ以降の

一般規則を適用しない。

d)  XT

の XML 1.1 QName を XMLT とする。

注記 20  XMLT は,接頭辞 xs で示される組込み名前空間の一つの中に存在してもよいし,利用者

が必ずしも利用できない処理系依存の名前空間中に存在してもよい。


39

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

e)

ナル値を NONTERMINAL として,

10.20 XQuery 式文脈の作成”の

構文規則を適用する。これら

構文規則の適用によって戻される STATICCONTEXT を XSC とする。

注記 21  XSC は,XQuery 静的文脈である。

f)

10.20 XQuery 式文脈の作成”の

一般規則を適用する。これらの一般規則の適用によって戻され

る DYNAMICCONTEXT を XDC とする。

注記 22  XDC は,XQuery 動的文脈である。

g) XQuery

形式的型表記法が“xs:anyAtomicType”で,かつ,値が AV の XQuery 変数$TEMP を,

XSC

及び XDC に補う。

h) XQuery

式文脈として XSC 及び XDC を用いての次の XQuery 式の XML 1.1 語彙規則での XQuery

評価の結果を BV とする。

場合:

i)

SQLT

が TIMESTAMP WITHOUT TIME ZONE ならば,次の XQuery 式。

fn:adjust-dateTime-to-timezone(

  fn:adjust-dateTime-to-timezone( $TEMP cast as xs:dateTime,

          xs:dayTimeDuration("PT0H")

         ), () ) cast as XMLT

ii)  SQLT

が TIME WITHOUT TIME ZONE ならば,次の XQuery 式。

fn:adjust-time-to-timezone(

  fn:adjust-time-to-timezone( $TEMP cast as xs:time,

                                    xs:dayTimeDuration("PT0H")

                                  ), () ) cast as XMLT

iii)  SQLT

が DATE ならば,次の XQuery 式。

fn:adjust-date-to-timezone(

  fn:adjust-date-to-timezone( $TEMP cast as xs:date,

                                    xs:dayTimeDuration("PT0H")

                                  ), () ) cast as XMLT

iv)

そうでなければ,次による。

$TEMP

 cast as XMLT

この XQuery 評価が XQuery 誤りを引き起こすならば,

例外条件:XQuery

誤り  が引き起こされる。

i)

BV

は,XQuery 基本単位値とする。

注記 23  次の規則は,XQuery 基本単位型の値空間が,対応する SQL 型の値空間と同じであると

いう事実に基づいている。すなわち,BV を SQL 型の値として扱うことができる。例え

ば,BV が型 xs:integer の値ならば,BV は,

(数学的な)整数である。したがって,

位取り 0 の真数型の値であってもよい。

4.10.7 XQuery 基本単位値の SQL 値への対応付

け”参照。

場合:

i)

XT

が xs:string であるか又は xs:string から導出されるならば,Unicode の文字レパート

リをもち,かつ,BV の値をもつ文字列型の任意の<定数>を とする。

ii)  XT

が xs:hexBinary であるか又は xs:hexBinary から導出されるならば,

hex で復号化した

BV

の値をもつ 2 進オクテット列型の任意の<定数>を とする。


40

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

iii)  XT

が xs:base64Binary であるか又は xs:base64Binary から導出されるならば,その

base64 で復号化した BV の値をもつ 2 進オクテット列型の任意の<定数>を とする。

iv)  XT

が xs:decimal であるか又は xs:decimal から導出されるならば,BV の値をもつ真数型

の任意の<定数>を とする。

v)

XT

が xs:float 若しくは xs:double であるか,又は xs:float 若しく xs:double から導

出されるならば,次による。

1)

AV

が INF,

-INF 又は NaN ならば,例外条件:データ例外  (data exception)−数値範囲外  (numeric 

value out of range)

が引き起こされる。

2)

BV

の値をもつ概数型の任意の<定数>を とする。

vi)  XT

が xs:date であるか又は xs:date から導出されるならば,次による。

1)

AV

の XQuery 日時正規化値構成要素が正の値でないならば,例外条件:

データ例外−日時形

式が正しくない  (invalid datetime format)  が引き起こされる。

2)

BV

の値をもつ宣言型 SQLT の任意の<定数>を とする。

vii)  XT

が xs:dateTime であるか又は xs:dateTime から導出されるならば,次による。

1)

AV

の XQuery 日時正規化値構成要素が正の値でないならば,例外条件:

データ例外−日時形

式が正しくない  が引き起こされる。

2)

SQLT

が TIMESTAMP WITHOUT TIME ZONE ならば,BV の値をもつ宣言型 TIMESTAMP

WITHOUT TIME ZONE の任意の<定数>を とする。

3)

SQLT

が TIMESTAMP WITH TIME ZONE ならば,次による。

場合:

A)  AV

の XQuery 日時時刻帯構成要素が空の XQuery 並びならば,次による。

I)

ナル値を NONTERMINAL として,

10.20 XQuery 式文脈の作成”

構文規則を適用する。

これらの

構文規則の適用によって戻される STATICCONTEXT を XSC2 とする。

注記 24  XSC2 は,XQuery 静的文脈である。

II)

10.20 XQuery 式文脈の作成”の

一般規則を適用する。これらの一般規則の適用によっ

て戻される DYNAMICCONTEXT を XDC2 とする。

注記 25  XDC2 は,XQuery 動的文脈である。

III) XQuery

形式的型表記法が“xs:anyAtomicType”で,かつ,値が BV の XQuery 変数

$TEMP

を,XSC2 及び XDC2 に補う。

IV) XQuery

式文脈として XSC2 及び XDC2 を用いての次の XQuery 式の XML 1.1  語彙規則で

の XQuery 評価の結果を CV とする。

fn:adjust-dateTime-to-timezone(

  $TEMP cast as xs:dateTime,

  xs:dayTimeDuration("PT0H") ) cast as XMLT

V)  CV

の値をもつ宣言型 TIMESTAMP WITH TIME ZONE の任意の<定数>を とする。

B)

そうでなければ,BV の値をもつ宣言型 TIMESTAMP WITH TIME ZONE の任意の<定数>を

A

とする。

viiiXT

が xs:time であるか又は xs:time から導出されるならば,次による。

場合:

1)

SQLT

が TIME WITHOUT TIME ZONE ならば,BV の XQuery 日時正規化値である値をもつ宣


41

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

言型 TIME WITHOUT TIME ZONE の任意の<定数>を とする。

2)

SQLT

が TIME WITH TIME ZONE ならば,次による。

A)  AV

の XQuery 日時時刻帯構成要素が空の XQuery 並びならば,次による。

I)

ナル値を NONTERMINAL として,

10.20 XQuery 式文脈の作成”

構文規則を適用する。

これらの

構文規則の適用によって戻される STATICCONTEXT を XSC3 とする。

注記 26  XSC3 は,XQuery 静的文脈である。

II)

10.20 XQuery 式文脈の作成”の

一般規則を適用する。これらの一般規則の適用によっ

て戻される DYNAMICCONTEXT を XDC3 とする。

注記 27  XDC3 は,XQuery 動的文脈である。

III) XQuery

形式的型表記法が“xs:anyAtomicType”で,かつ,値が BV の XQuery 変数

$TEMP

を,XSC3 及び XDC3 に補う。

IV) XQuery

式文脈として XSC3 及び XDC3 を用いての次の XQuery 式の XML 1.1  語彙規則で

の XQuery 評価の結果を CV とする。

fn:adjust-time-to-timezone(

  $TEMP cast as xs:time,

  xs:dayTimeDuration("PT0H") ) cast as XMLT

V)  CV

の値をもつ

(より正確には,

CV

の XQuery 日時正規化値である UTC 構成要素をもち,

かつ,CV の XQuery 日時時刻帯構成要素である時刻帯構成要素をもつ)宣言型 TIME

WITH TIME ZONE の任意の<定数>を とする。

B)

そうでなければ,BV の値をもつ(より正確には,BV の XQuery 日時正規化値である UTC

構成要素をもち,かつ,BV の XQuery 日時時刻帯構成要素である時刻帯構成要素をもつ)

宣言型 TIME WITH TIME ZONE の任意の<定数>を とする。

ix)  XT

が xs:yearMonthDuration であるか又は xs:yearMonthDuration から導出されるなら

ば,BV の値をもつ年月時間隔型の任意の<定数>を とする。

x)

XT

が xs:dayTimeDuration であるか又は xs:dayTimeDuration から導出されるならば,

BV

の値をもつ日時刻時間隔型の任意の<定数>を とする。

xi)  XT

が xs:boolean であるか又は xs:boolean から導出されるならば,BV の値をもつ宣言型

BOOLEAN の任意の<定数>を とする。

j) <XMLCAST

指定>の結果は,次の<CAST 指定>の結果とする。

CAST ( A AS SQLT )

注記 28  の値が SQLT の制約に適合しないならば,これは,警告又は例外条件を引き起こして

もよい。また,型 SQLT の値を生成するために,丸め,切捨てなどを行ってもよい。

適合性規則

1)

機能 X025“XMLCast”なしでは,適合する SQL 言語は,<XMLCAST 指定>を含んではならない。

6.7

<

値式>

この細分箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“6.26 <値式>”を修正する。

機能

<値式> (<value expression>)  は,値を指定する。

形式

<

共通値式> ::=


42

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

  !! JIS X 3005-2 (ISO/IEC 9075-2

中の全ての代替手段

 |

<XML

値式>

構文規則

1)

構文規則  2)  を置き換える。】<共通値式>の宣言型は,それぞれ,<数値式>,<データ列値式>,<

日時値式>,<時間隔値式>,<利用者定義型値式>,<集まり値式>,<参照値式>又は<XML 値式>の

宣言型とする。

2)

構文規則  7)c)ii)  の後に挿入する。】結果の型が XML 型で,XML 型である宣言型を<CAST オペ

ランド>がもち,かつ,<XML 受渡し手段>が BY VALUE を指定しているか又は暗に想定する<CAST

指定>。

3)

構文規則  7)n)  の後に挿入する。】<XML 集約>を指定する<集約関数>。

4)

構文規則  7)t)  の後に挿入する。】次のうちの一つを満たす<XML VALID 述語>XVP

a)

XVP

が<XML 妥当 ACCORDING TO 句>を指定しない。

b)

非決定的である登録 XML スキーマを識別する<XML 妥当 ACCORDING TO 句>を XVP が指定し,

かつ,<XML 妥当要素名前空間指定>の<XML 妥当要素名指定>を XVP が指定しない。

c)

非決定的である XML 名前空間を識別する<XML 妥当 ACCORDING TO 句>を XVP が指定し,か

つ,<XML 妥当要素名指定>を XVP が指定しない。

d)

登録 XML スキーマの非決定的である大域要素宣言スキーマ構成要素を識別する<XML 妥当要素

句>を XVP が指定する。

注記 29  これは,決定的である登録 XML スキーマを識別するか,登録 XML スキーマの決定的で

ある XML 名前空間を識別する<XML 妥当要素名前空間指定>を含むか,又は登録 XML

スキーマの決定的である大域要素宣言スキーマ構成要素を識別する<XML 妥当要素名指

定>を含む<XML 妥当 ACCORDING TO 句>を<検査制約定義>又は<表明定義>中で用いる

<XML VALID 述語>が含まなければならないことを暗に示している。

5)

構文規則  7)t)  の後に挿入する。】<XMLQUERY 関数>及び<XML 連結>以外の<XML 値関数>。

6)

構文規則  7)t)  の後に挿入する。】<XMLQUERY 関数>の結果が決定的であることを SQL 処理系が

推論できる処理系定義の規則に適合しない<XMLQUERY 関数>。

7)

構文規則  7)t)  の後に挿入する。】RETURNING SEQUENCE を暗にも陽にも指定しない<XML 連

結>。

8)

構文規則  7)t)  の後に挿入する。】<XML 文字列直列化>又は<XML 2 進オクテット列直列化>。

9)

構文規則  7)t)  の後に挿入する。】<XMLEXISTS 述語>の結果が決定的であることを SQL 処理系が

推論できる処理系定義の規則に適合しない<XMLEXISTS 述語>。

10)

構文規則  7)t)  の後に挿入する。】<XMLCAST 相手>が XML 型で,XML 型である宣言型を

<XMLCAST オペランド>がもち,かつ,<XML 受渡し手段>が BY VALUE を指定しているか又は暗

に想定する<XMLCAST 指定>。

11)

構 文 規 則   7)t)  の 後 に 挿 入 す る 。】 <XMLCAST 相 手 > が XML(CONTENT(ANY))  型 又 は

XML(CONTENT(UNTYPED))  型のいずれかで,かつ,XML 型でない宣言型を<XMLCAST オペラン

ド>がもつ<XMLCAST 指定>。

アクセス規則

追加の

アクセス規則なし。

一般規則


43

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

1)

一般規則  2)  を置き換える。】<共通値式>の値は,それに直に含まれる<数値式>,<データ列値式

>,<日時値式>,<時間隔値式>,<利用者定義型値式>,<集まり値式>,<参照値式>又は<XML 値式

>の値とする。

適合性規則

追加の

適合性規則なし。

6.8

<

データ列値関数>

この細分箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“6.30 <データ列値関数>”を修正する。

機能

<データ列値関数> (<string value function>)  は,文字列型又は 2 進オクテット列型の値を生成する関数を

指定する。

形式

<

文字値関数> ::=

  !! JIS X 3005-2 (ISO/IEC 9075-2

中の全ての代替手段

 |

<XML

文字列直列化>

<XML

文字列直列化> ::=

  XMLSERIALIZE  <

左括弧> [ <文書又は内容> ]

      <XML

値式> AS <データ型>

      [ <XML

直列化 BOM> ]

      [ <XML

直列化 VERSION> ]

      [ <XML

宣言選択肢> ]

      [ <XML

直列化 INDENT> ]

      <

右括弧>

<XML

直列化 VERSION> ::=

  VERSION  <

文字列定数>

<XML

直列化 BOM> ::=

  WITH [ NO ] BOM

<XML

宣言選択肢> ::=

  INCLUDING  XMLDECLARATION

| EXCLUDING XMLDECLARATION

<XML

直列化 INDENT> ::=

  [ NO ] INDENT

<

文書又は内容> ::=

  DOCUMENT

 |

CONTENT

<2

進オクテット値関数> ::=

  !! JIS X 3005-2 (ISO/IEC 9075-2

中の全ての代替手段

| <XML 2

進オクテット列直列化>

<XML 2

進オクテット列直列化> ::=

  XMLSERIALIZE  <

左括弧> [ <文書又は内容> ]

      <XML

値式> AS <データ型>


44

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

      [  ENCODING  <XML

符号化指定> ]

      [ <XML

直列化 BOM> ]

      [ <XML

直列化 VERSION> ]

      [ <XML

宣言選択肢> ]

      [ <XML

直列化 INDENT> ]

      <

右括弧>

<XML

符号化指定> ::=

  <XML

符号化名>

<XML

符号化名> ::=

  <SQL

言語識別子>

構文規則

1)

構文規則 2)  を置き換える。】<文字値関数>の宣言型は,それに直に含まれる<文字部分列関数>,

<正規表現部分列関数>,<SUBSTRING_REGEX 関数>,<大文字小文字変換>,<符号変換>,<文字

文字変換>,<TRANSLATE_REGEX 関数>,<TRIM 関数>,<文字 OVERLAY 関数>,<NORMALIZE

関数>,<特定型メソッド>又は<XML 文字列直列化>の宣言型とする。

2)

【この

構文規則を挿入する。】<XML 文字列直列化>が指定されるならば,次による。

a) <

文書又は内容>が指定されないならば,CONTENT を指定する<文書又は内容>が暗に想定される。

b) <

データ型>は,文字列型でなければならない。<XML 文字列直列化>の宣言型は,<データ型>と

する。

c) <XML

直列化 VERSION>に直に含まれる<文字列定数>は,'1.0'  若しくは '1.1' であるか,又は

[XML 1.0]

及び  [XML 1.1]  の後継規格を識別するかのいずれかでなければならない。

d) <XML

直列化 VERSION>が指定されないならば,処理系定義の<XML 直列化 VERSION>が暗に想

定される。

3)

構文規則  17)  を置き換える。】<2 進オクテット値関数>の宣言型は,それに直に含まれる<2 進オ

クテット部分列関数>,<2 進オクテット TRIM 関数>,<2 進オクテット OVERLAY 関数>又は<XML

2 進オクテット列直列化>の宣言型とする。

4)

【この

構文規則を挿入する。】<XML 2 進オクテット列直列化>が指定されるならば,次による。

a) <

文書又は内容>が指定されないならば,CONTENT を指定する<文書又は内容>が暗に想定される。

b) <

データ型>は,2 進オクテット列型でなければならない。

c) <XML

2 進オクテット列直列化>の宣言型は,<データ型>とする。

d) <XML

符号化指定>が指定されないならば,処理系定義の<XML 符号化名>が暗に想定される。

e)

提供される<XML 符号化名>は,処理系定義とする。

f) <XML

直列化 VERSION>に直に含まれる<文字列定数>は,'1.0'  若しくは '1.1' であるか,又は

[XML 1.0]

及び  [XML 1.1]  の後継規格を識別するかのいずれかでなければならない。

g) <XML

直列化 VERSION>が指定されないならば,処理系定義の<XML 直列化 VERSION>が暗に想

定される。

アクセス規則

追加の

アクセス規則なし。

一般規則

1)

一般規則  2)  を置き換える。】<文字値関数>の結果は,それに直に含まれる<文字部分列関数>,<


45

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

正規表現部分列関数>,<SUBSTRING_REGEX 関数>,<大文字小文字変換>,<符号変換>,<文字文

字変換>,<TRANSLATE_REGEX 関数>,<TRIM 関数>,<文字 OVERLAY 関数>,<NORMALIZE 関

数>,<特定型メソッド>又は<XML 文字列直列化>の結果とする。

2)

【この

一般規則を挿入する。】<XML 文字列直列化>が指定されるならば,次による。

a)

陽に指定されるか又は暗に想定される<文書又は内容>を DCS とする。

b) <XML

値式>の値を XMLV とする。

c) <

データ型>を DT とする。

d)  DT

の文字集合を CS とする。

e)

場合:

i) <

XML 直列化 BOM>が指定されるならば,次による。

場合:

1) WITH

BOM が指定されるならば,真  (True)  を とする。

2)

そうでなければ,

偽  (False)  を とする。

ii)

そうでなければ,

不定  (Unknown)  を とする。

f)

陽に指定されるか又は暗に想定される<XML 直列化 VERSION>に単純に含まれる<データ列値式

>を VER とする。

g)

場合:

i) <XML

宣言選択肢>が指定され,それが INCLUDING XMLDECLARATION を指定するならば,

真  を DECL とする。

ii) <XML

宣言選択肢>が指定され,それが EXCLUDING XMLDECLARATION を指定するならば,

偽  を DECL とする。

iii)

そうでなければ,

不定  を DECL とする。

h)

場合:

i) <XML

直列化 INDENT>が指定され,それが NO を含まないならば,

真  を IND とする。

ii)

そうでなければ,

偽  を IND とする。

i)

XMLV

を VALUE として,DCS を SYNTAX として,DT を TYPE として,CS を ENCODING とし

て,を BOMDIA として,VER を VERSION として,DECL を XMLDECLARATION として,IND

を INDENT として,

10.15 XML 値の直列化”の

一般規則を適用する。これらの一般規則の適用

によって戻される SERIALIZATION を<XML 文字列直列化>の結果とする。

3)

一般規則  13)  を置き換える。】<2 進オクテット値関数>の結果は,それに単純に含まれる<2 進オ

クテット部分列関数>,<2 進オクテット TRIM 関数>,<2 進オクテット OVERLAY 関数>又は<XML

2 進オクテット列直列化>の結果とする。

4)

【この

一般規則を挿入する。】<XML 2 進オクテット列直列化>が指定されるならば,次による。

a)

陽に指定されるか又は暗に想定される<文書又は内容>を DCS とする。

b) <XML

値式>の値を XMLV とする。

c) <

データ型>を DT とする。

d) <XML

符号化名>を XEN とする。

e)

場合:

i) <XML

直列化 BOM>が指定されるならば,次による。

場合:


46

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

1) WITH

BOM が指定されるならば,真  を とする。

2)

そうでなければ,

偽  を とする。

ii)

そうでなければ,

不定  を とする。

f)

陽に指定されるか又は暗に想定される<XML 直列化 VERSION>に単純に含まれる<データ列値式

>を VER とする。

g)

場合:

i) <XML

宣言選択肢>が指定され,それが INCLUDING XMLDECLARATION を指定するならば,

真  を DECL とする。

ii) <XML

宣言選択肢>が指定され,それが EXCLUDING XMLDECLARATION を指定するならば,

偽  を DECL とする。

iii)

そうでなければ,

不定  を DECL とする。

h)

場合:

i) <XML

直列化 INDENT>が指定され,それが NO を含まないならば,

真  を IND とする。

ii)

そうでなければ,

偽  を IND とする。

i)

XMLV

を VALUE として,DCS を SYNTAX として,DT を TYPE として,XEN を ENCODING 

して,を BOMDIA として,VER を VERSION として,DECL を XMLDECLARATION として,

IND

を INDENT として,

10.15 XML 値の直列化”の

一般規則を適用する。これらの一般規則の

適用によって戻される SERIALIZATION を<XML 2 進オクテット列直列化>の結果とする。

適合性規則

1)

【この

適合性規則を挿入する。】機能 X070“XMLSerialize:文字列直列化及び CONTENT 選択肢”

なしでは,適合する SQL 言語は,CONTENT である<文書又は内容>を直に含む<XML 文字列直列化

>を含んではならない。

2)

【この

適合性規則を挿入する。】機能 X071“XMLSerialize:文字列直列化及び DOCUMENT 選択肢”

なしでは,適合する SQL 言語は,DOCUMENT である<文書又は内容>を直に含む<XML 文字列直列

化>を含んではならない。

3)

【この

適合性規則を挿入する。】機能 X072“XMLSerialize:文字列直列化”なしでは,適合する SQL

言語は,<XML 文字列直列化>を含んではならない。

4)

【この

適合性規則を挿入する。】機能 X073“XMLSerialize:2 進オクテット列直列化及び CONTENT

選択肢”なしでは,適合する SQL 言語は,CONTENT である<文書又は内容>を直に含む<XML 2 進

オクテット列直列化>を含んではならない。

5)

【この

適合性規則を挿入する。】機能 X074“XMLSerialize:2 進オクテット列直列化及び DOCUMENT

選択肢”なしでは,適合する SQL 言語は,DOCUMENT である<文書又は内容>を直に含む<XML 2

進オクテット列直列化>を含んではならない。

6)

【この

適合性規則を挿入する。】機能 X075“XMLSerialize:2 進オクテット列直列化”なしでは,適

合する SQL 言語は,<XML 2 進オクテット列直列化>を含んではならない。

7)

【この

適合性規則を挿入する。】機能 X076“XMLSerialize:VERSION”なしでは,適合する SQL 言

語中で,<XML 文字列直列化>は,VERSION を含んではならない。

8)

【この

適合性規則を挿入する。】機能 X076“XMLSerialize:VERSION”なしでは,適合する SQL 言

語中で,<XML 2 進オクテット列直列化>は,VERSION を含んではならない。

9)

【この

適合性規則を挿入する。】機能 X077“XMLSerialize:陽に指定される ENCODING 選択肢”な


47

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

しでは,適合する SQL 言語は,ENCODING を含む<XML 2 進オクテット列直列化>を含んではなら

ない。

10)

【この

適合性規則を挿入する。】機能 X078“XMLSerialize:陽に指定される XML 宣言”なしでは,

適合する SQL 言語中で,<XML 文字列直列化>は,XMLDECLARATION を含んではならない。

11)

【この

適合性規則を挿入する。】機能 X078“XMLSerialize:陽に指定される XML 宣言”なしでは,

適合する SQL 言語中で,<XML 2 進オクテット列直列化>は,XMLDECLARATION を含んではなら

ない。

12)

【この

適合性規則を挿入する。】機能 X068“XMLSerialize:BOM”なしでは,適合する SQL 言語中

で,<XML 直列化 BOM>を指定してはならない。

13)

【この

適合性規則を挿入する。】機能 X069“XMLSerialize:INDENT”なしでは,適合する SQL 言

語中で,<XML 直列化 INDENT>を指定してはならない。

6.9

<XML

値式>

機能

<XML 値式> (<XML value expression>)  は,XQuery 値を指定する。

形式

<XML

値式> ::=

  <XML

一次子>

<XML

一次子> ::=

  <

値式一次子>

 |

<XML

値関数>

構文規則

1) <XML

一次子>に直に含まれる<値式一次子>の宣言型は,XML 型でなければならない。

2) <XML

値式>の宣言型は,それに単純に含まれる<値式一次子>又は<XML 値関数>の宣言型とする。

アクセス規則

なし。

一般規則

1) <XML

値式>の値は,それに単純に含まれる<値式一次子>又は<XML 値関数>の値とする。

適合性規則

1)

機能 X010“XML 型”なしでは,適合する SQL 言語は,<XML 値式>を含んではならない。

6.10  <XML

値関数>

機能

<XML 値関数> (<XML value function>)  は,型 XML の値を生成する関数を指定する。

形式

<XML

値関数> ::=

  <XMLCOMMENT

関数>

 |

<XML

連結>

 |

<XMLDOCUMENT

関数>

 |

<XMLELEMENT

関数>

 |

<XMLFOREST

関数>

 |

<XMLPARSE

関数>


48

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

 |

<XMLPI

関数>

 |

<XMLQUERY

関数>

 |

<XMLTEXT

関数>

 |

<XMLVALIDATE

関数>

構文規則

1) <XML

値 関 数 > の 宣 言 型 は , そ れ に 直 に 含 ま れ る <XMLCOMMENT 関 数 > , <XML 連 結 > ,

<XMLDOCUMENT 関数>,<XMLELEMENT 関数>,<XMLFOREST 関数>,<XMLPARSE 関数>,
<XMLPI 関数>,<XMLQUERY 関数>,<XMLTEXT 関数>又は<XMLVALIDATE 関数>の宣言型とす

る。

アクセス規則

なし。

一般規則

1) <XML

値 関 数 > の 結 果 は , そ れ に 直 に 含 ま れ る <XMLCOMMENT 関 数 > , <XML 連 結 > ,

<XMLDOCUMENT 関数>,<XMLELEMENT 関数>,<XMLFOREST 関数>,<XMLPARSE 関数>,

<XMLPI 関数>,<XMLQUERY 関数>,<XMLTEXT 関数>又は<XMLVALIDATE 関数>の XML 値と

する。

適合性規則

1)

機能 X010“XML 型”なしでは,適合する SQL 言語は,<XML 値関数>を含んではならない。

6.11  <XMLCOMMENT

関数>

機能

<XMLCOMMENT 関数> (<XML comment>) は,潜在的な XQuery 文書ノードの子として単一の XQuery

コメントノードをもつ XML 値を生成する。

形式

<XMLCOMMENT

関数> ::=

  XMLCOMMENT  <

左括弧> <文字値式>

      [  <XML  RETURNING

句> ] <右括弧>

構文規則

1) <XML

RETURNING 句>が指定されないならば,RETURNING CONTENT が暗に想定されるか又は

RETURNING SEQUENCE が暗に想定されるかは,処理系定義とする。

2) <

文字値式>を SVE とする。

3)

場合:

a) RETURNING

CONTENT が指定されるか又は暗に想定されるならば,<XMLCOMMENT 関数>は,

次の<XMLDOCUMENT 関数>と等価とする。

XMLDOCUMENT ( XMLCOMMENT ( SVE RETURNING SEQUENCE ) RETURNING CONTENT )

b)

そうでなければ,<XMLCOMMENT 関数>の宣言型は,XML(SEQUENCE)  とする。

注記 30 RETURNING CONTENT が指定されるか又は暗に想定されるならば,<XMLCOMMENT 関

数>の宣言型は,

6.13 <XMLDOCUMENT 関数>”の

構文規則によって実効的に定まる。

アクセス規則

なし。

一般規則


49

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

1)

SVE

の値を SV とする。

2)

SV

がナル値ならば,<XMLCOMMENT 関数>の結果は,ナル値とし,この細分箇条のこれ以降の

般規則を適用しない。

3)

次の<値式>の値が,[XML]  の

規則[15] “comment”に適合しないならば,例外条件:データ例外  (data 

exception)

コメントが妥当ではない  (invalid comment)  が引き起こされる。

'<!--' || SV || '-->'

4)

次の特性をもつ XQuery コメントノードを XCII とする。

a)

content

特性の値が,SV の文字集合から Unicode への処理系定義の対応付けを用いて Unicode に

変換された SV の値である。

b)  parent

特性に empty(空)の値が設定されている。

5) <XMLCOMMENT

関数>の結果は,一つのノード XCII から成る XQuery 並びとする。

適合性規則

1)

機能 X036“XMLComment”なしでは,適合する SQL 言語は,<XMLCOMMENT 関数>を含んでは

ならない。

2)

機能 X241“XML 発行における RETURNING CONTENT”なしでは,適合する SQL 言語中で,

<XMLCOMMENT 関数>は,RETURNING CONTENT である<XML RETURNING 句>を指定してはな

らない。

3)

機能 X242“XML 発行における RETURNING SEQUENCE”なしでは,適合する SQL 言語中で,

<XMLCOMMENT 関数>は,RETURNING SEQUENCE である<XML RETURNING 句>を指定しては

ならない。

6.12  <XML

連結>

機能

<XML 連結> (<XML concatenation>)  は,XML 値のリストを連結する。

形式

<XML

連結> ::=

  XMLCONCAT  <

左括弧> <XML 値式>

      { <

コンマ> <XML 値式> }...

      [  <XML  RETURNING

句> ] <右括弧>

構文規則

1) <XML

RETURNING 句>が指定されないならば,RETURNING CONTENT が暗に想定されるか又は

RETURNING SEQUENCE が暗に想定されるかは,処理系定義とする。

2) <XML

連結>に単純に含まれる<XML 値式>の個数を とする。番目の<XML 値式>を XVE

i

,1 ≤ i ≤

N

とし,XVE

i

の宣言型を T

i

とする。

3)

場合:

a) RETURNING

CONTENT が指定されるか又は暗に想定されるならば,<XML 連結>の宣言型は,

次の宣言型とする。

場合:

i)

全 て の , 1  ≤  i  ≤  N  に 対 し て , T

i

が XML(DOCUMENT(UNTYPED))  又 は

XML(CONTENT(UNTYPED))  のいずれかならば,XML(CONTENT(UNTYPED))。

ii)

全 て の , 1  ≤  i  ≤  N  に 対 し て , T

i

が XML(DOCUMENT(XMLSCHEMA))  又 は


50

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

XML(CONTENT(XMLSCHEMA))  で,かつ,登録 XML スキーマ の登録 XML スキーマ記述

子と,[Namespaces]  での規定どおりに大域要素宣言スキーマ構成要素 の XML 名前空間 URI

と同一である XML 名前空間 URI  NS と,の XML NCName と等価な XML NCName EN とを

T

i

の XML 型記述子が含むような 及び が存在するならば,の登録 XML スキーマ記述子,

XML 名 前 空 間 URI  NS 及 び XML NCName EN を 含 む XML 型 記 述 子 を も つ

XML(CONTENT(XMLSCHEMA))。

iii)

全 て の , 1  ≤  i  ≤  N  に 対 し て , T

i

が XML(DOCUMENT(XMLSCHEMA))  又 は

XML(CONTENT(XMLSCHEMA))  で,かつ,登録 XML スキーマ の登録 XML スキーマ記述

子と,[Namespaces]  での規定どおりに XML 名前空間 URI NS と同一である XML 名前空間 URI

とを T

i

の XML 型記述子が含むような 及び NS が存在するならば,の登録 XML スキーマ記

述子及び XML 名前空間 URI NS を含む XML 型記述子をもつ XML(CONTENT(XMLSCHEMA))。

iv)

全 て の , 1  ≤  i  ≤  N  に 対 し て , T

i

が XML(DOCUMENT(XMLSCHEMA))  又 は

XML(CONTENT(XMLSCHEMA))  で,かつ,登録 XML スキーマ の登録 XML スキーマ記述

子を T

i

の XML 型記述子が含むような が存在するならば,の登録 XML スキーマ記述子を含

む XML 型記述子をもつ XML(CONTENT(XMLSCHEMA))。

v)

そうでなければ,XML(CONTENT(ANY))。

b)

そうでなければ,<XML 連結>の宣言型は,XML(SEQUENCE)  とする。

4) RETURNING

CONTENT が指定されるか又は暗に想定されるならば,次による。

a) <XML

連結>の宣言型を RT とする。

b) <XML

連結>は,次の<CAST 指定>と等価とする。

CAST(

  XMLDOCUMENT  (

    XMLCONCAT  (  XVE

1

XVE

2

, ..., XVE

N

 RETURNING SEQUENCE )

    RETURNING  CONTENT  )

  AS  RT )

アクセス規則

なし。

一般規則

1)

全ての i,1 ≤ i ≤ N  に対して,XVE

i

の結果を XV

i

とする。

2)

ナル値を R

0

とする。

3)

全ての i,1 ≤ i ≤ N  に対して,R

i-1

を FIRSTVAL として,XV

i

を SECONDVAL として,

10.14  二つ

の XML 値の連結”の

一般規則を適用する。これらの一般規則の適用によって戻される CONCAT 

R

i

とする。

4) <XML

連結>の結果は,R

N

とする。

適合性規則

1)

機能 X020“XMLConcat”なしでは,適合する SQL 言語は,<XML 連結>を含んではならない。

2)

機能 X241“XML 発行における RETURNING CONTENT”なしでは,適合する SQL 言語中で,<XML

連結>は,RETURNING CONTENT である<XML RETURNING 句>を指定してはならない。

3)

機能 X242“XML 発行における RETURNING SEQUENCE”なしでは,適合する SQL 言語中で,<XML

連結>は,RETURNING SEQUENCE である<XML RETURNING 句>を指定してはならない。


51

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

6.13  <XMLDOCUMENT

関数>

機能

<XMLDOCUMENT 関数> (<XML document>)  は,単一の XQuery 文書ノードをもつ XML 値を生成する。

形式

<XMLDOCUMENT

関数> ::=

  XMLDOCUMENT  <

左括弧> <XML 値式>

      [  <XML  RETURNING

句> ] <右括弧>

構文規則

1) <XML

RETURNING 句>が指定されないならば,RETURNING CONTENT が暗に想定されるか又は

RETURNING SEQUENCE が暗に想定されるかは,処理系定義とする。

2) <XMLDOCUMENT

関数>に単純に含まれる<XML 値式>を XVE とする。

3)

場合:

a) RETURNING

CONTENT が指定されるか又は暗に想定されるならば,<XMLDOCUMENT 関数>の

宣言型が XML(CONTENT(UNTYPED))  か又は XML(CONTENT(ANY))  かは,

処理系定義とする。

b)

そうでなければ,<XMLDOCUMENT 関数>の宣言型は,XML(SEQUENCE)  とする。

アクセス規則

なし。

一般規則

1)

XVE

の値を XV とする。

2)

XV

がナル値ならば,<XMLDOCUMENT 関数>の結果は,ナル値とし,この細分箇条のこれ以降の

一般規則を適用しない。

3)

XV

を SOURCE として,

偽  (False)  を CONTEXT として,“10.21 XQuery 形式的型表記法の決定”

構文規則を適用する。これらの構文規則の適用によって戻される FORMALTYPE を XVFT とする。

4)

ナル値を NONTERMINAL として,

10.20 XQuery 式文脈の作成”の

構文規則を適用する。これらの

構文規則の適用によって戻される STATICCONTEXT を XSC とする。

注記 31  XSC は,XQuery 静的文脈である。

5)

XSC

の“construction mode(構成モード)

”構成要素には,preserve が設定される。

6)

10.20 XQuery 式文脈の作成”の

一般規則を適用する。これらの一般規則の適用によって戻される

DYNAMICCONTEXT

を XDC とする。

注記 32  XDC は,XQuery 動的文脈である。

7) XQuery

形式的型表記法が XVFT で,

かつ,

値が XV の XQuery 変数$EXPR を,

XSC

及び XDC に補う。

8)

場合:

a)

機能 X211“XML 1.1 提供”を SQL 処理系が提供するならば,XQuery 式文脈として XSC 及び XDC

を用いての次の XQuery 式の XML 1.1  語彙規則での XQuery 評価の結果を DN とする。

document

 { $EXPR }

評価中に XQuery 誤りが発生するならば,例外条件:XQuery

誤り  (XQuery error)  が引き起こされ

る。

b)

そうでなければ,XQuery 式文脈として XSC 及び XDC を用いての次の XQuery 式の XML 1.0  語彙

規則での XQuery 評価の結果を DN とする。

document

 { $EXPR }


52

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

評価中に XQuery 誤りが発生するならば,例外条件:XQuery

誤りが引き起こされる。

9)

場合:

a) <XMLDOCUMENT

関 数 > の 宣 言 型 が XML(CONTENT(UNTYPED))  な ら ば , DN 

XQUERYDOCNODE

として,

10.19  妥当性を検証していない XQuery 文書ノードの構成”の

一般

規則を適用する。これらの一般規則の適用によって戻される UNVALIDATEDDOCNODE 

<XMLDOCUMENT 関数>の結果とする。

b)

そうでなければ,<XMLDOCUMENT 関数>の結果は,DN とする。

適合性規則

1)

機能 X030“XMLDocument”なしでは,適合する SQL 言語は,<XMLDOCUMENT 関数>を含んでは

ならない。

2)

機能 X241“XML 発行における RETURNING CONTENT”なしでは,適合する SQL 言語中で,

<XMLDOCUMENT 関数>は,RETURNING CONTENT である<XML RETURNING 句>を指定しては

ならない。

3)

機能 X242“XML 発行における RETURNING SEQUENCE”なしでは,適合する SQL 言語中で,

<XMLDOCUMENT 関数>は,RETURNING SEQUENCE である<XML RETURNING 句>を指定しては

ならない。

6.14  <XMLELEMENT

関数>

機能

<XMLELEMENT 関数> (<XML element>)  は,潜在的な XQuery 文書ノードの子として単一の XQuery 要

素ノードをもつ XML 値を生成する。

形式

<XMLELEMENT

関数> ::=

  XMLELEMENT  <

左括弧> NAME <XML 要素名>

      [ <

コンマ> <XML 名前空間宣言> ] [ <コンマ> <XMLATTRIBUTES 関数> ]

      [ { <

コンマ> <XML 要素内容> }...

      [  OPTION  <XML

内容選択肢> ] ]

      [  <XML  RETURNING

句> ] <右括弧>

<XML

要素名> ::=

  <

識別子>

<XMLATTRIBUTES

関数> ::=

  XMLATTRIBUTES  <

左括弧> <XML 属性リスト> <右括弧>

<XML

属性リスト> ::=

  <XML

属性> [ { <コンマ> <XML 属性> }... ]

<XML

属性> ::=

  <XML

属性値> [ AS <XML 属性名> ]

<XML

属性値> ::=

  <

値式>

<XML

属性名> ::=

  <

識別子>

<XML

要素内容> ::=


53

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

  <

値式>

<XML

内容選択肢> ::=

  NULL  ON  NULL

| EMPTY ON NULL

| ABSENT ON NULL

| NIL ON NULL

| NIL ON NO CONTENT

構文規則

1) <XML

名前空間宣言>の有効範囲は,<XMLELEMENT 関数>とする。

2) <XML

属性リスト>中の<XML 属性>の実現値の個数を とする。

3) 1

から までの範囲の に対して,次による。

a) <XML

属性リスト>に含まれる 番目の<XML 属性>を A

i

とする。

b)  A

i

の<XML 属性値>を AV

i

とする。

c)

AV

i

の宣言型は,XML 以外の既定義型か又は元型が XML 型でも集まり型でもない個別型のいず

れかでなければならない。

d)

場合:

i)

A

i

が<XML 属性名> AN

i

を含むならば,AN

i

を ANC

i

とする。

ii)

そうでなければ,AV

i

は,<列参照>でなければならない。AV

i

である<列参照>によって示される

列の<列名>を CN

i

とする。CN

i

を IDENT として,

完全な別扱い  (fully escaped)  を ESCAPE 

VARIANT

として,

9.1 SQL<識別子>の XML Name への対応付け”の

一般規則を適用する。こ

れらの

一般規則の適用によって戻される XMLNAME を ANC

i

とする。

e)

ANC

i

は,XML 1.1 QName でなければならない。

f)

ANC

i

は,'xmlns'  と等価であってはならないし,ANC

i

は,'xmlns'  と等価な XML QName 接

頭辞をもってはならない。

g)

ANC

i

を QNAME として,<XMLELEMENT 関数>を BNFTERM として,

10.12  名前空間 URI の決

定”

構文規則を適用する。これらの構文規則の適用によって戻される NSURI を NSURI

i

とする。

4)

i

が と等しくなく,NSURI

i

が NSURI

j

と  [Namespaces]  での規定どおりに同一で,かつ,ANC

i

XML QName 局所部が ANC

j

の XML QName 局所部と等しいような二つの<XML 属性> A

i

及び A

j

が存

在してはならない。

5) <XML

要素名>の文字表現を EN とする。EN は,XML 1.1 QName でなければならない。

6)

EN

を QNAME として,<XMLELEMENT 関数>を BNFTERM として,

10.12  名前空間 URI の決定”

構文規則を適用する。これらの構文規則の適用によって戻される NSURI を ENSURI とする。

7)

各<XML 要素内容>XEC に対して,XEC の宣言型は,既定義型,XML に対応付けできないデータ

型を基にしていない集まり型,又は個別型でなければならない。

8)

場合:

a) <XML

要素内容>が指定されるならば,次による。

i) <XML

内容選択肢>が指定されないならば,EMPTY ON NULL が暗に想定される。

ii)

陽に指定されるか又は暗に想定される<XML 内容選択肢>を OPT とする。

b)

そうでなければ,長さ 0 の文字列を OPT とする。

9) <XML

要素内容>が指定されるならば,NSURI

i

が,

表 2“XML 名前空間接頭辞及びそれらの URI”


54

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

で与えられる XML 名前空間接頭辞 xsi に対応する XML 名前空間 URI で,

かつ,

ANC

i

の XML QName

局所部が nil であるような<XML 属性> A

i

が存在してはならない。

10) <XML RETURNING

句>が指定されないならば,RETURNING CONTENT が暗に想定されるか又は

RETURNING SEQUENCE が暗に想定されるかは,処理系定義とする。

11) <XML

要素名>を XEN とする。

12) <XML

名前空間宣言>が指定されるならば,

“<コンマ> <XML 名前空間宣言>”を XND とする。そ

うでなければ,長さ 0 の文字列を XND とする。

13) <XMLATTRIBUTES

関数>が指定されるならば,

“<コンマ> <XMLATTRIBUTES 関数>”を XAT とす

る。そうでなければ,長さ 0 の文字列を XAT とする。

14) <XMLELEMENT

関数>に直に含まれる<XML 要素内容>の個数を とする。<XMLELEMENT 関数>

中の左から右への位置順で,

そのような各<XML 要素内容>に対して,

“<コンマ> <XML 要素内容>”

を XMLEC

l

,1 ≤ l ≤ とする。

15)

指定されるか又は暗に想定される<XML 内容選択肢>を XCO とする。

16)

場合:

a) RETURNING

CONTENT が指定されるか又は暗に想定されるならば,<XMLELEMENT 関数>は,

次の<XMLDOCUMENT 関数>と等価とする。

XMLDOCUMENT (

  XMLELEMENT  (

    NAME  XEN XND XAT XMLEC

1

 XMLEC

2

 ... XMLEC

k

 XCO

    RETURNING  SEQUENCE  )

  RETURNING  CONTENT  )

b)

そうでなければ,<XMLELEMENT 関数>の宣言型は,XML(SEQUENCE)  とする。

注記 33 RETURNING CONTENT が指定されるか又は暗に想定されるならば,<XMLELEMENT 関

数>の宣言型は,

6.13 <XMLDOCUMENT 関数>”の

構文規則によって実効的に定まる。

アクセス規則

1) <XML

属性値>又は<XML 要素内容>に直に含まれる<値式>  VE の宣言型 DT が個別型ならば,DT

の元型を ST とする。

6.5 <CAST 指定>”の

アクセス規則を次の<CAST 指定>に適用する。

CAST ( VE AS ST )

一般規則

1)

場合:

a) <XML

2 進オクテット符号化>の有効範囲内に<XMLELEMENT 関数>が含まれるならば,

<XMLELEMENT 関数>を含む最も内側の有効範囲をもつ<XML 2 進オクテット符号化>を XBE 

する。

b)

そうでなければ,処理系定義の<XML 2 進オクテット符号化>を XBE とする。

2)

場合:

a)

XBE

が BASE64 を指定するならば,2 進オクテット列を base64 で符号化すべきことを示す標識を

ENC

とする。

b)

そうでなければ,2 進オクテット列を hex で符号化すべきことを示す標識を ENC とする。

3) 1

から までの範囲の に対して,AV

i

がナル値でないならば,次による。

a)

AV

i

を SQLVALUE として,ENC を ENCODING として,

“absent”を NULLS として,

偽  (False)  を


55

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

CHARMAPPING

として,

9.8 SQL データ型の値の XML スキーマデータ型の値への対応付け”の

一般規則を適用する。これらの一般規則の適用によって戻される XMLVALUE を CAV

i

とする。

CAV

i

は,Unicode 文字の文字列とする。

b)

次の特性をもつ XQuery 属性ノードを AII

i

とする。

i)

node-name

が,XQuery 基本単位型 xs:QName の XQuery 基本単位値で,その値の局所名が ANC

i

の XML 1.1 QName 局所部で,かつ,名前空間 URI が NSURI

i

である。

ii)  string-value

特性が CAV

i

である。

iii)  type-name

特性が xs:untypedAtomic である。

iv)  parent

特性が最初は不定である。

4)

AV

i

がナル値でないような XQuery 属性ノード AII

i

,1 ≤ i ≤ の XQuery 並びを ATTRS とする。

5) <XML

要素内容>の個数を とする。<XML 要素内容>の値の列挙を V

j

,1 ≤ j ≤ とする。値 V

1

,...,

V

N

のリストを CON とする。

6)

EN

を QNAME として,ENSURI を NAMESPACE として,ATTRS を ATTRIBUTES として,CON 

CONTENTS

として,OPT を OPTION として,ENC を ENCODING として,

10.13 XML 要素の構

成 ” の

一 般 規 則 を 適 用 す る 。 こ れ ら の 一 般 規 則 の 適 用 に よ っ て 戻 さ れ る XMLELEM 

<XMLELEMENT 関数>の結果とする。

適合性規則

1)

機能 X031“XMLElement”なしでは,適合する SQL 言語は,<XMLELEMENT 関数>を含んではな

らない。

2)

機能 X080“XML 発行における名前空間”なしでは,適合する SQL 言語中で,<XMLELEMENT 関

数>は,<XML 名前空間宣言>を直に含んではならない。

3)

機能 X170“XML ナル処理選択肢”なしでは,適合する SQL 言語は,<XML 内容選択肢>を指定し

てはならない。

4)

機能 X171“NIL ON NO CONTENT 選択肢”なしでは,適合する SQL 言語は,NIL ON NO CONTENT

を指定してはならない。

5)

機能 X211“XML 1.1 提供”なしでは,適合する SQL 言語中で,<XML 要素名>は,XML 1.0 QName

でなければならない。

6)

機能 X211“XML 1.1 提供”なしでは,適合する SQL 言語中で,<XML 属性名>は,XML 1.0 QName

でなければならない。

7)

機能 X241“XML 発行における RETURNING CONTENT”なしでは,適合する SQL 言語中で,

<XMLELEMENT 関数>は,RETURNING CONTENT である<XML RETURNING 句>を指定してはな

らない。

8)

機能 X242“XML 発行における RETURNING SEQUENCE”なしでは,適合する SQL 言語中で,

<XMLELEMENT 関数>は,RETURNING SEQUENCE である<XML RETURNING 句>を指定してはな

らない。

9)

機能 X085“既定義の名前空間接頭辞”なしでは,適合する SQL 言語は,<XML 要素名>  を含む

<XMLELEMENT 関数>の有効範囲である一つ以上の<XML 名前空間宣言>に含まれる<XML 名前空

間接頭辞>と等価でない XML QName 接頭辞をもつ<XML 要素名> を含んではならない。

10)

機能 X085“既定義の名前空間接頭辞”なしでは,適合する SQL 言語は,陽に指定するか又は暗に

想定される<XML 属性名> を含む<XMLELEMENT 関数>の有効範囲である一つ以上の<XML 名前


56

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

空間宣言>に含まれる<XML 名前空間接頭辞>と等価でない  'xml'  以外の XML Qname 接頭辞をも

つ<XML 属性名> を含んではならない。

6.15  <XMLFOREST

関数>

機能

<XMLFOREST 関数> (<XML forest>)  は,潜在的な XQuery 文書の子として XQuery 要素ノードの並びを

もつ XML 値を生成する。

形式

<XMLFOREST

関数> ::=

  XMLFOREST  <

左括弧> [ <XML 名前空間宣言> <コンマ> ]

      <

森構造要素リスト>

      [  OPTION  <XML

内容選択肢> ]

      [  <XML  RETURNING

句> ]

      <

右括弧>

<

森構造要素リスト> ::=

  <

森構造要素> [ { <コンマ> <森構造要素> }... ]

<

森構造要素> ::=

  <

森構造要素値> [ AS <森構造要素名> ]

<

森構造要素値> ::=

  <

値式>

<

森構造要素名> ::=

  <

識別子>

構文規則

1) <XML

名前空間宣言>の有効範囲は,<XMLFOREST 関数>とする。

2) <

森構造要素リスト>中の<森構造要素>の実現値の個数を とする。1 から までの範囲の各 に対

して,次による。

a) <

森構造要素リスト>に含まれる 番目の<森構造要素>を F

i

とする。

b)  F

i

に直に含まれる<森構造要素値>を FV

i

とする。FV

i

の宣言型は,既定義型,XML に対応付けで

きないデータ型を基にしていない集まり型,又は個別型でなければならない。

c)

場合:

i)

F

i

が<森構造要素名> FEN

i

を含むならば,FEN

i

を FNC

i

とする。

ii)

そうでなければ,FV

i

は,列参照でなければならない。FV

i

によって示される列の<列名>を CN

i

とする。CN

i

を IDENT として,

完全な別扱い  (fully escaped)  を ESCAPE VARIANT として,“9.1

SQL<識別子>の XML Name への対応付け”の一般規則を適用する。これらの一般規則の適用に

よって戻される XMLNAME を FNC

i

とする。

d)  FNC

i

は,XML 1.1 Qname でなければならない。

e)

FNC

i

を QNAME として,

<XMLFOREST 関数>を BNFTERM として,“10.12  名前空間 URI の決定”

構文規則を適用する。これらの構文規則の適用によって戻される NSURI を NSURI

i

とする。

3) <XML

内容選択肢>が指定されないならば,NULL ON NULL が暗に想定される。

4) <XML

RETURNING 句>が指定されないならば,RETURNING CONTENT が暗に想定されるか又は

RETURNING SEQUENCE が暗に想定されるかは,処理系定義とする。


57

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

5) <XML

名前空間宣言>が指定されるならば,

“<XML 名前空間宣言> <コンマ>”を XND とする。そ

うでなければ,長さ 0 の文字列を XND とする。

6) <

森構造要素リスト>を FEL とする。

7)

指定されるか又は暗に想定される<XML 内容選択肢>を XCO とする。

8)

場合:

a) RETURNING

CONTENT が指定されるか又は暗に想定されるならば,<XMLFOREST 関数>は,次

の<XMLDOCUMENT 関数>と等価とする。

XMLDOCUMENT (

  XMLFOREST  (

    XND FEL XCO

    RETURNING  SEQUENCE  )

  RETURNING  CONTENT  )

b)

そうでなければ,<XMLFOREST 関数>の宣言型は,XML(SEQUENCE)  とする。

注記 34 RETURNING CONTENT が指定されるか又は暗に想定されるならば,<XMLFOREST 関数>

の宣言型は,

6.13 <XMLDOCUMENT 関数>”の

構文規則によって実効的に定まる。

アクセス規則

1) <

森構造要素値>に直に含まれる<値式>VE の宣言型 DT が個別型ならば,DT の元型を ST とする。

6.5 <CAST 指定>”の

アクセス規則を次の<CAST 指定>に適用する。

CAST ( VE AS ST )

一般規則

1)

場合:

a) <XML

2 進 オ ク テ ッ ト 符 号 化 >の 有 効 範 囲 内 に <XMLFOREST 関 数 >が 含 ま れ る な ら ば ,

<XMLFOREST 関数>を含む最も内側の有効範囲をもつ<XML 2 進オクテット符号化>を XBE とす

る。

b)

そうでなければ,処理系定義の<XML 2 進オクテット符号化>を XBE とする。

2)

場合:

a)

XBE

が BASE64 を指定するならば,2 進オクテット列を base64 で符号化すべきことを示す標識を

ENC

とする。

b)

そうでなければ,2 進オクテット列を hex で符号化すべきことを示す標識を ENC とする。

3) 1

から までの範囲の各 に対して,<森構造要素リスト>に含まれる 番目の<森構造要素>の値を

V

i

とする。

4) 1

から までの範囲の各 に対して,単一値 V

i

から成る値のリストを CON

i

とする。

5) 1

から までの範囲の各 に対して,FNC

i

を QNAME として,NSURI

i

を NAMESPACE として,空

の XQuery 並びを ATTRIBUTES として,CON

i

を CONTENTS として,陽に指定されるか又は暗に想

定される<XML 内容選択肢>を OPTION として,ENC を ENCODING として,

10.13 XML 要素の構

成” の

一般規則を適用する。これらの一般規則の適用によって戻される XMLELEM を XV

i

とする。

6)

XV

1

を R

1

とする。全ての i,2 ≤ i ≤ に対して,R

i-1

を FIRSTVAL として,XV

i

を SECONDVAL とし

て,

10.14  二つの XML 値の連結”の

一般規則を適用する。これらの一般規則の適用によって戻さ

れる CONCAT を R

i

とする。

7) <XMLFOREST

関数>の結果は,R

n

とする。


58

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

適合性規則

1)

機能 X032“XMLForest”なしでは,適合する SQL 言語は,<XMLFOREST 関数>を含んではならな

い。

2)

機能 X080“XML 発行における名前空間”なしでは,適合する SQL 言語中で,<XMLFOREST 関数

>は,<XML 名前空間宣言>を直に含んではならない。

3)

機能 X211“XML 1.1 提供”なしでは,適合する SQL 言語中で,<森構造要素名>は,XML 1.0 QName

でなければならない。

4)

機能 X241“XML 発行における RETURNING CONTENT”なしでは,適合する SQL 言語中で,

<XMLFOREST 関数>は,RETURNING CONTENT である<XML RETURNING 句>を指定してはなら

ない。

5)

機能 X242“XML 発行における RETURNING SEQUENCE”なしでは,適合する SQL 言語中で,

<XMLFOREST 関数>は,RETURNING SEQUENCE である<XML RETURNING 句>を指定してはなら

ない。

6)

機能 X085“既定義の名前空間接頭辞”なしでは,適合する SQL 言語は,陽に指定するか又は暗に

想定される<森構造要素名>  を含む<XMLFOREST 関数>の有効範囲である一つ以上の<XML 名前

空間宣言>に含まれる<XML 名前空間接頭辞>と等価でない XML QName 接頭辞をもつ<森構造要素

名> を含んではならない。

6.16  <XMLPARSE

関数>

機能

<XMLPARSE 関数> (<XML parse>)  は,XML 値を生成するためにデータ列の妥当性を検証しない解析を

実行する。

形式

<XMLPARSE

関数> ::=

  XMLPARSE  <

左括弧> <文書又は内容> <データ列値式>

      <XML  WHITESPACE

選択肢> <右括弧>

<XML WHITESPACE

選択肢> ::=

  { PRESERVE | STRIP } WHITESPACE

構文規則

1)

場合:

a) <

文 書 又 は 内 容 > が

DOCUMENT な ら ば , <XMLPARSE 関 数 > の 宣 言 型 が

XML(DOCUMENT(UNTYPED))  か又は XML(DOCUMENT(ANY))  かは,処理系定義とする。

b)

そ う で な け れ ば , <XMLPARSE 関 数 > の 宣 言 型 が XML(CONTENT(UNTYPED))  か 又 は

XML(CONTENT(ANY))  かは,処理系定義とする。

アクセス規則

なし。

一般規則

1) <

文書又は内容>を DC とする。

2) <

データ列値式>の値を とする。

3) <XML WHITESPACE

選択肢>を WO とする。

4)

場合:


59

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

a)

V

がナル値ならば,<XMLPARSE 関数>の結果は,ナル値とする。

b)

そうでなければ,DC を SYNTAX として,を TEXT として,WO を OPTION として,

10.16 XML

値としての文字列の解析”の

一般規則を適用する。<XMLPARSE 関数>の結果は,これらの一般

規則の適用によって戻される XMLPARSE とする。

適合性規則

1)

機能 X060“XMLParse:文字列入力及び CONTENT 選択肢”なしでは,適合する SQL 言語中で,

<XMLPARSE 関数>に直に含まれる<データ列値式>の宣言型は,文字列型であってはならないし,
<XMLPARSE 関数>は,CONTENT である<文書又は内容>を直に含んではならない。

2)

機能 X061“XMLParse:文字列入力及び DOCUMENT 選択肢”なしでは,適合する SQL 言語中で,

<XMLPARSE 関数>に直に含まれる<データ列値式>の宣言型は,文字列型であってはならないし,
<XMLPARSE 関数>は,DOCUMENT である<文書又は内容>を直に含んではならない。

3)

機能 X065“XMLParse:2 進オクテット列入力及び CONTENT 選択肢”なしでは,適合する SQL 言

語中で,<XMLPARSE 関数>に直に含まれる<データ列値式>の宣言型は,2 進オクテット列型であっ

てはならないし,<XMLPARSE 関数>は,CONTENT である<文書又は内容>を直に含んではならな

い。

4)

機能 X066“XMLParse:2 進オクテット列入力及び DOCUMENT 選択肢”なしでは,適合する SQL

言語中で,<XMLPARSE 関数>に直に含まれる<データ列値式>の宣言型は,2 進オクテット列型であ

ってはならないし,<XMLPARSE 関数>は,DOCUMENT である<文書又は内容>を直に含んではな

らない。

6.17  <XMLPI

関数>

機能

<XMLPI 関数> (<XML PI>)  は,潜在的な XQuery 文書ノードの子として単一の XQuery 処理命令ノード

をもつ XML 値を生成する。

形式

<XMLPI

関数> ::=

  XMLPI  <

左括弧> NAME <XML 処理命令ターゲット>

      [ <

コンマ> <文字値式> ]

      [  <XML  RETURNING

句> ]

      <

右括弧>

<XML

処理命令ターゲット> ::=

  <

識別子>

構文規則

1) <XML

処理命令ターゲット>に含まれる<識別子>の Unicode への対応付けの結果を とする。

2)

I

は,XML 1.1 NCName でなければならない。

3)

I

は,最初の文字が 'X' 又は 'x' で,2 番目の文字が 'M' 又は 'm' で,かつ,3 番目の文字が 'L' 又

は 'l' の 3 文字から成ってはならない。

4) <XML

RETURNING 句>が指定されないならば,RETURNING CONTENT が暗に想定されるか又は

RETURNING SEQUENCE が暗に想定されるかは,処理系定義とする。

5) <XML

処理命令ターゲット>を XPT とする。

6) <

文字値式>が指定されるならば,

“<コンマ> <文字値式>”を CSVE とする。そうでなければ,長さ


60

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

0 の文字列を CSVE とする。

7)

場合:

a) RETURNING

CONTENT が指定されるか又は暗に想定されるならば,<XMLPI 関数>は,次の

<XMLDOCUMENT 関数>と等価とする。

XMLDOCUMENT (

  XMLPI  (

    NAME  XPT CSVE

    RETURNING  SEQUENCE  )

  RETURNING  CONTENT  )

b)

そうでなければ,<XMLPI 関数>の宣言型は,XML(SEQUENCE)  とする。

注記 35 RETURNING CONTENT が指定されるか又は暗に想定されるならば,<XMLPI 関数>の宣言

型は,

6.13 <XMLDOCUMENT 関数>”の

構文規則によって実効的に定まる。

アクセス規則

なし。

一般規則

1) <

データ列値式>の値がナル値ならば,<XMLPI 関数>の結果は,ナル値とし,この細分箇条のこれ

以降の

一般規則を適用しない。

2) <

文字値式>が指定されないならば,''  (長さ 0 の文字列の<文字列定数>)を SVE とする。そうで

なければ,<データ列値式>を SVE とする。

3)

SVE

を SQLVALUE として,2 進オクテット列を hex で符号化すべきことを示す標識を ENCODING

として,

“absent”を NULLS として,

偽  (False)  を CHARMAPPING として,“9.8 SQL データ型の

値の XML スキーマデータ型の値への対応付け”の

一般規則を適用する。これらの一般規則の適用

によって戻される XMLVALUE を USV とする。USV は,Unicode 文字の文字列とする。

4)

次の<値式>の値が  [XML 1.1]  の

規則  [16] “PI”に適合しないならば,例外条件:データ例外  (data 

exception)

処理命令が妥当ではない  (invalid processing instruction)  が引き起こされる。

'<?' I || ' ' || USV || '?>'

注記 36  処理系が XML 1.1 を提供しないならば,処理命令ターゲット は,それを XML 1.0 Name

に限定する

適合性規則に従う。その仮定の下で,提案された処理命令が  [XML 1.1]  の規則

[16]

に適合するならば,それは,[XML 1.0]  の

規則  [16]  にも適合する。

5)

USV

を SOURCE として,

偽  (False)  を CONTEXT として,“10.21 XQuery 形式的型表記法の決定”

構文規則を適用する。これらの構文規則の適用によって戻される FORMALTYPE を XVFT とする。

6)

ナル値を NONTERMINAL として,

10.20 XQuery 式文脈の作成”の

構文規則を適用する。これらの

構文規則の適用によって戻される STATICCONTEXT を XSC とする。

注記 37  XSC は,XQuery 静的文脈である。

7)

10.20 XQuery 式文脈の作成”の

一般規則を適用する。これらの一般規則の適用によって戻される

DYNAMICCONTEXT

を XDC とする。

注記 38  XDC は,XQuery 動的文脈である。

8) XQuery

形式的型表記法が XVFT で,かつ,値が USV の XQuery 変数$EXPR を,XSC 及び XDC に補

う。

9)

場合:


61

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

a)

機能 X211“XML 1.1 提供”が提供されるならば,XQuery 式文脈として XSC 及び XDC を用いての

次の XQuery 式の XML 1.1  語彙規則での XQuery 評価の結果を PN とする。

processing-instruction

 I { $EXPR }

b)

そうでなければ,XQuery 式文脈として XSC 及び XDC を用いての次の XQuery 式の XML 1.0  語彙

規則での XQuery 評価の結果を PN とする。

processing-instruction

 I { $EXPR }

10) <XMLPI

関数>の結果は,PN とする。

適合性規則

1)

機能 X037“XMLPI”なしでは,適合する SQL 言語は,<XMLPI 関数>を含んではならない。

2)

機能 X211“XML 1.1 提供”なしでは,適合する SQL 言語中で,<XML 処理命令ターゲット>に含ま

れる<識別子>は,Unicode  に対応付けられるとき,XML 1.0 NCName でなければならない。

注記 39  XML 1.0 NCNames の集合は,XML 1.1 NCNames の集合の真部分集合である。すなわち,

全ての XML 1.0 NCNames が XML 1.1 NCNames でもあるが,全ての XML 1.1 NCNames が

XML 1.0 NCNames でもあるわけではない。

3)

機能 X241“XML 発行における RETURNING CONTENT”なしでは,適合する SQL 言語中で,<XMLPI

関数>は,RETURNING CONTENT である<XML RETURNING 句>を指定してはならない。

4)

機能 X242“XML 発行における RETURNING SEQUENCE”なしでは,適合する SQL 言語中で,<XMLPI

関数>は,RETURNING SEQUENCE である<XML RETURNING 句>を指定してはならない。

6.18  <XMLQUERY

関数>

機能

<XMLQUERY 関数> (<XML query>)  は,XQuery 式を評価する。

形式

<XMLQUERY

関数> ::=

  XMLQUERY  <

左括弧>

      <XQuery

式>

      [ <XML

問合せ引数リスト> ]

      [  <XML  RETURNING

句>

      [  <XMLQUERY

の戻し手段> ] ]

      <XMLQUERY

の EMPTY 処理選択肢>

      <

右括弧>

<XQuery

式> ::=

  <

文字列定数>

<XML

問合せ引数リスト> ::=

  PASSING  <XML

問合せ既定受渡し手段>

      <XML

問合せ引数>

      [ { <

コンマ> <XML 問合せ引数> }... ]

<XML

問合せ既定受渡し手段> ::=

  <XML

受渡し手段>

<XML

問合せ引数> ::=

  <XML

問合せ文脈項目>


62

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

 |

<XML

問合せ変数>

<XML

問合せ文脈項目> ::=

  <

値式> [ <XML 受渡し手段> ]

<XML

問合せ変数> ::=

  <

値式> AS <識別子>

      [ <XML

受渡し手段> ]

<XMLQUERY

の戻し手段> ::=

  <XML

受渡し手段>

<XMLQUERY

の EMPTY 処理選択肢> ::=

  NULL  ON  EMPTY

| EMPTY ON EMPTY

構文規則

1) <XMLQUERY

関数>を XMQ とする。

2)

XMQ

が<XML 問合せ引数リスト>を含むならば,<XML 問合せ引数リスト>に直に含まれる<XML

問合せ既定受渡し手段>を DPM とする。

3) <XML

RETURNING 句>が指定されないならば,RETURNING CONTENT が暗に想定されるか又は

RETURNING SEQUENCE が暗に想定されるかは,処理系定義とする。

4)

場合:

a)

暗に想定されるか又は陽に指定される<XML RETURNING 句>が RETURNING CONTENT ならば,

<XMLQUERY の戻し手段>を指定してはならない。BY VALUE を XQRM とする。

b)  XMQ

が<XMLQUERY の戻し手段>を含むならば,その<XMLQUERY の戻し手段>を XQRM とす

る。

c)

そうでなければ,XMQ は,<XML 問合せ引数リスト>を含まなければならない。DPM を XQRM

とする。

5) <XMLQUERY

関数>を NONTERMINAL として,

10.20 XQuery 式文脈の作成”の

構文規則を適用す

る。これらの

構文規則の適用によって戻される STATICCONTEXT を XSC とし,次のとおりに,XSC

の“in-scope variables(有効範囲内変数)

”構成要素を修正する。

注記 40  XSC は,XQuery 静的文脈である。

a)

各<XML 問合せ変数> XQV に対して,次による。

i)

XQV

に含まれる<識別子> は,XML 1.1 NCName でなければならない。

ii)  I

は,処理系定義の XQuery 変数の名前と等価であってはならず,他のどの<XML 問合せ変数>

の<識別子>とも等価であってはならない。

iii)  XQV

に単純に含まれる<値式>を VVE とする。

iv)  VVE

の宣言型は,

6.6 <XMLCAST 指定>”の

構文規則に従って XML(SEQUENCE)  に変換可能

でなければならない。

v)

VVE

の宣言型が XML 型でないならば,XQV は,<XML 受渡し手段>を含んではならない。

vi)  XQV

が<XML 受渡し手段>を含むならば,

<XML 受渡し手段>を VPM とする。そうでなければ,

DPM

を VPM とする。

vii)  VVE

を SOURCE として,

偽  (False)  を CONTEXT として,“10.21 XQuery 形式的型表記法の決

定”の

構文規則を適用する。これらの構文規則の適用によって戻される FORMALTYPE を VFT


63

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

とする。

viii)

対(IVFT)を XSC の“in-scope variables(有効範囲内変数)

”構成要素中に格納する。

b)  XMQ

が<XML 問合せ文脈項目>を含むならば,次による。

i)

XMQ

は,ただ一つの<XML 問合せ文脈項目> XQCI を含まなければならない。

ii)  XQCI

に単純に含まれる<値式>を CVE とする。

iii)  CVE

の宣言型は,

6.6 <XMLCAST 指定>”の

構文規則に従って XML(SEQUENCE)  に変換可能

でなければならない。

iv)  CVE

の宣言型が XML 型でないならば,XQCI は,<XML 受渡し手段>を含んではならない。

v)

XQCI

が<XML 受渡し手段>を含むならば,その<XML 受渡し手段>を CPM とする。そうでな

ければ,DPM を CPM とする。

vi)  CVE

を SOURCE として,

真  (True)  を CONTEXT として,“10.21 XQuery 形式的型表記法の決

定”の

構文規則を適用する。これらの構文規則の適用によって戻される FORMALTYPE を CFT

とする。

vii)  XSC

中の文脈項目に対応して,[XQueryFS]  の“3.1.2 動的文脈 (Dynamic context)”中で仮定さ

れた接頭辞 fs に関連付けられた仮の名前空間中の XQuery 変数を$fs:dot とする。対

$fs:dotCFT)を XSC の“in-scope variables(有効範囲内変数)

”構成要素中に格納する。

注記 41 XQuery 静的文脈 XSC の初期化は,多くの場合,<XQuery 式>のプロローグによって置換さ

れる可能性がある。

6) <XQuery

式>は,XQuery の静的誤り,型誤り又は静的検知動的誤りを引き起こさないで,XQuery  静

的文脈 XSC 及び XML 1.1 語彙規則を用いて解析フェーズを定義する,[XQuery][XQueryFO]

[XQueryFS]

及び  [XQueryUpdate]  中の XQuery 式の規定規則の処理系定義の部分集合に適合しな

ければならない。

注記 42  処理系によって提供される XQuery の必須機能及び選択機能の部分集合は,処理系定義で

ある。これは,次の内容を含む。

−  [XQuery]  及び  [XQueryUpdate]  中の BNF のどの部分集合が提供されるか。

−  提供される BNF に対して,[XQuery]  及び  [XQueryFS]  中の規定規則のどれが提供さ

れるのか。

−  [XQueryFO]  中の関数のどれが提供されるのか。

−  [XQuery]  の“選択機能 (Optional Features)”という題名の節で記述されている機能の

どれが提供されるのか,及びどの程度まで提供されるのか。

注記 43 XQuery は,処理系が一部又は全ての型検査を評価フェーズに(すなわち,この細分箇条の

一般規則まで)延期することを許す。

7) <XQuery

式>は,[XQueryUpdate]  で定義される更新式 (updating expression) を,変換式 (transform

expression)  の部分を除いて,含んではならない。

8) <XQuery

式>を XQE とする。

9) <XML

問合せ引数リスト>が指定されるならば,その<XML 問合せ引数リスト>を XQAL とする。そ

うでなければ,長さ 0 の文字列を XQAL とする。

10) <XMLQUERY

の EMPTY 処理選択肢>を XQEHO とする。

11)

場合:

a) RETURNING

CONTENT が指定されるか又は暗に想定されるならば,<XMLQUERY 関数>は,次


64

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

の<XMLDOCUMENT 関数>と等価とする。

XMLDOCUMENT (

XMLQUERY (

XQE

 XQAL

RETURNING SEQUENCE XQRM XQEHO )

RETURNING CONTENT )

b)

そうでなければ,<XMLQUERY 関数>の宣言型は,XML(SEQUENCE)  とする。

注記 44 RETURNING CONTENT が指定されるか又は暗に想定されるならば,<XMLQUERY 関数>

の宣言型は,

6.13 <XMLDOCUMENT 関数>”の

構文規則によって実効的に定まる。

アクセス規則

なし。

一般規則

1)

10.20 XQuery 式文脈の作成”の

一般規則を適用する。これらの一般規則の適用によって戻される

DYNAMICCONTEXT

を XDC とする。

注記 45  XDC は,XQuery 動的文脈である。

a)

場合:

i) <XML

問合せ文脈項目>がないならば,XDC 中に文脈項目は存在しない。

ii)

そうでなければ,次による。

場合:

1)

CVE

の値がナル値ならば,<XMLQUERY 関数>の結果は,ナル値とし,この細分箇条の

一般

規則は,これ以上適用しない。

2)

そうでなければ,次による。

A)

場合:

I)

CVE

の宣言型が XML 型ならば,次による。

場合:

1)

CPM

が BY REF ならば,CVE の値を CI とする。

2)

そうでなければ,CVE を VALUE として,“10.18 XML 値の写しの構成”の

一般規則

を適用する。これらの

一般規則の適用によって戻される COPY を CI とする。

II)

そうでなければ,次の<XMLCAST 指定>の結果を CI とする。

XMLCAST ( CVE AS XML(SEQUENCE))

B)

場合:

I)

CI

が空の XQuery 並びならば,XDC 中に文脈項目は存在しない。

II)  CI

が長さ 1 の XQuery 並びならば,$fs:dot を CI の参照で,$fs:position を 1 で,

$fs:last

を 1 で初期化することによって,XDC の文脈項目,文脈位置及び文脈サイズ

が設定される。

III)

そうでなければ,例外条件:

データ例外  (data exception)−XQuery 文脈項目が妥当ではな

い  (invalid XQuery context item)  が引き起こされる。

b)

各<XML 問合せ変数> XQV に対して,次による。

i)

XQV

に単純に含まれる<値式>を VVE とし,VVE の値を とする。

場合:


65

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

1)

V

がナル値ならば,空の並びを VV とする。

2)

V

が XML 型の値ならば,次による。

場合:

A)  VPM

が BY REF ならば,を VV とする。

B)

そうでなければ,を VALUE として,

10.18 XML 値の写しの構成”の

一般規則を適用す

る。これらの

一般規則の適用によって戻される COPY を VV とする。

3)

そうでなければ,次の<XMLCAST 指定>の結果を VV とする。

XMLCAST ( VVE AS XML(SEQUENCE))

ii)  XQV

に単純に含まれる<識別子>と等価な QName をもつ XQuery 変数には,VV が設定される。

2)

場合:

a)

処理系が

機能 X211“XML 1.1 提供”を提供するならば,XQuery 式文脈として XSC 及び XDC を用

いて,XML 1.1 語彙規則での XQuery 式どおりに<XQuery 式>を評価し,XML 型の値 X1 を生成

する。

b)

そうでなければ,XQuery 式文脈として XSC 及び XDC を用いて,XML 1.0 語彙規則での XQuery

式どおりに<XQuery 式>を評価し,XML 型の値 X1 を生成する。

3) XQuery

評価の結果が XQuery 誤りならば,例外条件:XQuery

誤り  (XQuery error)  が引き起こされ

る。

4)

場合:

a)

X1

が空の並びで,かつ,<XMLQUERY の EMPTY 処理選択肢>が NULL ON EMPTY ならば,ナ

ル値を X2 とする。

b)

そうでなければ,次による。

場合:

i)

XQRM

が BY REF ならば,X1 を X2 とする。

ii)

そうでなければ,X1 を VALUE として,

10.18 XML 値の写しの構成”の

一般規則を適用する。

これらの

一般規則の適用によって戻される COPY を X2 とする。

5)

X2

は,<XMLQUERY 関数>の結果とする。

適合性規則

1)

機能 X200“XMLQuery”なしでは,適合する SQL 言語は,<XMLQUERY 関数>を含んではならな

い。

2)

機能 X201“XMLQuery:RETURNING CONTENT”なしでは,適合する SQL 言語は,RETURNING

CONTENT を含む<XMLQUERY 関数>を含んではならない。

3)

機能 X202“XMLQuery:RETURNING SEQUENCE”なしでは,適合する SQL 言語は,RETURNING

SEQUENCE を含む<XMLQUERY 関数>を含んではならない。

4)

機能 X203“XMLQuery:文脈項目の受渡し”なしでは,適合する SQL 言語中で,<XMLQUERY 関

数>は,<XML 問合せ文脈項目>を含んではならない。

5)

機能 X204“XMLQuery:XQuery 変数の初期化”なしでは,適合する SQL 言語中で,<XMLQUERY

関数>は,<XML 問合せ変数>を含んではならない。

6)

機能 X205“XMLQuery:EMPTY ON EMPTY 選択肢”なしでは,適合する SQL 言語は,EMPTY ON

EMPTY を指定する<XMLQUERY の EMPTY 処理選択肢>を含む<XMLQUERY 関数>を含んではなら

ない。


66

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

7)

機能 X206“XMLQuery:NULL ON EMPTY 選択肢”なしでは,適合する SQL 言語は,NULL ON EMPTY

を指定する<XMLQUERY の EMPTY 処理選択肢>を含む<XMLQUERY 関数>を含んではならない。

8)

機能 X211“XML 1.1 提供”なしでは,適合する SQL 言語中で,<XQuery 式>の値は,XML 1.0  語彙

規則での XQuery 式でなければならない。

9)

機能 X211“XML 1.1 提供”なしでは,適合する SQL 言語中で,<XML 問合せ変数>に含まれる<識

別子>は,XML 1.0 NCName でなければならない。

6.19  <XMLTEXT

関数>

機能

<XMLTEXT 関数> (<XML text>)  は,潜在的な XQuery 文書ノードの子として単一の XQuery テキストノ

ードをもつ XML 値を生成する。

形式

<XMLTEXT

関数> ::=

  XMLTEXT  <

左括弧> <文字値式>

      [  <XML  RETURNING

句> ] <右括弧>

構文規則

1) <XML

RETURNING 句>が指定されないならば,RETURNING CONTENT が暗に想定されるか又は

RETURNING SEQUENCE が暗に想定されるかは,処理系定義とする。

2) <

文字値式>を SVE とする。

3)

場合:

a) RETURNING

CONTENT が指定されるか又は暗に想定されるならば,<XMLTEXT 関数>は,次の

<XMLDOCUMENT 関数>と等価とする。

XMLDOCUMENT (

XMLTEXT ( SVE RETURNING SEQUENCE )

RETURNING CONTENT )

b)

そうでなければ,<XMLTEXT 関数>の宣言型は,XML(SEQUENCE)  とする。

注記 46 RETURNING CONTENT が指定されるか又は暗に想定されるならば,<XMLTEXT 関数>の

宣言型は,

6.13 <XMLDOCUMENT 関数>”の

構文規則によって実効的に定まる。

アクセス規則

なし。

一般規則

1)

SVE

の値を SV とする。

2)

SV

がナル値ならば,<XMLTEXT 関数>の結果は,ナル値とし,この細分箇条の

一般規則は,これ

以上適用しない。

3)

場合:

a) <XMLTEXT

関数>が<XML 2 進オクテット符号化>の有効範囲内に含まれるならば,<XMLTEXT

関数>を含む最も内側の有効範囲をもつ<XML 2 進オクテット符号化>を XBE とする。

b)

そうでなければ,処理系定義の<XML 2 進オクテット符号化>を XBE とする。

4)

場合:

a)

XBE

が BASE64 を指定するならば,2 進オクテット列を base64 で符号化すべきことを示す標識を

ENC

とする。


67

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

b)

そうでなければ,2 進オクテット列を hex で符号化すべきことを示す標識を ENC とする。

5)

SV

を SQLVALUE として,ENC を ENCODING として,

“absent”を NULLS として,

偽  (False)  を

CHARMAPPING

として,

9.8 SQL データ型の値の XML スキーマデータ型の値への対応付け”の

般規則を適用する。これらの一般規則の適用によって戻される XMLVALUE を USV とする。USV は,

Unicode 文字の文字列とする。

6)

次の特性をもつ XQuery テキストノードを XTN とする。

a)

content

特性の値が USV の値である。

b)  parent

特性に空  (empty)  の値が設定されている。

7) <XMLTEXT

関数>の結果は,一つのノード XTN から成る XQuery 並びとする。

適合性規則

1)

機能 X038“XMLText”なしでは,適合する SQL 言語は,<XMLTEXT 関数>を含んではならない。

2)

機能 X241“XML 発行における RETURNING CONTENT”なしでは,適合する SQL 言語中で,

<XMLTEXT 関数>は,RETURNING CONTENT である<XML RETURNING 句>を指定してはならな

い。

3)

機能 X242“XML 発行における RETURNING SEQUENCE”なしでは,適合する SQL 言語中で,

<XMLTEXT 関数>は,RETURNING SEQUENCE である<XML RETURNING 句>を指定してはならな

い。

6.20  <XMLVALIDATE

関数>

機能

<XMLVALIDATE 関数> (<XML validate>)  は,XML 値の妥当性を検証する。

形式

<XMLVALIDATE

関数> ::=

  XMLVALIDATE  <

左括弧>

      <

文書,内容又は並び>

      <XML

値式>

      [ <XML

妥当 ACCORDING TO 句> ]

      <

右括弧>

<

文書,内容又は並び> ::=

  <

文書又は内容>

 |

SEQUENCE

構文規則

1) <XML

値式>を XVE とする。<文書,内容又は並び>を DCS とする。

2) <XML

妥当 ACCORDING TO 句>が指定されるならば,示された登録 XML スキーマを RXS とし,

あるならば,示された XML 名前空間を ENSURI とし,あるならば,示された大域要素宣言スキー

マ構成要素の XML NCName を EN とする。

注記 47  “示された登録 XML スキーマ”,“示された XML 名前空間”及び“示された大域要素宣言

スキーマ構成要素”は,

11.6 <XML 妥当 ACCORDING TO 句>”で定義している。

3)

XVE

の宣言型を XVT とする。<XMLVALIDATE 関数>の宣言型は,次の宣言型とする。

場合:

a)

XVT

XML(DOCUMENT(ANY))

XML(DOCUMENT(UNTYPED))


68

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

XML(DOCUMENT(XMLSCHEMA))  ならば,次の宣言型。

場合:

i) <XML

妥当 ACCORDING TO 句>が指定されるならば,次の宣言型。

場合:

1) <XML

妥当要素名指定>が指定されるならば,RXS の登録 XML スキーマ記述子,XML 名前

空 間

ENSURI

及 び

XML NCName EN を 含 む XML 型 記 述 子 を も つ

XML(DOCUMENT(XMLSCHEMA))。

2) <XML

妥当要素名前空間指定>が指定されるならば,RXS の登録 XML スキーマ記述子及び

XML 名前空間 ENSURI を含む XML 型記述子をもつ XML(DOCUMENT(XMLSCHEMA))。

3)

そ う で な け れ ば , RXS の 登 録 XML ス キ ー マ 記 述 子 を 含 む XML 型 記 述 子 を も つ

XML(DOCUMENT(XMLSCHEMA))。

ii)

そうでなければ,XML(DOCUMENT(ANY))。

b)  XVT

XML(CONTENT(ANY))

XML(CONTENT(UNTYPED))

XML(CONTENT(XMLSCHEMA))  ならば,次の宣言型。

場合:

i) <XML

妥当 ACCORDING TO 句>が指定されるならば,次の宣言型。

場合:

1) <XML

妥当要素名指定>が指定されるならば,RXS の登録 XML スキーマ記述子,XML 名前

空 間

ENSURI

及 び

XML NCName EN を 含 む XML 型 記 述 子 を も つ

XML(CONTENT(XMLSCHEMA))。

2) <XML

妥当要素名前空間指定>が指定されるならば,RXS の登録 XML スキーマ記述子及び

XML 名前空間 ENSURI を含む XML 型記述子をもつ XML(CONTENT(XMLSCHEMA))。

3)

そ う で な け れ ば , RXS の 登 録 XML ス キ ー マ 記 述 子 を 含 む XML 型 記 述 子 を も つ

XML(CONTENT(XMLSCHEMA))。

ii)

そうでなければ,XML(CONTENT(ANY))。

c)

XVT

が XML(SEQUENCE)  ならば,XML(SEQUENCE)。

アクセス規則

なし。

一般規則

1)

XVE

の値を とする。

2)

V

がナル値ならば,<XMLVALIDATE 関数>の結果は,ナル値とし,この細分箇条の

一般規則は,こ

れ以上適用しない。

3)

場合:

a)

DCS

が DOCUMENT で,かつ,が,ただ一つの XQuery 要素ノード,0 個以上の XQuery コメン

トノード及び 0 個以上の XQuery 処理命令ノードを含む children 特性をもつ XQuery 文書ノードで

ある唯一の XQuery 項目をもつ長さ 1 の XQuery 並びでないならば,例外条件:

データ例外  (data 

exception)

XML

文書が妥当ではない  (invalid XML document)  が引き起こされる。

b)  DCS

が CONTENT で,かつ,が,XQuery 文書ノードである唯一の XQuery 項目をもつ長さ 1

の XQuery 並びでないならば,例外条件:

データ例外−XML 内容が妥当ではない  (invalid XML 

content)

が引き起こされる。


69

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

c)

そうでなければ,に含まれるどの XQuery 項目も,XQuery 基本単位値,XQuery 属性ノード,

XQuery 名前空間ノード又は XQuery テキストノードならば,例外条件:データ例外−XQuery 

びの妥当性を検証できない  (XQuery sequence cannot be validated)  が引き起こされる。

4)

V

が空の XQuery 並びならば,<XMLVALIDATE 関数>の結果は,空の XQuery 並びとし,この細分

箇条の

一般規則は,これ以上適用しない。

5)

V

中の XQuery 項目の個数を とする。中の XQuery 項目の順序どおりの列挙を I

j

,1 ≤ j ≤ とす

る。

6)

各 j,1 ≤ j ≤ に対して,次による。

場合:

a)

I

j

が XQuery 文書ノード ならば,次による。

i)

D

の children 特性中の XQuery ノードの個数を とする。

ii)  D

の children 特性中の XQuery ノードの順序どおりの列挙を C

k

,1 ≤ k ≤ とする。

iii)

各 k,1 ≤ k ≤ に対して,次による。

場合:

1)

C

k

が XQuery 要素ノード,

XQuery コメントノード又は XQuery 処理命令ノードでないならば,

例外条件:

データ例外−XQuery 文書ノードの妥当性を検証できない  (XQuery document node 

cannot be validated)

が引き起こされる。

2)

C

k

が XQuery 要素ノードならば,次による。

A)

場合:

I) <XML

妥当 ACCORDING TO 句>が指定されるならば,RXS を XS

k

とする。

II)

そうでなければ,次による。

1)

C

k

の XML 名前空間を NS とする。

2)

利用者がアクセス可能な登録 XML スキーマの同じ集まり及び同じ値 でアルゴリズ

ムが再評価されるならば,同じ登録 XML スキーマが選択されることになるという意

味で繰返し可能な,決定的処理系定義アルゴリズムに従って選択され,現行利用者が

USAGE 権限をもち,かつ,[Namespaces]  で定義されるとおりに NS と同一であるタ

ーゲット名前空間をもつ登録 XML スキーマを XS

k

とする。

XS

k

が見つからないならば,

例外条件:

データ例外−XML スキーマが見つからない  (no XML schema found)  が引き

起こされる。

B) <XML

妥当要素句>が指定されるならば,C

k

の node-name 特性を ENAME とする。

場合:

I) <XML

妥当要素名指定>が指定され,かつ,ENAME の XML NCName が EN と等価でない

か,又は  [Namespaces]  で定義されるとおりに ENAME の XML 名前空間が ENSURI と同

一でないかのいずれかならば,例外条件:

データ例外−指定された QName をもつ XML

要素がない  (no XML element with the specified QName)  が引き起こされる。

II)

そうでなければ,<XML 妥当要素名前空間指定>が指定され,かつ,[Namespaces]  での

規定どおりに ENAME の XML 名前空間が ENSURI と同一でないならば,例外条件:

デー

タ例外−指定された名前空間をもつ XML 要素がない  (no XML element with the specified 

namespace)

が引き起こされる。

C)

場合:


70

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

I)

DCS

が DOCUMENT ならば,I

j

を ITEM として,XS

k

を SCHEMA として,

10.22 XQuery

の文書ノード又は要素ノードの妥当性検証”の

一般規則を適用する。これらの一般規則

の適用によって戻される STATUS を STAT とし,あるならば,RESULT を RES とする。

II)

そうでなければ,C

k

を ITEM として,XS

k

を SCHEMA として,

10.22 XQuery の文書ノ

ード又は要素ノードの妥当性検証”の

一般規則を適用する。これらの一般規則の適用に

よって戻される STATUS を STAT とし,あるならば,RESULT を RES とする。

D)  STAT

が FAILURE ならば,例外条件:

データ例外−妥当性検証失敗  (validation failure)  が

引き起こされる。

E)

場合:

I)

DCS

が DOCUMENT ならば,RES の child である XQuery 要素ノードを O

k

とする。

II)

そうでなければ,RES を O

k

とする。

3)

そうでなければ,

C

k

を VALUE として,

10.18 XML 値の写しの構成”

一般規則を適用する。

これらの

一般規則の適用によって戻される COPY を O

k

とする。

iv)  O

k

,1 ≤ k ≤ の列挙によって置き換えられる children 特性をもつ XQuery 文書ノードを R

j

とす

る。

b)  I

j

が XQuery 要素ノード ならば,次による。

i)

場合:

1) <XML

妥当 ACCORDING TO 句>が指定されるならば,RXS を XS とする。

2)

そうでなければ,の XML 名前空間を NS とする。利用者がアクセス可能な登録 XML スキ

ーマの同じ集まり及び同じ値 でアルゴリズムが再評価されるならば,同じ登録 XML スキ

ーマが選択されることになるという意味で繰返し可能な,決定的処理系定義アルゴリズムに

従って選択され,現行利用者が USAGE 権限をもち,かつ,[Namespaces]  で定義されるとお

りに NS と同一であるターゲット名前空間をもつ登録 XML スキーマを XS とする。XS が見

つからないならば,例外条件:

データ例外−XML スキーマが見つからない  が引き起こされ

る。

ii) <XML

妥当要素句>が指定されるならば,の node-name 特性を ENAME とする。

場合:

1) <XML

妥当要素名指定>が指定され,かつ,ENAME の XML NCName が EN と等価でないか,

又は  [Namespaces]  での規定どおりに ENAME の XML 名前空間が ENSURI と同一でないかの

いずれかならば,例外条件:

データ例外−指定された QName をもつ XML 要素がない  が引

き起こされる。

2)

そうでなければ,<XML 妥当要素名前空間指定>が指定され,かつ,[Namespaces]  で定義さ

れるとおりに ENAME の XML 名前空間が ENSURI と同一でないならば,例外条件:

データ例

外−指定された名前空間をもつ XML 要素がない  が引き起こされる。

iii)  I

j

を ITEM として,XS を SCHEMA として,

10.22 XQuery の文書ノード又は要素ノードの妥

当性検証”の

一般規則を適用する。これらの一般規則の適用によって戻される STATUS を STAT

とし,あるならば,RESULT を RES とする。

iv)  STAT

が FAILURE ならば,例外条件:

データ例外−妥当性検証失敗  が引き起こされる。

v)

RES

を R

j

とする。

c)

そうでなければ,I

j

は,XQuery コメントノード又は XQuery 処理命令ノードとする。I

j

を VALUE


71

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

として,

10.18 XML 値の写しの構成”の

一般規則を適用する。これらの一般規則の適用によって

戻される COPY を R

j

とする。

7)

R

j

,1 ≤ j ≤ によって列挙される XQuery 並びを とする。

8) <XMLVALIDATE

関数>の結果は,とする。

適合性規則

1)

機能 X271“XMLValidate:データ駆動の場合”なしでは,適合する SQL 言語は,<XML 妥当

ACCORDING TO 句>を含まない<XMLVALIDATE 関数>を含んではならない。

2)

機能 X272“XMLValidate:ACCORDING TO 句”なしでは,適合する SQL 言語は,<XML 妥当

ACCORDING TO 句>を含む<XMLVALIDATE 関数>を含んではならない。

3)

機能 X273“XMLValidate:ELEMENT 句”なしでは,適合する SQL 言語は,<XML 妥当要素句>を

含む<XMLVALIDATE 関数>を含んではならない。

4)

機能 X284“XMLValidate:ELEMENT 句なしの NAMESPACE”なしでは,適合する SQL 言語は,<XML

妥当要素名指定>を含まない<XML 妥当要素句>を含む<XMLVALIDATE 関数>を含んではならない。

5)

機能 X286“XMLValidate:ELEMENT 句ありの NO NAMESPACE”なしでは,適合する SQL 言語は,

NO NAMESPACE を含む<XML 妥当要素名前空間指定>を含む<XMLVALIDATE 関数>を含んではな

らない。

6)

機能 X274“XMLValidate:スキーマ位置”なしでは,適合する SQL 言語は,<XML 妥当スキーマ位

置>を含む<XMLVALIDATE 関数>を含んではならない。

7)

機能 X281“XMLValidate:DOCUMENT 選択肢あり”なしでは,適合する SQL 言語は,DOCUMENT

である<文書,内容又は並び>を直に含む<XMLVALIDATE 関数>を含んではならない。

8)

機能 X282“XMLValidate:CONTENT 選択肢あり”なしでは,適合する SQL 言語は,CONTENT で

ある<文書,内容又は並び>を直に含む<XMLVALIDATE 関数>を含んではならない。

9)

機能 X283“XMLValidate:SEQUENCE 選択肢あり”なしでは,適合する SQL 言語は,SEQUENCE

である<文書,内容又は並び>を直に含む<XMLVALIDATE 関数>を含んではならない。

7

問合せ式

この箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“7  問合せ式”を修正する。

7.1

<

表参照>

この細分箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“7.6 <表参照>”を修正する。

機能

<表参照> (<table reference>)  は,表を参照する。

形式

<

表一次子> ::=

  !! JIS X 3005-2 (ISO/IEC 9075-2

中の全ての代替手段

 |

<XMLITERATE

関数> [ AS ] <相関名>

      <

左括弧> <導出列リスト> <右括弧>

 |

<XMLTABLE

関数> [ AS ] <相関名>

      [ <

左括弧> <導出列リスト> <右括弧> ]

<XMLITERATE

関数> ::=

  XMLITERATE  <

左括弧> <XML 値式> <右括弧>


72

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

<XMLTABLE

関数> ::=

  XMLTABLE  <

左括弧>

      [ <XML

名前空間宣言> <コンマ> ]

      <XMLTABLE

の行パターン>

      [  <XMLTABLE

の引数リスト> ]

      COLUMNS  <XMLTABLE

の列定義の並び> <右括弧>

<XMLTABLE

の行パターン> ::=

  <

文字列定数>

<XMLTABLE

の引数リスト> ::=

  PASSING  <XMLTABLE

の引数受渡し手段>

      <XML

問合せ引数>

      [ { <

コンマ> <XML 問合せ引数> }... ]

<XMLTABLE

の引数受渡し手段> ::=

  <XML

受渡し手段>

<XMLTABLE

の列定義の並び> ::=

  <XMLTABLE

の列定義>

      [ { <

コンマ> <XMLTABLE の列定義> }... ]

<XMLTABLE

の列定義> ::=

  <XMLTABLE

の添え字列定義>

 |

<XMLTABLE

の通常列定義>

<XMLTABLE

の添え字列定義> ::=

  <

列名> FOR ORDINALITY

<XMLTABLE

の通常列定義> ::=

  <

列名> <データ型> [ <XML 受渡し手段> ]

      [  <DEFAULT

句> ]

      [  PATH  <XMLTABLE

の列パターン> ]

<XMLTABLE

の列パターン> ::=

  <

文字列定数>

構文規則

1)

構文規則  29)  の後に挿入する。】<XMLTABLE 関数>の結果が決定的であることを SQL 処理系が

推論できる処理系定義の規則に適合しないならば,<XMLTABLE 関数>は,

潜在的に非決定的

(possibly non-deterministic)  とする。

2)

構文規則  29)  の後に挿入する。】<表一次子>が,潜在的に非決定的な<XMLTABLE 関数>ならば,

その<表一次子>も,

潜在的に非決定的  とする。

3)

【この

構文規則を挿入する。】<表一次子>が<XMLITERATE 関数>を含むならば,<導出列リスト>

は,ただ二つの<列名> CN1 及び CN2 を含まなければならず,それらは,等価であってはならない。

<XMLITERATE 関数>の宣言型は,二つのフィールドから成る行型とし,1 番目のフィールドは,

CN1

と等価な<フィールド名>及び XML(SEQUENCE)  のデータ型をもち,2 番目のフィールドは,

CN2

と等価な<フィールド名>及び位取りが 0 の真数のデータ型をもつ。

4)

【この

構文規則を挿入する。】<XMLTABLE 関数>が指定されるならば,次による。


73

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

a)

場合:

i) <XML

名前空間宣言> XND が指定されるならば,次の<WITH 句>を XNDC とする。

WITH XND

ii)

そうでなければ,長さ 0 の文字列を XNDC とする。

b) <XMLTABLE

の行パターン>を XTRP とする。

c)

場合:

i) <XMLTABLE

の引数リスト>が指定されるならば,<XMLTABLE の引数受渡し手段>を XTTPM

とし,<XML 問合せ引数>の個数を NA とし,<XML 問合せ引数>の列挙を XQA

i

,1 ≤ i ≤ NA 

し,次の<XML 問合せ引数リスト>を XQAL とする。

PASSING XTTPM XQA

1

, ..., XQA

NA

ii)

そうでなければ,BY REF を XTTPM とし,長さ 0 の文字列を XQAL とする。

d) <XMLTABLE

の列定義>の個数を NC とする。左から右への順序で<XMLTABLE の列定義>の列挙

を XTCD

j

,1 ≤ j ≤ NC とする。<XMLTABLE の添え字列定義>である高々一つの XTCD

j

が存在しな

ければならない。

e) 1

から NC までの両端を含めた範囲の各 に対して,XTCD

j

に含まれる<列名>を CN

j

とする。

場合:

i)

XTCD

j

が<XMLTABLE の添え字列定義>ならば,次の<値式>を SLI

j

とする。

I.N

ii)

そうでなければ,次による。

1)

XTCD

j

に含まれる<データ型>を DT

j

とする。

2)

場合:

A)  DT

j

が XML(SEQUENCE)  ならば,次による。

I) <XMLTABLE

の引数リスト>が指定されないならば,XTCD

j

は,<XML 受渡し手段>を含

まなければならない。

II)  XTCD

j

が<XML 受渡し手段>を含むならば,この<XML 受渡し手段>を XPM

j

とする。そ

うでなければ,XTTPM を XPM

j

とする。

III) RETURNING SEQUENCE XPM

j

を XRM

j

とする。

B)

そうでなければ,<XML 受渡し手段>を指定してはならない。RETURNING CONTENT を

XRM

j

とする。

3)

XTCD

j

が<既定値選択肢>を含むならば,その<既定値選択肢>を DEF

j

とする。そうでなけれ

ば,NULL を DEF

j

とする。

4)

XTCD

j

が<XMLTABLE の列パターン>を含むならば,その<XMLTABLE の列パターン>を

PATH

j

とする。そうでなければ,CN

j

によって識別される列の列名と等価な値をもつ<文字列

定数>を PATH

j

とする。

5)

次の<XMLQUERY 関数>を XQC

j

とする。

XMLQUERY ( PATH

j

 PASSING BY REF I.V XRM

j

 EMPTY ON EMPTY )

6)

次の<XMLEXISTS 述語>を XE

j

とする。

XMLEXISTS ( PATH

j

 PASSING BY REF I.V )

7)

場合:

A)  DT

j

が XML(SEQUENCE)  ならば,XPM

j

を CPM

j

とする。


74

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

B)  DT

j

が XML 型ならば,BY VALUE を CPM

j

とする。

C)

そうでなければ,長さ 0 の文字列を CPM

j

とする。

8)

次の<CASE 式>を SLI

j

とする。

CASE WHEN XE

j

THEN XMLCAST( XQC

j

 AS DTj CPM

j

 )

ELSE DEF

j

END

f) <

相関名>を CORR とする。

g)

場合:

i) <

導出列リスト>が指定されるならば,その<導出列リスト>を DCL とし,次の指定を DCLP 

する。

DCL )

ii)

そうでなければ,長さ 0 の文字列を DCLP とする。

h) <XMLTABLE

関数>は,次の指定と等価とする。

LATERAL

XNDC

SELECT SLI

1

 AS CN

1

SLI

2

 AS CN

2

, ..., SLI

NC

 AS CN

NC

FROM XMLITERATE ( XMLQUERY (XTRP XQAL

RETURNING SEQUENCE BY REF EMPTY ON EMPTY ) )

AS I ( V, N )

) AS CORR DCLP

アクセス規則

追加の

アクセス規則なし。

一般規則

1)

一般規則  2)  の後に挿入する。】<表一次子>  TP が<XMLITERATE 関数>を単純に含むならば,

<XML 値式>の値を とする。

場合:

a)

V

がナル値か又は空の XQuery 並びならば,TP の結果は,空の表とする。

b)

そうでなければ,TP の結果は,中の各 XQuery 項目に対して一つの行から成る表とする。各行

の 1 番目の列の値は,中の対応する XQuery 項目とする。2 番目の列の値は,中の XQuery 項

目の連番とする。

適合性規則

1)

【この

適合性規則を挿入する。】適合する SQL 言語は,<XMLITERATE 関数>を含んではならない。

注記 48  この適合性規則は,<XMLITERATE 関数>が単にこの規格のこの版内での規定法として存

在し,適合する SQL 言語で用いることができないということを確実にする。適合する SQL

言語は,<XMLTABLE 関数>の利用によって同じ効果を実現できる。

2)

【この

適合性規則を挿入する。】機能 X300“XMLTable”なしでは,適合する SQL 言語は,<XMLTABLE

関数>を含んではならない。

3)

【この

適合性規則を挿入する。】機能 X301“XMLTable:導出列リスト選択肢”なしでは,適合する

SQL 言語中で,<XMLTABLE 関数>である<表一次子>は,<導出列リスト>を含んではならない。


75

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

4)

【この

適合性規則を挿入する。】機能 X302“XMLTable:添え字列選択肢”なしでは,適合する SQL

言語中で,<XMLTABLE 関数>は,<XMLTABLE の添え字列定義>を含んではならない。

5)

【この

適合性規則を挿入する。】機能 X303“XMLTable:列既定値選択肢”なしでは,適合する SQL

言語中で,<XMLTABLE の通常列定義>は,<DEFAULT 句>を含んではならない。

6)

【この

適合性規則を挿入する。】機能 X304“XMLTable:文脈項目の受渡し”なしでは,適合する

SQL 言語中で,<XMLTABLE の引数リスト>は,<XML 問合せ文脈項目>を含んではならない。

7)

【この

適合性規則を挿入する。】機能 X305“XMLTable:XQuery 変数の初期化”なしでは,適合す

る SQL 言語中で,<XMLTABLE の引数リスト>は,<XML 問合せ変数>を含んではならない。

8)

【この

適合性規則を挿入する。】機能 X086“XMLTable 中の XML 名前空間宣言”なしでは,適合す

る SQL 言語中で,<XMLTABLE 関数>は,<XML 名前空間宣言>を含んではならない。

7.2

<

問合せ式>

この細分箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“7.13 <問合せ式>”を修正する。

機能

<問合せ式> (<query expression>)  は,表を指定する。

形式

<WITH

句> ::=

  WITH  [  <XML

字句的有効範囲化選択肢の並び> ] [ <コンマ> ] [ [ RECURSIVE ] <WITH リスト> ]

構文規則

1)

【この

構文規則を挿入する。】<WITH 句>は,<XML 字句的有効範囲化選択肢>若しくは<WITH リス

ト>,又はそれらの両方を含まなければならない。

2)

【この

構文規則を挿入する。】<WITH 句>に直に含まれる<XML 字句的有効範囲化選択肢の並び>に

含まれる<XML 名前空間宣言>の有効範囲は,<問合せ式>とする。

3)

【この

構文規則を挿入する。】<WITH 句>に直に含まれる<XML 字句的有効範囲化選択肢の並び>に

含まれる<XML 2 進オクテット符号化>の有効範囲は,<問合せ式>とする。

4)

【この

構文規則を挿入する。】<WITH 句>が<コンマ>を直に含まなければならないということは,

<WITH 句>が<XML 字句的有効範囲化選択肢の並び>及び<WITH リスト>の両方を直に含むことと

同値とする。

アクセス規則

追加の

アクセス規則なし。

一般規則

1)

一般規則 3)b)ii)1)  を置き換える。】の 番目の列の宣言型が XML 型でないならば,その宣言型

を DTC

i

とする。そうでなければ,の 番目の列の宣言型を DDTC

i

とし,次の指定を DTC

i

とする。

DDTC

i

 BY REF

適合性規則

1)

【この

適合性規則を挿入する。】機能 X081“問合せレベル XML 名前空間宣言”なしでは,適合す

る SQL 言語中で,<WITH 句>は,<XML 名前空間宣言>を含む<XML 字句的有効範囲化選択肢の並

び>を直に含んではならない。

2)

【この

適合性規則を挿入する。】機能 X131“問合せレベル XMLBINARY 句”なしでは,適合する

SQL 言語中で,<WITH 句>は,<XML 2 進オクテット符号化>を含む<XML 字句的有効範囲化選択肢

の並び>を直に含んではならない。


76

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

3)

【この

適合性規則を挿入する。】機能 X135“副問合せ中の XMLBINARY 句”なしでは,適合する

SQL 言語中で,別の<問合せ式>に含まれる<問合せ式>は,<XML 2 進オクテット符号化>を含む

<XML 字句的有効範囲化選択肢の並び>を含んではならない。

8

述語

この箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“8  述語”を修正する。

8.1

<

述語>

この細分箇条は,JIS X 3005-2 (ISO/IEC 9075-2)  の“8.1 <述語>”を修正する。

機能

<述語> (<predicate>)  は,ブール値を与えるために評価できる条件を指定する。

形式

<

述語> ::=

  !! JIS X 3005-2 (ISO/IEC 9075-2

中の全ての代替手段

| <XML CONTENT

述語>

| <XML DOCUMENT

述語>

 |

<XMLEXISTS

述語>

| <XML VALID

述語>

構文規則

追加の

構文規則なし。

アクセス規則

追加の

アクセス規則なし。

一般規則

1)

一般規則 1)  を置き換える。】<述語>の結果は,それに直に含まれる<比較述語>,<BETWEEN 述

語>,<IN 述語>,<LIKE 述語>,<SIMILAR 述語>,<LIKE_REGEX 述語>,<NULL 述語>,<限定比

較述語>,<EXISTS 述語>,<UNIQUE 述語>,<NORMALIZED 述語>,<MATCH 述語>,<OVERLAPS

述語>,<DISTINCT 述語>,<MEMBER 述語>,<SUBMULTISET 述語>,<SET 述語>,<型述語>,<

期間述語>,<XML CONTENT 述語>,<XML DOCUMENT 述語>,<XMLEXISTS 述語>又は<XML

VALID 述語>の真理値とする。

適合性規則

追加の

適合性規則なし。

8.2

<XML CONTENT

述語>

機能

<XML CONTENT 述語> (<XML content predicate>)  は,XML 値が XQuery 文書ノードかどうかを決定す

る。

形式

<XML CONTENT

述語> ::=

  <

行値述語オペランド> <XML CONTENT 述語部分 2>

<XML CONTENT

述語部分 2> ::=

  IS [ NOT ] CONTENT

構文規則


77

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

1) <

行値述語オペランド>は,<XML 値式> XVE である<共通値式>である<行値構成子述語オペランド>

でなければならない。

2)

次の式は,

XVE

 IS NOT CONTENT

次の<探索条件>と等価とする。

NOT ( XVE IS CONTENT )

アクセス規則

なし。

一般規則

1)

XVE

の値を とする。

2)

次の<XML CONTENT 述語>の結果は,

XVE

 IS CONTENT

次のとおりに決定される。

場合:

a)

V

がナル値ならば,結果は,

不定  (Unknown)  とする。

b)  V

が,XQuery 文書ノードである唯一の XQuery 項目をもつ長さ 1 の XQuery 並びならば,結果は,

真  (True)  とする。

c)

そうでなければ,結果は,

偽  (False)  とする。

適合性規則

1)

機能 X091“XML CONTENT 述語”なしでは,適合する SQL 言語は,<XML CONTENT 述語>を含

んではならない。

8.3

<XML DOCUMENT

述語>

機能

<XML DOCUMENT 述語> (<XML document predicate>)  は,XML 値が,ただ一つの XQuery 要素ノード,

0 個以上の XQuery コメントノード及び 0 個以上の XQuery 処理命令ノードを含む children 特性をもつ
XQuery 文書ノードかどうかを決定する。

形式

<XML DOCUMENT

述語> ::=

  <

行値述語オペランド> <XML DOCUMENT 述語部分 2>

<XML DOCUMENT

述語部分 2> ::=

  IS [ NOT ] DOCUMENT

構文規則

1) <

行値述語オペランド>は,<XML 値式> XVE である<共通値式>である<行値構成子述語オペランド>

でなければならない。

2)

次の式は,

XVE

 IS NOT DOCUMENT

次の<探索条件>と等価とする。

NOT ( XVE IS DOCUMENT )

アクセス規則

なし。


78

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

一般規則

1)

XVE

の値を とする。

2)

次の<XML DOCUMENT 述語>の結果は,

XVE

 IS DOCUMENT

次のとおりに決定される。

場合:

a)

V

がナル値ならば,結果は,

不定  (Unknown)  とする。

b)  V

が,ただ一つの XQuery 要素ノード,0 個以上の XQuery コメントノード及び 0 個以上の XQuery

処理命令ノード含む children 特性をもつ XQuery 文書ノードである唯一の XQuery 項目をもつ長さ

1 の XQuery 並びならば,結果は,真  (True)  とする。

c)

そうでなければ,結果は,

偽  (False)  とする。

適合性規則

1)

機能 X090“XML DOCUMENT 述語”なしでは,適合する SQL 言語は,<XML DOCUMENT 述語>

を含んではならない。

8.4

<XMLEXISTS

述語>

機能

<XMLEXISTS 述語> (<XML exists predicate>)  は,空でない XQuery 並びのテストを指定する。

形式

<XMLEXISTS

述語> ::=

  XMLEXISTS  <

左括弧> <XQuery 式>

      [ <XML

問合せ引数リスト> ]<右括弧>

構文規則

1) <XQuery

式>を XQE とする。

2) <XML

問合せ引数リスト>が指定されるならば,その<XML 問合せ引数リスト>を XQP とする。そ

うでなければ,長さ 0 の文字列を XQP とする。

3)

6.18 <XMLQUERY 関数>”の

構文規則を次の<XMLQUERY 関数>に適用する。

XMLQUERY ( XQE XQP RETURNING SEQUENCE EMPTY ON EMPTY )

アクセス規則

1)

6.18 <XMLQUERY 関数>”の

アクセス規則を次の<XMLQUERY 関数>に適用する。

XMLQUERY ( XQE XQP RETURNING SEQUENCE EMPTY ON EMPTY )

一般規則

1)

次の<XMLQUERY 関数>の値を とする。

XMLQUERY ( XQE XQP RETURNING SEQUENCE EMPTY ON EMPTY )

2) <XMLEXISTS

述語>の値は,次のとおりとする。

場合:

a)

V

がナル値ならば,

不定  (Unknown)。

b)  V

が空の XQuery 並びならば,

偽  (False)。

c)

そうでなければ,

真  (True)。

適合性規則

1)

機能 X096“XMLExists”なしでは,適合する SQL 言語は,<XMLEXISTS 述語>を含んではならない。


79

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

8.5

<XML VALID

述語>

機能

<XML VALID 述語> (<XML valid predicate>)  は,XML 値が登録 XML スキーマに従って妥当かどうかを

決定するためのテストを指定する。

形式

<XML VALID

述語> ::=

  <

行値述語オペランド> <XML VALID 述語部分 2>

<XML VALID

述語部分 2> ::=

  IS [ NOT ] VALID

      <

文書,内容又は並び>

      [ <XML

妥当 ACCORDING TO 句> ]

構文規則

1) <

行値述語オペランド>は,<XML 値式> XVE である<共通値式>である<行値構成子述語オペランド>

でなければならない。

2) <

文書,

内容又は並び>を DCS とする。

<XML 妥当 ACCORDING TO 句>があるならば,それを XVACC

とする。そうでなければ,長さ 0 の文字列を XVACC とする。

3) <XML

VALID 述語>が NOT を直に含むならば,<XML VALID 述語>は,次の<探索条件>と等価とす

る。

NOT ( XVE IS VALID DCS XVACC )

4) <XML

妥当 ACCORDING TO 句>が指定されるならば,示された登録 XML スキーマを RXS とし,

あるならば,示された XML 名前空間を ENSURI とし,あるならば,示された大域要素宣言スキー

マ構成要素の XML NCName を EN とする。

注記 49  “示された登録 XML スキーマ”,“示された XML 名前空間”及び“示された大域要素宣言

スキーマ構成要素”は,

11.6 <XML 妥当 ACCORDING TO 句>”で定義している。

アクセス規則

なし。

一般規則

1)

XVE

の値を とする。

2)

V

がナル値ならば,<XML VALID 述語>の結果は,

不定  (Unknown)  とし,この細分箇条の一般規則

は,これ以上適用しない。

3)

DCS

が DOCUMENT で,かつ,が,ただ一つの XQuery 要素ノード,0 個以上の XQuery コメント

ノード及び 0 個以上の XQuery 処理命令ノードを含む children 特性をもつ XQuery 文書ノードである

唯一の XQuery 項目をもつ長さ 1 の XQuery 並びでないならば,<XML VALID 述語>の結果は,

(False)  とし,この細分箇条の一般規則は,これ以上適用しない。

4)

DCS

が CONTENT で,かつ,が,XQuery 文書ノードである唯一の XQuery 項目をもつ長さ 1 の

XQuery 並びでないならば,<XML VALID 述語>の結果は,偽  とし,この細分箇条の一般規則は,

これ以上適用しない。

5)

DCS

が SEQUENCE ならば,次による。

場合:

a)

V

が空の XQuery 並びならば,<XML VALID 述語>の結果は,

真  (True)  とし,この細分箇条の一


80

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

般規則は,これ以上適用しない。

b)

そうでなければ,に含まれるどの XQuery 項目も,XQuery 基本単位値,XQuery 属性ノード,

XQuery 名前空間ノード又は XQuery テキストノードならば,<XML VALID 述語>の結果は,偽  と

し,この細分箇条の

一般規則は,これ以上適用しない。

6)

V

中の XQuery 項目の個数を とする。中の XQuery 項目の順序どおりの列挙を I

j

,1 ≤ j ≤ とす

る。

真  を TV

0

とする。

7)

各 j,1 ≤ j ≤ に対して,次による。

場合:

a)

I

j

が XQuery 文書ノード ならば,次による。

i)

D

の children 特性中の XQuery ノードの個数を とする。

ii)  D

の children 特性中の XQuery ノードの順序どおりの列挙を C

k

,1 ≤ k ≤ とする。

真  を ITV

0

とする。

iii)

各 k,1 ≤ k ≤ に対して,次による。

場合:

1)

C

k

が XQuery 要素ノード,

XQuery コメントノード又は XQuery 処理命令ノードでないならば,

<XML VALID 述語>の結果は,偽  とし,この細分箇条の一般規則は,これ以上適用しない。

2)

C

k

が XQuery コメントノード又は XQuery 処理命令ノードならば,ITV

k-1

を ITV

k

とする。

3)

そうでなければ,C

k

は,XQuery 要素ノードとする。

A)

場合:

I) <XML

妥当 ACCORDING TO 句>が指定されるならば,RXS を XS

k

とし,

真  を FOUND

とする。

II)

そうでなければ,次による。

1)

C

k

の XML 名前空間を NS とする。

2)

利用者がアクセス可能な登録 XML スキーマの同じ集まり及び同じ値 でアルゴリズ

ムが再評価されるならば,同じ登録 XML スキーマが選択されることになるという意

味で繰返し可能な,決定的処理系定義アルゴリズムに従って選択され,現行利用者が

USAGE 権限をもち,かつ,[Namespaces]  で定義されるとおりに NS と同一であるタ

ーゲット名前空間をもつ登録 XML スキーマを XS

k

とする。XS

k

が存在しないならば,

偽  を FOUND とする。そうでなければ,真  を FOUND とする。

B)

場合:

I)

FOUND

偽  ならば,次の探索条件の結果を ITV

k

とする。

ITV

k-1

 AND

不定

II)

そうでなければ,次による。

1) <XML

妥当要素句>が指定されるならば,C

k

の node-name 特性を ENAME とする。

場合:

a) <XML

妥当要素名指定>が指定され,かつ,ENAME の XML NCName が EN と等価で

ないか又は ENAME の XML 名前空間が  [Namespaces]  での規定どおりに ENSURI 

同一でないかのいずれかならば,<XML VALID 述語>の結果は,

偽  とし,この細分

箇条の

一般規則は,これ以上適用しない。

b)

そうでなければ,<XML 妥当要素名前空間指定>が指定され,かつ,ENAME の XML


81

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

名前空間が  [Namespaces]  での規定どおりに ENSURI と同一でないならば,<XML

VALID 述語>の結果は,偽  とし,この細分箇条の一般規則は,これ以上適用しない。

2)

場合:

a)

DCS

が DOCUMENT ならば,I

j

を ITEM として,XS

k

を SCHEMA として,

10.22

XQuery の文書ノード又は要素ノードの妥当性検証”の一般規則を適用する。これら

一般規則の適用によって戻される STATUS を STAT とする。

b)

そうでなければ,C

k

を ITEM として,XS

k

を SCHEMA として,

10.22 XQuery の文

書ノード又は要素ノードの妥当性検証”の

一般規則を適用する。これらの一般規則

の適用によって戻される STATUS を STAT とする。

3)

場合:

a)

STAT

が FAILURE ならば,<XML VALID 述語>の結果は,

偽  とし,この細分箇条の

一般規則は,これ以上適用しない。

b)

そうでなければ,ITV

k-1

を ITV

k

とする。

iv)

次の探索条件の結果を TV

j

とする。

TV

j-1

 AND ITV

M

b)  I

j

が XQuery 要素ノード ならば,次による。

i)

場合:

1) <XML

妥当 ACCORDING TO 句>が指定されるならば,RXS を XS とし,

真  を FOUND とす

る。

2)

そうでなければ,の XML 名前空間を NS とする。利用者がアクセス可能な登録 XML スキ

ーマの同じ集まり及び同じ値 でアルゴリズムが再評価されるならば,同じ登録 XML スキ

ーマが選択されることになるという意味で繰返し可能な,決定的処理系定義アルゴリズムに

従って選択され,現行利用者が USAGE 権限をもち,かつ,[Namespaces]  で定義されるとお

りに NS と同一であるターゲット名前空間をもつ登録 XML スキーマを XS とする。XS が存

在しないならば,

偽  を FOUND とする。そうでなければ,真  を FOUND とする。

ii)

場合:

1)

FOUND

偽  ならば,次の<探索条件>の結果を TV

j

とする。

TV

j-1

 AND

不定

2)

そうでなければ,次による。

A) <XML

妥当要素句>が指定されるならば,の node-name 特性を ENAME とする。

場合:

I) <XML

妥当要素名指定>が指定され,かつ,ENAME の XML NCName が EN と等価でない

か又は ENAME の XML 名前空間が  [Namespaces]  で定義されるとおりに ENSURI と同一

でないかのいずれかならば,<XML VALID 述語>の結果は,

偽  とし,この細分箇条の一

般規則は,これ以上適用しない。

II)

そうでなければ,<XML 妥当要素名前空間指定>が指定され,かつ,ENAME の XML 名前

空間が  [Namespaces]  で定義されるとおりに ENSURI と同一でないならば,<XML

VALID 述語>の結果は,偽  とし,この細分箇条の一般規則は,これ以上適用しない。

B)  I

j

を ITEM として,XS を SCHEMA として,

10.22 XQuery の文書ノード又は要素ノード

の妥当性検証”の

一般規則を適用する。これらの一般規則の適用によって戻される STATUS


82

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

を STAT とする。

C)

場合:

I)

STAT

が FAILURE ならば,<XML VALID 述語>の結果は,

偽  とし,この細分箇条の一般

規則は,これ以上適用しない。

II)

そうでなければ,TV

j-1

を TV

j

とする。

c)

そうでなければ,I

j

は,XQuery コメントノード又は XQuery 処理命令ノードとする。TV

j-1

を TV

j

とする。

8) <XML

VALID 述語>の結果は,TV

N

とする。

適合性規則

1)

機能 X141“IS VALID 述語:データ駆動の場合”なしでは,適合する SQL 言語は,<XML 妥当

ACCORDING TO 句>を含まない<XML VALID 述語>を含んではならない。

2)

機能 X155“IS VALID 述語:ELEMENT 句なしの NAMESPACE”なしでは,適合する SQL 言語は,

<XML 妥当要素名指定>を含まない<XML 妥当要素句>を含む<XML VALID 述語>を含んではならな

い。

3)

機能 X157“IS VALID 述語:ELEMENT 句ありの NO NAMESPACE”なしでは,適合する SQL 言語

は,NO NAMESPACE を含む<XML 妥当要素名前空間指定>を含む<XML VALID 述語>を含んではな

らない。

4)

機能 X142“IS VALID 述語:ACCORDING TO 句”なしでは,適合する SQL 言語は,<XML 妥当

ACCORDING TO 句>を含む<XML VALID 述語>を含んではならない。

5)

機能 X143“IS VALID 述語:ELEMENT 句”なしでは,適合する SQL 言語は,<XML 妥当要素句>

を含む<XML VALID 述語>を含んではならない。

6)

機能 X144“IS VALID 述語:スキーマ位置”なしでは,適合する SQL 言語は,<XML 妥当スキーマ

位置>を含む<XML VALID 述語>を含んではならない。

7)

機能 X145“検査制約の外側の IS VALID 述語”なしでは,適合する SQL 言語は,<検査制約定義>

の<探索条件>に直接含まれない<XML VALID 述語>を含んではならない。

8)

機能 X151“IS VALID 述語:DOCUMENT 選択肢あり”なしでは,適合する SQL 言語は,DOCUMENT

である<文書,内容又は並び>を直に含む<XML VALID 述語>を含んではならない。

9)

機能 X152“IS VALID 述語:CONTENT 選択肢あり”なしでは,適合する SQL 言語は,CONTENT

である<文書,内容又は並び>を直に含む<XML VALID 述語>を含んではならない。

10)

機能 X153“IS VALID 述語:SEQUENCE 選択肢あり”なしでは,適合する SQL 言語は,SEQUENCE

である<文書,内容又は並び>を直に含む<XML VALID 述語>を含んではならない。

9

対応付け

9.1

SQL<

識別子>の XML Name への対応付け

細分箇条署名

“SQL<

識別子>の XML Name への対応付け” [

一般規則] (

パラメタ: “IDENT”,

パラメタ: “ESCAPE VARIANT”

)

戻り: “XMLNAME”

機能


83

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

SQL<識別子>の XML Name への対応付け (Mapping SQL <識別子>s to XML Names)  は,SQL<識別子>の

XML Name への対応付けを定義する。

形式

<uppercase hexit> ::=

  <digit> | A | B | C | D | E | F

構文規則

なし。

アクセス規則

なし。

一般規則

1)

この細分箇条の

一般規則の適用では,IDENT を SQLI とし,ESCAPE  VARIANT を EV とする。こ

の細分箇条の適用の結果は,XMLN とする。それは,XMLNAME として戻される。

注記 50  EV は,部分的な別扱い  (partially escaped)  又は完全な別扱い  (fully escaped)  のいずれかで

ある。SQLI は,SQL_TEXT の文字の並びである。

2)

SQLI

中の文字の個数を とする。SQLI 中の文字を左から右への順序で S

1

S

2

,...,S

N

とする。

3) SQL_TEXT

の文字の Unicode の文字への処理系定義の対応付けを TM とする。

注記 51  “C0 制御機能 (C0 controls)”と呼ばれる U+0000 から U+001F までの範囲,“削除 (delete)”

(U+007F)  及び“C1 制御機能 (C1 controls)”と呼ばれる U+0080 から U+009F までの範囲の
Unicode スカラ値は,Unicode 中の抽象文字 (abstract characters) の符号化ではない。Unicode

規格に適合するプログラムは,他のプロトコルでこれらと等価な 7 及び 8 ビット値を扱う

のと厳密に同じ方法で,これらの Unicode スカラ値を扱ってもよい。このような扱いは,

高水準のプロトコルを構成し,Unicode 規格の範囲外となる。これらの Unicode スカラ値は,

XML Name 中には出現しないが,XML テキスト中の他の場所には現れてもよい。

4) 1

から までの範囲の各 に対して,TM を用いた S

i

の Unicode へ対応付けを T

i

とし,次の規則に

よって定義される Unicode 文字列を X

i

とする。

場合:

a)

S

i

に Unicode への対応付けがない[すなわち,TM (S

i

)  が未定義]ならば,X

i

は,処理系定義とす

る。

b)  S

i

が<コロン>ならば,次による。

場合:

i)

i = 1

ならば,_x003A_を X

i

とする。

ii)  EV

が完全な別扱いならば,_x003A_を X

i

とする。

iii)

そうでなければ,T

i

を X

i

とする。

c)

i ≤ N–1

で,S

i

が<下線文字>で,かつ,S

i+1

が小文字“x”ならば,_x005F_を X

i

とする。

d)  EV

が完全な別扱いで,i = 1 で,N  ≥  3 で,S

1

が大文字“X”又は小文字“x”のいずれかで,S

2

が大文字“M”又は小文字“m”のいずれかで,かつ,S

3

が大文字“L”又は小文字“l”のいず

れかならば,次による。

場合:

i)

S

1

が小文字“x”ならば,_x0078_を X

i

とする。

ii)  S

1

が大文字“X”ならば,_x0058_を X

i

とする。


84

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

e)

次のいずれかが真ならば,

− SQL 処理系が

機能 X211“XML 1.1 提供”を提供しており,T

i

が妥当な XML 1.1 NameChar でな

いか,又は i = 1 で,かつ,T

1

が妥当な XML 1.1 NameStartChar でないかのいずれか。

− SQL 処理系が

機能 X211“XML 1.1 提供”を提供しておらず,T

i

が妥当な XML 1.0 NameChar で

ないか,又は i = 1 で,かつ,T

1

が妥当な XML 1.0 NameStartChar でないかのいずれか。

次による。

i) UCS-4

での符号化で,T

i

が U+U

1

U

2

...U

8

となるような八つの<大文字ヘキシット>を U

1

U

2

,...,

U

8

とする。

ii)

場合:

1)

U

1

 = 0,U

2

 = 0,U

3

 = 0,かつ,U

4

 = 0 ならば,_xU

5

U

6

U

7

U

8

_

を X

i

とする。

注記 52  この場合,T

i

に UCS-2 符号化があり,それが U+U

5

U

6

U

7

U

8

であることを暗に想定し

ている。

2)

そうでなければ,_xU

3

U

4

U

5

U

6

U

7

U

8

_

を X

i

とする。

f)

そうでなければ,T

i

を X

i

とする。

注記 53  すなわち,XML 1.0 NCName 又は XML 1.1 NCName 中の文字として問題が発生しない

SQLI

中のどの文字も,結果に単純に写される。

5)

左から右への順序での,X

1

X

2

,...,及び X

N

の文字列連結である XML Name を XMLN とする。

適合性規則

なし。

9.2

マルチパート SQL 名の XML Name への対応付け

細分箇条署名

マルチパート SQL 名の XML Name への対応付け” [

一般規則] (

パラメタ: “SEQUENCE OF SQL IDENTIFIERS”

)

戻り: “XMLNAME”

機能

マルチパート SQL 名の XML Name への対応付け  (Mapping a multi-part SQL name to an XML Name)  は,

SQL<識別子>の並びの XML Name への対応付けを定義する。

構文規則

なし。

アクセス規則

なし。

一般規則

1)

この細分箇条の

一般規則の適用では,SEQUENCE OF SQL IDENTIFIERS を SQLIS とする。この細

分箇条の適用の結果は,XMLR とする。それは,XMLNAME として戻される。

2)

SQLIS

中の SQL<識別子>の個数を とする。

SQLIS

の 番目の要素と等価な SQL<識別子>を SQLI

i

1≤ i ≤ とする。

3)

次のとおり定義される,文字列 の結果文字列への対応付けを NP(S)  とする。

a)

S

中の文字の個数を とする。中の各文字 S

j

,1 ≤ j ≤ に対して,NPS

j

を次のとおりに定義す

る。

場合:


85

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

i)

S

j

が<ピリオド>ならば,NPS

j

は,_x002E_とする。

ii)

そうでなければ,NPS

j

は,S

j

とする。

b) NP(S)

は,NPS

j

,1 ≤ j ≤ の連結とする。

4) 1

から までの範囲の各 に対して,

SQLI

i

を IDENT として,

完全な別扱い  (fully escaped)  を ESCAPE 

VARIANT

として,

9.1 SQL<識別子>の XML Name への対応付け”の

一般規則を適用する。これら

一般規則の適用によって戻される XMLNAME を XMLN

i

とする。

5)

次の<値式>の結果を XMLR とする。

NP(XMLN

1

) || '.' || NP(XMLN

2

) || '.' || ... || NP(XMLN

n

)

6)

XMLR

は,この対応付けの結果である XML Name とする。

適合性規則

なし。

9.3

XML Name

の SQL<識別子>への対応付け

細分箇条署名

“XML Name

の SQL<識別子>への対応付け” [

一般規則] (

パラメタ: “XMLNAME”

)

戻り: “SQLIDENT”

機能

XML Name の SQL<識別子>への対応付け  (Mapping XML Names to SQL <識別子>s)  は,XML Name の

SQL<識別子>への対応付けを定義する。

構文規則

なし。

アクセス規則

なし。

一般規則

1)

この細分箇条の

一般規則の適用では,XMLNAME を XMLN とする。この細分箇条の適用の結果は,

SQLID

とする。それは,SQLIDENT として戻される。

2) Unicode

文字の並びを XMLN とする。

XMLN

中の文字の個数を とする。

左から右への順序での XMLN

の文字を X

1

X

2

,...,X

N

とする。

3)

N

個の Unicode 文字列 U

1

U

2

,...,U

N

を次のとおりに定義する。

U

i

,1 ≤ i ≤ がまだ決定されていないならば,次による。

場合:

a)

X

i

 = '_'  (<下線文字>)で,X

i+1

 = 'x'  で,X

i+2

X

i+3

X

i+4

及び X

i+5

のそれぞれが全て<ヘキシット>

で,かつ,X

i+6

 = '_'  ならば,次による。

場合:

i) Unicode

符号位置 U+ X

i+2

X

i+3

X

i+4

X

i+5

が文字 UC に割り当てられた Unicode ならば,文字 UC から

成る長さ 1 の文字列を U

i

とし,長さ 0 の文字列を U

i+1

U

i+2

U

i+3

U

i+4

U

i+5

及び U

i+6

とする。

ii)

そうでなければ,U

i+1

U

i+2

U

i+3

U

i+4

U

i+5

及び U

i+6

は,処理系定義とする。

b)  X

i

 = '_'  (<下線文字>)で,X

i+1

 = 'x'  で,X

i+2

X

i+3

X

i+4

X

i+5

X

i+6

及び X

i+7

のそれぞれが全て<

ヘキシット>で,かつ,X

i+8

 = '_'  ならば,次による。

場合:


86

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

i) Unicode

符号位置 U+X

i+2

X

i+3

X

i+4

X

i+5

  X

i+6

X

i+7

が文字 UC に割り当てられた Unicode ならば,文字

UC

から成る長さ 1 の文字列を U

i

とし,長さ 0 の文字列を U

i+1

U

i+2

U

i+3

U

i+4

U

i+5

U

i+6

U

i+7

及び U

i+8

とする。

ii)

そうでなければ,U

i+1

U

i+2

U

i+3

U

i+4

U

i+5

U

i+6

U

i+7

及び U

i+8

は,処理系定義とする。

c)

そうでなければ,文字 X

i

から成る長さ 1 の文字列を U

i

とする。

4)

i

の順序で,全ての U

i

1 ≤ i ≤ を連結することによって構成される Unicode 文字列を とする。

5) Unicode

の SQL_TEXT への処理系定義の対応付けを用いて,Unicode 文字列 を SQL_TEXT に対応

付けることによって得られる SQL_TEXT の文字列を SQLI とする。SQLI の SQL_TEXT への対応付

けができないならば,例外条件:SQL/XML

対応付け誤り  (SQL/XML mapping error)−XML Name 

対応付けできない  (unmappable XML Name)  が引き起こされる。

6) <

区切り識別子>“SQLI”を XMLN の対応付けの結果である SQL<識別子> SQLID とする。

適合性規則

1)

機能 X400“名前及び識別子の対応付け”なしでは,適合する適用業務は,この規格のこの細分箇条

を呼び出してはならない。

9.4

SQL

データ型の XML Name への対応付け

細分箇条署名

“SQL

データ型の XML Name への対応付け” [

一般規則] (

パラメタ: “DATA TYPE”

)

戻り: “XML NAME”

機能

SQL データ型の XML Name への対応付け  (Mapping an SQL data type to an XML Name)  は,SQL データ型

又は定義域の XML Name への対応付けを定義する。

構文規則

なし。

アクセス規則

なし。

一般規則

1)

この細分箇条の

一般規則の適用では,DATA TYPE を とする。この細分箇条の適用の結果は,XMLN

とする。それは,XML NAME として戻される。

注記 54  は,SQL データ型か,又は定義域の基となるデータ型である。

2)

D

が文字列型ならば,次による。

a)

D

の文字集合を SQLCS とする。

b)  D

の長さ又は最大長を とする。

c)

SQLCS

の文字列の Unicode の文字列への処理系定義の対応付けを CSM とする。長さ 文字の全

ての文字列 に対する CSM (S)  の文字単位での最大長を MAXCSL とする。

d)  MAXCSL

を示す XML スキーマ型 xs:integer の正規 XML スキーマ定数を MLIT とする。

e) XML

スキーマ型 xs:integer の語彙表現において を示す正規 XML スキーマ定数を NLIT 

する。

f)

場合:

i)

CSM

が準同形で,かつ,が MAXCSL と等しいならば,次による。


87

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

場合:

1)

D

の型指示子が CHARACTER ならば,次の XML Name を XMLN とする。

CHAR_MLIT

2)

D

の型指示子が CHARACTER VARYING ならば,次の XML Name を XMLN とする。

VARCHAR_MLIT

3)

D

の型指示子が CHARACTER LARGE OBJECT ならば,次の XML Name を XMLN とする。

CLOB_MLIT

ii)  CSM

が準同形で,かつ,が MAXCSL と等しくないならば,次による。

場合:

1)

D

の型指示子が CHARACTER ならば,次の XML Name を XMLN とする。

CHAR_NLIT_MLIT

2)

D

の型指示子が CHARACTER VARYING ならば,次の XML Name を XMLN とする。

VARCHAR_NLIT_MLIT

3)

D

の型指示子が CHARACTER LARGE OBJECT ならば,次の XML Name を XMLN とする。

CLOB_NLIT_MLIT

iii)

そうでなければ,次による。

場合:

1)

D

の型指示子が CHARACTER 又は CHARACTER VARYING ならば,

次の XML Name を XMLN

とする。

VARCHAR_NLIT_MLIT

2)

D

の型指示子が CHARACTER LARGE OBJECT ならば,次の XML Name を XMLN とする。

CLOB_NLIT_MLIT

3)

D

の型指示子が BINARY LARGE OBJECT ならば,次による。

a)

D

の最大長を とする。XML スキーマ型 xs:integer の語彙表現において を示す正規 XML

スキーマ定数を XN とする。

b)

次の XML Name を XMLN とする。

BLOB_XN

4)

D

の型指示子が NUMERIC ならば,次による。

a)

D

の精度を とする。XML スキーマ型 xs:integer の語彙表現において を示す正規 XML ス

キーマ定数を XP とする。

b)  D

の位取りを とする。XML スキーマ型 xs:integer の語彙表現において を示す正規 XML

スキーマ定数を XS とする。

c)

次の XML Name を XMLN とする。

NUMERIC_XP_XS

5)

D

の型指示子が DECIMAL ならば,次による。

a)

D

の精度を とする。XML スキーマ型 xs:integer の語彙表現において を示す正規 XML ス

キーマ定数を XP とする。

b)  D

の位取りを とする。XML スキーマ型 xs:integer の語彙表現において を示す正規 XML

スキーマ定数を XS とする。

c)

次の XML Name を XMLN とする。


88

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

DECIMAL_XP_XS

6)

D

の型指示子が INTEGER ならば,次の XML Name を XMLN とする。

INTEGER

7)

D

の型指示子が SMALLINT ならば,次の XML Name を XMLN とする。

SMALLINT

8)

D

の型指示子が BIGINT ならば,次の XML Name を XMLN とする。

BIGINT

9)

D

の型指示子が FLOAT ならば,次による。

a)

D

の精度を とする。XML スキーマ型 xs:integer の語彙表現において を示す正規 XML ス

キーマ定数を XP とする。

b)

次の XML Name を XMLN とする。

FLOAT_XP

10)  D

の型指示子が REAL ならば,次の XML Name を XMLN とする。

REAL

11)  D

の型指示子が DOUBLE PRECISION ならば,次の XML Name を XMLN とする。

DOUBLE

12)  D

の型指示子が BOOLEAN ならば,次の XML Name を XMLN とする。

BOOLEAN

13)  D

の型指示子が TIME WITHOUT TIME ZONE ならば,次による。

a)

D

の時刻精度を TP とする。XML スキーマ型 xs:integer の語彙表現において TP を示す正規

XML スキーマ定数を XTP とする。

b)

次の XML Name を XMLN とする。

TIME_XTP

14)  D

の型指示子が TIME WITH TIME ZONE ならば,次による。

a)

D

の時刻精度を TP とする。XML スキーマ型 xs:integer の語彙表現において TP を示す正規

XML スキーマ定数を XTP とする。

b)

次の XML Name を XMLN とする。

TIME_WTZ_XTP

15)  D

の型指示子が TIMESTAMP WITHOUT TIME ZONE ならば,次による。

a)

D

の時刻印精度を TSP とする。XML スキーマ型 xs:integer の語彙表現において TSP を示す正

規 XML スキーマ定数を XTSP とする。

b)

次の XML Name を XMLN とする。

TIMESTAMP_XTSP

16)  D

の型指示子が TIMESTAMP WITH TIME ZONE ならば,次による。

a)

D

の時刻印精度を TSP とする。XML スキーマ型 xs:integer の語彙表現において TSP を示す正

規 XML スキーマ定数を XTSP とする。

b)

次の XML Name を XMLN とする。

TIMESTAMP_WTZ_XTSP

17)  D

の型指示子が DATE ならば,次の XML Name を XMLN とする。

DATE


89

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

18)  D

が定義域ならば,のカタログ名,スキーマ名及び定義域名を,それぞれ,C及び とする。

“Domain”

C及び を SEQUENCE OF SQL IDENTIFIERS として,

9.2  マルチパート SQL 名

の XML Name への対応付け”の

一般規則を適用する。これらの一般規則の適用によって戻される

XMLNAME

を XMLN とする。

19)  D

が行型ならば,その行型に対する処理系依存の識別子を XML Name IDI とする。フィールド数が

異なるか,又は対応するフィールドのフィールド名若しくは宣言型が異なる二つの行型は,IDI 

値が異ならなければならない。フィールド数が同じで,かつ,対応するフィールドの名前及び宣言

型が同じである行型の二つの格納場所に,同じ行型識別子が割り当てられるかどうかは,処理系依

存とする。Row.IDI を XMLN とする。

20)  D

が個別型ならば,

D

のカタログ名,

スキーマ名及び型名を,

それぞれ,

C

S

及び とする。

“UDT”

C

S

及び を SEQUENCE OF SQL IDENTIFIERS として,

9.2  マルチパート SQL 名の XML Name

への対応付け”の

一般規則を適用する。これらの一般規則の適用によって戻される XMLNAME 

XMLN

とする。

21)  D

が配列型ならば,の要素型を ET とし,の最大基数を とする。この細分箇条を ET に適用

した結果を XMLET とする。XML スキーマ型 xs:integer の語彙表現において を示す正規 XML

スキーマ定数を MLIT とする。Array_MLIT.XMLET を XMLN とする。

22)  D

がマルチ集合型ならば,の要素型を ET とする。この細分箇条を ET に適用した結果を XMLET

とする。Multiset.XMLET を XMLN とする。

23)  D

が XML 型ならば,XML を XMLN とする。

適合性規則

なし。

9.5

SQL

データ型の XML スキーマデータ型への対応付け

細分箇条署名

“SQL

データ型の XML スキーマデータ型への対応付け” [

一般規則] (

パラメタ: “SQLTYPE”,

パラメタ: “NULLS”,

パラメタ: “ENCODING”

)

戻り: “SCHEMA TYPE”

機能

SQL データ型の XML スキーマデータ型への対応付け  (Mapping SQL data types to XML Schema data types)

は,SQL データ型及び定義域の XML スキーマデータ型への対応付けを定義する。

構文規則

なし。

アクセス規則

なし。

一般規則

1)

この細分箇条の

一般規則の適用では,SQL TYPE を SQLT とし,NULLS を NULLS とし,ENCODING

を ENCODING とする。この細分箇条の適用の結果は,XMLT とする。それは,SCHEMA TYPE 

して戻される。

注記 55  SQLT は,SQL データ型又は定義域である。NULLS は,ナル値を未指定要素に対応付ける


90

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

“absent”

)か又は xsi:nil="true" でマーク付けられる要素に対応付ける(

“nil”

)か

の選択を指定する。ENCODING は,2 進オクテット列を base64 で符号化するか又は hex

で符号化するかの選択を指定する。

2)

場合:

a)

NULLS

が“absent”ならば,minOccurs="0"  を XML テキスト XMLNULLS とする。

b)  NULLS

が“nil”ならば,nillable="true" を XML テキスト XMLNULLS とする。

3) SQL_TEXT

の文字列の Unicode の文字列への処理系定義の対応付けを TM とする。

4)

表 2“XML 名前空間接頭辞及びそれらの URI”中で示された XML スキーマ名前空間を識別するた

めに用いる XML 名前空間接頭辞を xs とする。

5)

表 2“XML 名前空間接頭辞及びそれらの URI”中で示された XML 名前空間を識別するために用い

る XML 名前空間接頭辞を sqlxml とする。

6)

SQLT

の XML への対応付けである XML スキーマデータ型の表現を XMLT で示す。XMLT は,次の

規則によって定義される。

7)

場合:

a)

SQLT

が文字列型ならば,次による。

i)

SQLT

の文字集合を SQLCS とする。SQLCS の名前を SQLCSN とする。SQLT の長さ又は最大

長を とする。

ii)  SQLCS

の文字列の Unicode の文字列への処理系定義の対応付けを CSM とする。長さ 文字の

全ての文字列 に対する CSM (S)  の文字単位での最大長を MAXCSL とする。

iii)  N

及び MAXCSL を示す XML スキーマ型 xs:integer の正規 XML スキーマ定数を,

それぞれ,

NLIT

及び MLIT とする。

iv)

場合:

1)

SQLT

の型指示子が CHARACTER ならば,次による。

A)

場合:

I)

CSM

が準同形ならば,次の XML テキストを FACET とする。

<xs:length

 value="MLIT">

II)

そうでなければ,次の XML テキストを FACET とする。

<xs:maxLength

 value="MLIT">

B) XML

テキスト ANNT が長さ 0 の文字列か又は次の文字列によって与えられるかは,処理系

定義とする。

name="CHAR"

C) XML

テキスト ANNL が長さ 0 の文字列か又は次の文字列によって与えられるかは,処理系

定義とする。

length="NLIT"

2)

SQLT

の型指示子が CHARACTER VARYING ならば,次による。

A)

次の XML テキストを FACET とする。

<xs:maxLength

 value="MLIT">

B) XML

テキスト ANNT が長さ 0 の文字列か又は次の文字列によって与えられるかは,処理系

定義とする。

name="VARCHAR"


91

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

C) XML

テキスト ANNL が長さ 0 の文字列か又は次の文字列によって与えられるかは,処理系

定義とする。

maxLength="NLIT"

3)

SQLT

の型指示子が CHARACTER LARGE OBJECT ならば,次による。

A)

次の XML テキストを FACET とする。

<xs:maxLength

 value="MLIT">

B) XML

テキスト ANNT が長さ 0 の文字列か又は次の文字列によって与えられるかは,処理系

定義とする。

name="CLOB"

C) XML

テキスト ANNL が長さ 0 の文字列か又は次の文字列によって与えられるかは,処理系

定義とする。

maxLength="NLIT"

v)

TM

を用いた SQLCSN の Unicode への対応付けの結果を XML テキスト SQLCSNLIT とする。

XML テキスト ANNCS が長さ 0 の文字列か又は次の文字列によって与えられるかは,処理系定

義とする。

characterSetName="SQLCSNLIT"

vi)  SQLT

の照合順の名前を SQLCON とする。TM を用いた SQLCON の Unicode への対応付けの結

果を XML テキスト SQLCONLIT とする。XML テキスト ANNCO が長さ 0 の文字列か又は次の

文字列によって与えられるかは,処理系定義とする。

collation="SQLCONLIT"

vii) XML

テキスト ANN が長さ 0 の文字列か又は次の文字列によって与えられるかは,処理系定義

とする。

<xs:annotation>

  <xs:appinfo>

    <sqlxml:sqltype kind="PREDEFINED"

                       ANNT ANNL ANNCS ANNCO/>

  </xs:appinfo>

</xs:annotation>

viiiXMLT

は,次の文字列によって定義される XML スキーマ型とする。

<xs:simpleType>

  ANN

  <xs:restriction base="xs:string">

    FACET

  </xs:restriction>

</xs:simpleType>

b)  SQLT

が 2 進オクテット列型ならば,次による。

i)

SQLT

の長さ又は最大長を とする。XML スキーマ型 xs:integer の語彙表現において 

示す正規 XML スキーマ定数を NLIT とする。

ii)

場合:

1) 2

進オクテット列を hex で符号化すべきことを ENCODING が示すならば,XML テキスト


92

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

hexBinary

を EN とする。

2)

そうでなければ,XML テキスト base64Binary を EN とする。

iii)

場合:

1)

SQLT

の型指示子が BINARY ならば,次の XML テキストを FACET とする。

<xs:length

 value="NLIT">

2)

そうでなければ,次の XML テキストを FACET とする。

<xs:maxLength

 value="NLIT">

iv)

場合:

1)

SQLT

の型指示子が BINARY ならば,XML テキスト ANNT が長さ 0 の文字列か又は次の文字

列によって与えられるかは,処理系定義とする。

name="BINAY"

2)

SQLT

の型指示子が VARBINARY ならば,XML テキスト ANNT が長さ 0 の文字列か又は次の

文字列によって与えられるかは,処理系定義とする。

name="VARBINAY"

3)

そうでなければ,XML テキスト ANNT が長さ 0 の文字列か又は次の文字列によって与えられ

るかは,処理系定義とする。

name="BLOB"

v)

場合:

1)

SQLT

の型指示子が BINARY ならば,XML テキスト ANNL が長さ 0 の文字列か又は次の文字

列によって与えられるかは,処理系定義とする。

length="NLIT"

2)

そうでなければ,XML テキスト ANNL が長さ 0 の文字列か又は次の文字列によって与えられ

るかは,処理系定義とする。

maxLength="NLIT"

vi) XML

テキスト ANN が長さ 0 の文字列か又は次の文字列によって与えられるかは,処理系定義

とする。

<xs:annotation>

  <xs:appinfo>

    <sqlxml:sqltype kind="PREDEFINED"

                       ANNT ANNL/>

  </xs:appinfo>

</xs:annotation>

vii)  XMLT

は,次の文字列によって定義される XML スキーマ型とする。

<xs:simpleType>

  ANN

  <xs:restriction base="xs:EN">

    FACET

  </xs:restriction>

</xs:simpleType>

c)

SQLT

の型指示子が NUMERIC 又は DECIMAL ならば,次による。


93

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

i)

SQLT

の精度を とする。

XML スキーマ型 xs:integer の語彙表現において を示す正規 XML

スキーマ定数を PLIT とする。次の XML テキストを FACETP とする。

<xs:totalDigits

 value="PLIT"/>

ii)  SQLT

の位取りを とする。XML スキーマ型 xs:integer の語彙表現において を示す正規

XML スキーマ定数を SLIT とする。次の XML テキストを FACETS とする。

<xs:fractionDigits

 value="SLIT"/>

iii)

場合:

1)

SQLT

の型指示子が NUMERIC ならば,次による。

A) XML

テキスト ANNT が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

name="NUMERIC"

B) XML

テキスト ANNP が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

precision="PLIT"

2)

SQLT

の型指示子が DECIMAL ならば,次による。

A) XML

テキスト ANNT が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

name="DECIMAL"

B)  SQLT

の記述子を作成するために用いた<データ型>中に指定された<精度>の値を UP とす

る。XML スキーマ型 xs:integer の語彙表現において UP を示す正規 XML スキーマ定数

を UPLIT とする。XML テキスト ANNP が長さ 0 の文字列か又は次の文字列かは,処理系

定義とする。

userPrecision="UPLIT"

注記 56  JIS X 3005-2 [ISO9075-2]  の“6.1  <データ型>”の構文規則  27)  で規定している

とおり,UP は,未満でもよい。

iv) XML

テキスト ANNS が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

scale="SLIT"

v) XML

テキスト ANN が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

<xs:annotation>

  <xs:appinfo>

    <sqlxml:sqltype kind="PREDEFINED"

                       ANNT ANNP ANNS/>

  </xs:appinfo>

</xs:annotation>

vi)  XMLT

は,次の文字列によって定義される XML スキーマ型とする。

<xs:simpleType>

  ANN

  <xs:restriction base="xs:decimal">

    FACETP

    FACETS

  </xs:restriction>

</xs:simpleType>

d)  SQLT

の型指示子が INTEGER,SMALLINT 又は BIGINT ならば,次による。


94

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

i)

SQLT

によって表現可能な最大値を MAX とする。XML スキーマ型 xs:integer の語彙表現に

おいて MAX を示す正規 XML スキーマ定数を MAXLIT とする。

次の XML テキストを FACETMAX

とする。

<xs:maxInclusive

 value="MAXLIT"/>

ii)  SQLT

によって表現可能な最小値を MIN とする。XML スキーマ型 xs:integer の語彙表現に

おいて MIN を示す正規 XML スキーマ定数を MINLIT とする。

次の XML テキストを FACETMIN

とする。

<xs:minInclusive

 value="MINLIT"/>

iii)

場合:

1)

SQLT

の型指示子が INTEGER ならば,XML テキスト ANN が長さ 0 の文字列か又は次の文字

列かは,処理系定義とする。

<xs:annotation>

  <xs:appinfo>

    <sqlxml:sqltype kind="PREDEFINED"

                       name="INTEGER"/>

  </xs:appinfo>

</xs:annotation>

2)

SQLT

の型指示子が SMALLINT ならば,XML テキスト ANN が長さ 0 の文字列か又は次の文

字列かは,処理系定義とする。

<xs:annotation>

  <xs:appinfo>

    <sqlxml:sqltype kind="PREDEFINED"

                       name="SMALLINT"/>

  </xs:appinfo>

</xs:annotation>

3)

SQLT

の型指示子が BIGINT ならば,XML テキスト ANN が長さ 0 の文字列か又は次の文字列

かは,処理系定義とする。

<xs:annotation>

  <xs:appinfo>

    <sqlxml:sqltype kind="PREDEFINED"

                       name="BIGINT"/>

  </xs:appinfo>

</xs:annotation>

iv)  REST

が次の文字列か,

<xs:restriction

 base="xs:integer">

  FACETMAX

  FACETMIN

</xs:restriction>

又は次の場合によって決定されるかは,処理系定義とする。

1)

場合:


95

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

A)

表 3“XML スキーマの整数型のファセットに対する制約”中に,MAX が“最大値”列中

の値以下で,かつ,MIN が“最小値”列中の値以上であるような行が存在しないならば,

次による。

I)

xs:integer

を TYPE とする。

II)  FACETMAX

を FMAX とする。

III)  FACETMIN

を FMIN とする。

B)

そうでなければ,次による。

I)

表 3  “XML スキーマの整数型のファセットに対する制約”中で,表の上から,MAX 

“最大値”列中の値以下で,かつ,MIN が“最小値”列中の値以上である最初の行の“型”

列の内容を TYPE とする。

II)

その表の選択された行中の“最大値”列の値と MAX とが等しいならば,長さ 0 の文字

列を FMAX とする。そうでなければ,FACETMAX を FMAX とする。

III)

その表の選択された行中の“最小値”列の値と MIN とが等しいならば,長さ 0 のデータ

列を FMIN とする。そうでなければ,FACETMIN を FMIN とする。

2)

次の文字列を REST とする。

<xs:restriction

 base="TYPE">

  FMAX

  FMIN

</xs:restriction>

表 3XML スキーマの整数型のファセットに対する制約

 

最小値 

最大値 

xs:unsignedByte

0 255

xs:byte 

-128 127

xs:unsignedShort

0 2

16

-1 (65,535)

xs:short 

-2

15

 (-32,768)

2

15

-1 (32,767)

xs:unsignedInt 

0 2

32

-1 (4,294,967,295)

xs:int 

-2

31

 (-2,147,483,648)

2

31

-1 (2,147,483,647)

xs:unsignedLong

0 2

64

-1 (18,446,744,073,709,551,615)

xs:long 

-2

63

 (-9,223,372,036,854,775,808)

2

63

-1 (9,223,372,036,854,775,807)

v)

XMLT

は,次の文字列によって定義される XML スキーマ型とする。

<xs:simpleType>

  ANN

  REST

</xs:simpleType>

e)

SQLT

が概数ならば,次による。

i)

SQLT

の 2 進精度を とし,SQLT によって提供される最小 2 進指数を MINEXP とし,SQLT

によって提供される最大 2 進指数を MAXEXP とする。

ii)

場合:

1)

P

が 2 進で 24 桁(ビット)以下で,MINEXP が-149 以上で,かつ,MAXEXP が 104 以下な

らば,float を XML テキスト TYPE とする。


96

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

2)

そうでなければ,double を XML テキスト TYPE とする。

iii)

場合:

1)

SQLT

の型指示子が REAL ならば,XML テキスト ANNUP は,長さ 0 の文字列とし,XML テ

キスト ANNT が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

name="REAL"

2)

SQLT

の型指示子が DOUBLE PRECISION ならば,XML テキスト ANNUP は,長さ 0 の文字

列とし,XML テキスト ANNT が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

name="DOUBLE

 PRECISION"

3)

そうでなければ,次による。

A) XML

テキスト ANNT が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

name="FLOAT"

B)  SQLT

の記述子を作成するために用いた<データ型>中に指定された<精度>の値を UP とす

る。XML スキーマ型 xs:integer の語彙表現において UP を示す正規 XML スキーマ定数

を UPLIT とする。XML テキスト ANNUP が長さ 0 の文字列か又は次の文字列かは,処理系

定義とする。

userPrecision="UPLIT"

注記 57  JIS X 3005-2 [ISO9075-2]  の“6.1  <データ型>”の構文規則  29)  で規定している

とおり,UP は,未満でもよい。

iv) XML

スキーマ型 xs:integer の語彙表現において を示す正規 XML スキーマ定数を PLIT

とする。XML テキスト ANNP が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

precision="PLIT"

v) XML

スキーマ型 xs:integer の語彙表現において MINEXP を示す正規 XML スキーマ定数を

MINLIT

とする。XML テキスト ANNMIN が長さ 0 の文字列か又は次の文字列かは,処理系定義

とする。

minExponent="MINLIT"

vi) XML

スキーマ型 xs:integer の語彙表現において MAXEXP を示す正規 XML スキーマ定数を

MAXLIT

とする。XML テキスト ANNMAX が長さ 0 の文字列か又は次の文字列かは,処理系定義

とする。

maxExponent="MAXLIT"

vii) XML

テキスト ANN が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

<xs:annotation>

  <xs:appinfo>

    <sqlxml:sqltype kind="PREDEFINED"

                       ANNT ANNP ANNUP ANNMAX ANNMIN/>

  </xs:appinfo>

</xs:annotation>

viiiXMLT

が xs:TYPE か又は次の文字列によって定義される XML スキーマ型かは,処理系定義と

する。

<xs:simpleType>

  ANN


97

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

  <xs:restriction base="xs:TYPE">

  </xs:restriction>

</xs:simpleType>

f)

SQLT

の型指示子が BOOLEAN ならば,XMLT が xs:boolean か又は次の文字列によって定義さ

れる XML スキーマ型かは,処理系定義とする。

<xs:simpleType>

  <xs:annotation>

    <xs:appinfo>

      <sqlxml:sqltype kind="PREDEFINED"

                         name="BOOLEAN"/>

    </xs:appinfo>

  </xs:annotation>

  <xs:restriction base="xs:boolean"/>

</xs:simpleType>

g)

SQLT

の型指示子が DATE ならば,次による。

i) XML

テキスト ANN が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

<xs:annotation>

  <xs:appinfo>

    <sqlxml:sqltype kind="PREDEFINED"

                       name="DATE"/>

  </xs:appinfo>

</xs:annotation>

ii)  XMLT

は,次の文字列によって定義される XML スキーマ型とする。

<xs:simpleType>

  ANN

  <xs:restriction base="xs:date">

    <xs:pattern

      value="

\

p{Nd}{4}-

\

p{Nd}{2}-

\

p{Nd}{2}"/>

  </xs:restriction>

</xs:simpleType>

h

)  SQLT が TIME WITHOUT TIME ZONE ならば,次による。

i

)

SQLT

の<時刻小数秒精度>を とする。XML スキーマ型 xs:integer の語彙表現において S

を示す正規 XML スキーマ定数を SLIT とする。

ii

)  場合:

1

)  が 0 より大きいならば,次の文字列を XML テキスト FACETP とする。

<xs:pattern

 value=

    "

\

p{Nd}{2}:

\

p{Nd}{2}:

\

p{Nd}{2}.

\

p{Nd}{SLIT}"/>

2

)  そうでなければ,次の文字列を XML テキスト FACETP とする。

<xs:pattern

 value=

    "

\

p{Nd}{2}:

\

p{Nd}{2}:

\

p{Nd}{2}"/>


98

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

iii

) XML テキスト ANNT が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

name="TIME"

iv

) XML テキスト ANNS が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

scale="SLIT"

v

) XML テキスト ANN が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

<xs:annotation>

  <xs:appinfo>

    <sqlxml:sqltype kind="PREDEFINED"

                       ANNT ANNS/>

  </xs:appinfo>

</xs:annotation>

vi

)  XMLT は,次の文字列によって定義される XML スキーマ型とする。

<xs:simpleType>

  ANN

  <xs:restriction base="xs:time">

    FACETP

  </xs:restriction>

</xs:simpleType>

i

)

SQLT

が TIME WITH TIME ZONE ならば,次による。

i

)

SQLT

の<時刻小数秒精度>を とする。XML スキーマ型 xs:integer の語彙表現において S

を示す正規 XML スキーマ定数を SLIT とする。

ii

)  次の文字列を XML テキスト TZ とする。

(+|-)

\

p{Nd}{2}:

\

p{Nd}{2}

iii

)  場合:

1

)  が 0 より大きいならば,次の文字列を XML テキスト FACETP とする。

<xs:pattern

 value=

    "

\

p{Nd}{2}:

\

p{Nd}{2}:

\

p{Nd}{2}.

\

p{Nd}{SLIT}TZ"/>

2

)  そうでなければ,次の文字列を XML テキスト FACETP とする。

<xs:pattern

 value=

    "

\

p{Nd}{2}:

\

p{Nd}{2}:

\

p{Nd}{2}TZ"/>

iv

) XML テキスト ANNT が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

name="TIME

 WITH TIME ZONE"

v

) XML テキスト ANNS が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

scale="SLIT"

vi

) XML テキスト ANN が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

<xs:annotation>

  <xs:appinfo>

    <sqlxml:sqltype kind="PREDEFINED"

                       ANNT ANNS/>

  </xs:appinfo>


99

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

</xs:annotation>

vii

)  XMLT は,次の文字列によって定義される XML スキーマ型とする。

<xs:simpleType>

  ANN

  <xs:restriction base="xs:time">

    FACETP

  </xs:restriction>

</xs:simpleType>

j

)  SQLT が TIMESTAMP WITHOUT TIME ZONE ならば,次による。

i

)

SQLT

の<時刻小数秒精度>を とする。XML スキーマ型 xs:integer の語彙表現において S

を示す正規 XML スキーマ定数を SLIT とする。

ii

)  次の文字列を XML テキスト DATETIME とする。

\

p{Nd}{4}-

\

p{Nd}{2}-

\

p{Nd}{2}T

\

p{Nd}{2}:

\

p{Nd}{2}:

\

p{Nd}{2}

iii

)  場合:

1

)  が 0 より大きいならば,次の文字列を XML テキスト FACETP とする。

<xs:pattern

 value=

    "DATETIME.

\

p{Nd}{SLIT}"/>

2

)  そうでなければ,次の文字列を XML テキスト FACETP とする。

<xs:pattern

 value=

    "DATETIME"/>

iv

) XML テキスト ANNT が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

name="TIMESTAMP"

v

) XML テキスト ANNS が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

scale="SLIT"

vi

) XML テキスト ANN が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

<xs:annotation>

  <xs:appinfo>

    <sqlxml:sqltype kind="PREDEFINED"

                       ANNT ANNS/>

  </xs:appinfo>

</xs:annotation>

vii

)  XMLT は,次の文字列によって定義される XML スキーマ型とする。

<xs:simpleType>

  ANN

  <xs:restriction base="xs:dateTime">

    FACETP

  </xs:restriction>

</xs:simpleType>

k

)  SQLT が TIMESTAMP WITH TIME ZONE ならば,次による。

i

)

SQLT

の<時刻小数秒精度>を とする。XML スキーマ型 xs:integer の語彙表現において S


100

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

を示す正規 XML スキーマ定数を SLIT とする。

ii

)  次の文字列を XML テキスト DATETIME とする。

\

p{Nd}{4}-

\

p{Nd}{2}-

\

p{Nd}{2}T

\

p{Nd}{2}:

\

p{Nd}{2}:

\

p{Nd}{2}

iii

)  次の文字列を XML テキスト TZ とする。

(+|-)

\

p{Nd}{2}:

\

p{Nd}{2}

iv

)  場合:

1

)  が 0 より大きいならば,次の文字列を XML テキスト FACETP とする。

<xs:pattern

 value=

    "DATETIME.

\

p{Nd}{SLIT}TZ"/>

2

)  そうでなければ,次の文字列を XML テキスト FACETP とする。

<xs:pattern

 value="DATETIMETZ"/>

v

) XML テキスト ANNT が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

name="TIMESTAMP

 WITH TIME ZONE"

vi

) XML テキスト ANNS が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

scale="SLIT"

vii

) XML テキスト ANN が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

<xs:annotation>

  <xs:appinfo>

    <sqlxml:sqltype kind="PREDEFINED"

                       ANNT ANNS/>

  </xs:appinfo>

</xs:annotation>

viii

XMLT は,次の文字列によって定義される XML スキーマ型とする。

<xs:simpleType>

  ANN

  <xs:restriction base="xs:dateTime">

    FACETP

  </xs:restriction>

</xs:simpleType>

l

)

SQLT

の型指示子が INTERVAL ならば,次による。

i

)

SQLT

の<時間隔先行フィールド精度>を とする。XML スキーマ型 xs:integer 中の に対

する正規 XML スキーマ定数を PLIT とする。XML テキスト ANNP が長さ 0 の文字列か又は次

の文字列かは,処理系定義とする。

leadingPrecision="PLIT"

ii

)  場合:

1

)  SQLT の<終了フィールド>又は<単一日時フィールド>  が SECOND を指定するならば,SQLT

の<時間隔小数秒精度>を とし,XML スキーマ型 xs:integer 中の に対する正規 XML

スキーマ定数を SLIT とする。次のデータ列を XML テキスト SECS とする。

\

p{Nd}{2}.

\

p{Nd}{SLIT}S

XML テキスト ANNS が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。


101

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

scale="SLIT"

2

)  そうでなければ,長さ 0 の文字列を XML テキスト ANNS とし,次の文字列を XML テキスト

SECS

とする。

\

p{Nd}{2}S

iii

)  場合:

1

)  SQLT が INTERVAL YEAR ならば,次による。

A

)  次の文字列を XML テキスト FACETP とする。

<xs:pattern

 value="-?P

\

p{Nd}{PLIT}Y"/>

B

) XML テキスト ANNT が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

name="INTERVAL

 YEAR"

2

)  SQLT が INTERVAL YEAR TO MONTH ならば,次による。

A

)  次の文字列を XML テキスト FACETP とする。

<xs:pattern

 value="-?P

\

p{Nd}{PLIT}Y

\

p{Nd}{2}M"/>

B

) XML テキスト ANNT が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

name="INTERVAL

 YEAR TO MONTH"

3

)  SQLT が INTERVAL MONTH ならば,次による。

A

)  次の文字列を XML テキスト FACETP とする。

<xs:pattern

 value="-?P

\

p{Nd}{PLIT}M"/>

B

) XML テキスト ANNT が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

name="INTERVAL

 MONTH"

4

)  SQLT が INTERVAL DAY ならば,次による。

A

)  次の文字列を XML テキスト FACETP とする。

<xs:pattern

 value="-?P

\

p{Nd}{PLIT}D"/>

B

) XML テキスト ANNT が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

name="INTERVAL

 DAY"

5

)  SQLT が INTERVAL DAY TO HOUR ならば,次による。

A

)  次の文字列を XML テキスト FACETP とする。

<xs:pattern

 value="-?P

\

p{Nd}{PLIT}DT

\

p{Nd}{2}H"/>

B

) XML テキスト ANNT が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

name="INTERVAL

 DAY TO HOUR"

6

)  SQLT が INTERVAL DAY TO MINUTE ならば,次による。

A

)  次の文字列を XML テキスト FACETP とする。

<xs:pattern

 value=

    "-?P

\

p{Nd}{PLIT}DT

\

p{Nd}{2}H

\

p{Nd}{2}M"/>

B

) XML テキスト ANNT が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

name="INTERVAL

 DAY TO MINUTE"

7

)  SQLT が INTERVAL DAY TO SECOND ならば,次による。

A

)  次の文字列を XML テキスト FACETP とする。

<xs:pattern

 value=

    "-?P

\

p{Nd}{PLIT}DT

\

p{Nd}{2}H

\

p{Nd}{2}MSECS"/>


102

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

B

) XML テキスト ANNT が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

name="INTERVAL

 DAY TO SECOND"

8

)  SQLT が INTERVAL HOUR ならば,次による。

A

)  次の文字列を XML テキスト FACETP とする。

<xs:pattern

 value="-?PT

\

p{Nd}{PLIT}H"/>

B

) XML テキスト ANNT が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

name="INTERVAL

 HOUR"

9

)  SQLT が INTERVAL HOUR TO MINUTE ならば,次による。

A

)  次の文字列を XML テキスト FACETP とする。

<xs:pattern

 value=

    "-?PT

\

p{Nd}{PLIT}H

\

p{Nd}{2}M"/>

B

) XML テキスト ANNT が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

name="INTERVAL

 HOUR TO MINUTE"

10

)  SQLT が INTERVAL HOUR TO SECOND ならば,次による。

A

)  次の文字列を XML テキスト FACETP とする。

<xs:pattern

 value=

    "-?PT

\

p{Nd}{PLIT}H

\

p{Nd}{2}MSECS"/>

B

) XML テキスト ANNT が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

name="INTERVAL

 HOUR TO SECOND"

11

)  SQLT が INTERVAL MINUTE ならば,次による。

A

)  次の文字列を XML テキスト FACETP とする。

<xs:pattern

 value="-?PT

\

p{Nd}{PLIT}M"/>

B

) XML テキスト ANNT が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

name="INTERVAL

 MINUTE"

12

)  SQLT が INTERVAL MINUTE TO SECOND ならば,次による。

A

)  次の文字列を XML テキスト FACETP とする。

<xs:pattern

 value="-?PT

\

p{Nd}{PLIT}MSECS"/>

B

) XML テキスト ANNT が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

name="INTERVAL

 MINUTE TO SECOND"

13

)  SQLT が INTERVAL SECOND ならば,次による。

A

)  次の文字列を XML テキスト FACETP とする。

<xs:pattern

 value="-?PTSECS"/>

B

) XML テキスト ANNT が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

name="INTERVAL

 SECOND"

iv

) XML テキスト ANN が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

<xs:annotation>

  <xs:appinfo>

    <sqlxml:sqltype kind="PREDEFINED"

                       ANNT ANNP ANNS/>

  </xs:appinfo>


103

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

</xs:annotation>

v

)  場合:

1

)  SQLT が年月時間隔ならば,xs:yearMonthDuration を DTYPE とする。

2

)  SQLT が日時刻時間隔ならば,xs:dayTimeDuration を DTYPE とする。

vi

)  XMLT は,次の文字列によって定義される XML スキーマ型とする。

<xs:simpleType>

  ANN

  <xs:restriction base="DTYPE">

    FACETP

  </xs:restriction>

</xs:simpleType>

m

)  SQLT が定義域ならば,次による。

i

)

SQLT

のデータ型を DT とする。

ii

)  DT を DATA TYPE として,“

9.4

 SQL データ型の XML Name への対応付け”の一般規則を適用

する。これらの

一般規則の適用によって戻される XML NAME を XMLN とする。

iii

)  定義域のカタログ名,スキーマ名及び定義域名を,それぞれ,DCDS 及び DN とする。

iv

)  TM を用いた DCDS 及び DN の Unicode への対応付けの結果を DCLITDSLIT 及び DNLIT

とする。

v

) XML テキスト ANN が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

<xs:annotation>

  <xs:appinfo>

    <sqlxml:sqltype kind="DOMAIN"

                       catalogName="DCLIT" schemaName="DSLIT"

                       typeName="DNLIT" mappedType="XMLN"/>

  </xs:appinfo>

</xs:annotation>

vi

)  XMLT は,次の文字列によって定義される XML スキーマ型とする。

<xs:simpleType>

  ANN

  <xs:restriction base="XMLN"/>

</xs:simpleType>

n

)  SQLT が行型ならば,次による。

i

)

SQLT

のフィールド数を とする。1 から までの範囲の に対して,SQLT の 番目のフィー

ルドの宣言型及び名前を,それぞれ,FT

i

及び FN

i

とする。

ii

) 1 から までの範囲の に対して,FT

i

を DATA TYPE として,

9.4

 SQL データ型の XML Name

への対応付け”の

一般規則を適用する。これらの一般規則の適用によって戻される XML NAME

を XMLMT

i

とする。

iii

) 1 から までの範囲の各 に対して,FN

i

を IDENT として,

完全な別扱い  (fully escaped)  を

ESCAPE VARIANT

として,

9.1

 SQL<識別子>の XML Name への対応付け”の一般規則を適用

する。これらの

一般規則の適用によって戻される XMLNAME を XMLFN

i

とする。


104

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

iv

) 1 から までの範囲の に対して,TM を用いた FN

i

の Unicode への対応付けの結果を FNLIT

i

とする。

v

) XML テキスト ANN が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

<xs:annotation>

  <xs:appinfo>

    <sqlxml:sqltype kind="ROW">

      <sqlxml:field name="FNLIT

1

"

                       mappedType="XMLMT

1

"/>

      . . .

      <sqlxml:field name="FNLIT

N

"

                       mappedType="XMLMT

N

"/>

    </sqlxml:sqltype>

  </xs:appinfo>

</xs:annotation>

vi

)  XMLT は,次の文字列によって定義される XML スキーマ型とする。

<xs:complexType>

  ANN

  <xs:sequence>

    <xs:element name="XMLFN

1

"

 type="XMLMT

1

"

 XMLNULLS/>

    . . .

    <xs:element name="XMLFN

N

"

 type="XMLMT

N

"

 XMLNULLS/>

  </xs:sequence>

</xs:complexType>

o

)  SQLT が個別型ならば,次による。

i

)

SQLT

の元型を ST とする。

ii

)  ST を DATA  TYPE として,“

9.4

 SQL データ型の XML Name への対応付け”の一般規則を適用

する。これらの

一般規則の適用によって戻される XML NAME を XMLN とする。

iii

)  SQLT のカタログ名,スキーマ名及び型名を,それぞれ,DTCDTS 及び DTN とする。

iv

)  TM を用いた DTCDTS 及び DTN の Unicode への対応付けの結果を DTCLITDTSLIT 及び

DTNLIT

とする。

v

) XML テキスト ANN が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

<xs:annotation>

  <xs:appinfo>

    <sqlxml:sqltype kind="DISTINCT"

                       catalogName="DTCLIT" schemaName="DTSLIT"

                       typeName="DTNLIT" mappedType="XMLN"

                       final="true"/>

  </xs:appinfo>

</xs:annotation>

vi

)  XMLT は,次の文字列によって定義される XML スキーマ型とする。


105

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

<xs:simpleType>

  ANN

  <xs:restriction base="XMLN"/>

</xs:simpleType>

p

)  SQLT が配列型ならば,次による。

i

)

SQLT

の要素型を ET とし,SQLT の最大基数を とする。

ii

)  ET を DATA TYPE として,“

9.4

 SQL データ型の XML Name への対応付け”の一般規則を適用

する。これらの

一般規則の適用によって戻される XML NAME を XMLN とする。

iii

) XML スキーマ型 xs:integer 中の に対する正規 XML スキーマ定数を MLIT とする。

iv

) XML テキスト ANN が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

<xs:annotation>

  <xs:appinfo>

    <sqlxml:sqltype kind="ARRAY"

                       maxElements="MLIT"

                       mappedElementType="XMLN"/>

  </xs:appinfo>

</xs:annotation>

v

)  XMLT は,次の文字列によって定義される XML スキーマ型とする。

<xs:complexType>

  ANN

  <xs:sequence>

    <xs:element name="element" minOccurs="0"

                   maxOccurs="MLIT" nillable="true"

                   type="XMLN"/>

  </xs:sequence>

</xs:complexType>

q

)  SQLT がマルチ集合型ならば,次による。

i

)

SQLT

の要素型を ET とする。

ii

)  ET を DATA TYPE として,“

9.4

 SQL データ型の XML Name への対応付け”の一般規則を適用

する。これらの

一般規則の適用によって戻される XML NAME を XMLN とする。

iii

) XML テキスト ANN が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

<xs:annotation>

  <xs:appinfo>

    <sqlxml:sqltype kind="MULTISET"

                       mappedElementType="XMLN"/>

  </xs:appinfo>

</xs:annotation>

iv

)  XMLT は,次の文字列によって定義される XML スキーマ型とする。

<xs:complexType>

  ANN


106

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

  <xs:sequence>

    <xs:element name="element" minOccurs="0"

                   maxOccurs="unbounded" nillable="true"

                   type="XMLN"/>

  </xs:sequence>

</xs:complexType>

r

)  SQLT が XML(SEQUENCE)  以外の XML 型ならば,次による。

i

) XML テキスト ANN が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

<xs:annotation>

  <xs:appinfo>

    <sqlxml:sqltype kind="PREDEFINED"

                       name="XML"/>

  </xs:appinfo>

</xs:annotation>

ii

)  XMLT は,次の文字列によって定義される XML スキーマ型とする。

<xs:complexType

 mixed="true">

  ANN

  <xs:sequence>

    <xs:any name="element" minOccurs="0" maxOccurs="unbounded"

              processContents="skip"/>

  </xs:sequence>

</xs:complexType>

8

)  XMLT は,この対応付けの結果とする。

適合性規則

なし。

9.6

SQL

データ型の名前付き

XML

スキーマデータ型への対応付け

細分箇条署名

“SQL

データ型の名前付き XML スキーマデータ型への対応付け” [

一般規則] (

パラメタ: “SQLTYPE”

)

戻り: “SCHEMA TYPE”

機能

SQL データ型の名前付き XML スキーマデータ型への対応付け (Mapping an SQL data type to a named

XML Schema data type)  は,SQL データ型又は定義域の XML スキーマデータ型への対応付けを定義する。

構文規則

なし。

アクセス規則

なし。

一般規則

1

)  この細分箇条の一般規則の適用では,SQL TYPE を とする。この細分箇条の適用の結果は,XSLCDT

とする。それは,SCHEMA TYPE として戻される。


107

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

注記

58

  は,SQL データ型又は定義域である。

2

)  を DATA TYPE として,“

9.4

 SQL データ型の XML Name への対応付け”の一般規則を適用する。

これらの

一般規則の適用によって戻される XML NAME を XMLN とする。

3

)  ナル値を未指定要素に対応付ける(“absent”)か又は xsi:nil="true"  でマーク付けられる要素

に対応付ける(

“nil”

)かの選択を NULLS とする。

4

) 2 進オクテット列を base64 で符号化するか又は hex で符号化するかの選択を ENCODING とする。

5

)  が文字列型ならば,次による。

a

)  の文字集合を SQLCS とする。

b

)  の長さ又は最大長を とする。

c

)  SQLCS の文字列の Unicode の文字列への処理系定義の対応付けを CSM とする。長さ 文字の全

ての文字列 に対する CSM (S)  の文字単位での最大長を MAXCSL とする。

d

)  MAXCSL を示す XML スキーマ型 xs:integer の正規 XML スキーマ定数を MLIT とする。

e

)  場合:

i

)

CSM

が準同形で,が MAXCSL と等しく,かつ,の型指示子が CHARACTER ならば,次の

文字列を SQLCDT とする。

<xs:simpleType

 name="XMLN">

  <xs:restriction base="xs:string">

    <xs:length value="MLIT" />

  </xs:restriction>

</xs:simpleType>

ii

)  そうでなければ,次の文字列を SQLCDT とする。

<xs:simpleType

 name="XMLN">

  <xs:restriction base="xs:string">

    <xs:maxLength value="MLIT" />

  </xs:restriction>

</xs:simpleType>

6

)  が,文字列型でない定義域又はデータ型ならば,次による。

a

) 2 進オクテット列を base64 で符号化するか又は hex で符号化するかの選択を ENC とし,ナル値を

未指定要素に対応付けるか又は xsi:nil="true" でマーク付けられる要素に対応付けるかの選

択を NC とする。

b

)  を SQLTYPE として,ENC を ENCODING として,NC を NULLS として,“

9.5

 SQL データ型の

XML スキーマデータ型への対応付け”の一般規則を適用する。これらの一般規則の適用によって

戻される SCHEMA TYPE を XMLT とする。

c

)  場合:

i

)

D

が XML 型ならば,XMLT は,次の形式から成る。

<xs:complexType

 MIXED>

  XMLTC

</xs:complexType>

ここで,XMLTC は,要素内容を構成する文字列とし,MIXED は,要素の属性を構成する文字

列とする。次の文字列を SQLDT とする。


108

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

<xs:complexType

 name="XMLN" MIXED>

  XMLTC

</xs:complexType>

ii

)  XMLT が形式  <xs:complexType>XMLTC</xs:complexType> から成るならば,次の文字列

を SQLCDT とする。ここで,XMLTC は,要素内容を構成する文字列とする。

<xs:complexType

 name="XMLN">

  XMLTC

</xs:complexType>

iii

)  XMLT が形式  <xs:simpleType>XMLTC</xs:simpleType>  から成るならば,次の文字列を

SQLCDT

とする。ここで,XMLTC は,要素内容を構成する文字列とする。

<xs:simpleType

 name="XMLN">

  XMLTC

</xs:simpleType>

iv

)  そうでなければ,次の文字列を SQLCDT とする。

<xs:simpleType

 name="XMLN">

  <xs:restriction base="XMLT" />

</xs:simpleType>

7

)  SQLCDT は,この対応付けの結果である XML スキーマデータ型とする。

適合性規則

なし。

9.7

SQL

データ型の集まりの

XML

スキーマデータ型への対応付け

細分箇条署名

“SQL

データ型の集まりの XML スキーマデータ型への対応付け” [

一般規則] (

パラメタ: “NULLS”,

パラメタ: “ENCODING”,

パラメタ: “SQLTYPES”

)

戻り: “SCHEMA TYPE”

機能

SQL データ型の集まりの XML スキーマデータ型への対応付け  (Mapping a collection of SQL data types to

XML Schema data types) は,SQL データ型及び定義域の集まりの XML スキーマデータ型への対応付けを

定義する。

構文規則

なし。

アクセス規則

なし。

一般規則

1

)  この細分箇条の一般規則の適用では,NULLS を NULLS とし,ENCODING を ENCODING とし,

SQL TYPE

を とする。この細分箇条の適用の結果は,XMLD とする。それは,SCHEMA TYPE 

して戻される。

注記

59

  は,SQL データ型及び定義域の集まりである。


109

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

2

)  は,追加されるデータ型がなくなるまで,次のとおり再帰的に増加する。

a

)  DO が に含まれる定義域で,かつ,DO のデータ型が に含まれないならば,DO のデータ型が

C

に追加される。

b

)  RT が に含まれる行型で,が RT のフィールドで,そのフィールドの宣言型が に含まれない

ならば,の宣言型が に追加される。

c

)  DT が に含まれる個別型で,その個別型の元型が に含まれないならば,DT の元型が に追

加される。

d

)  CT が に含まれる集まり型で,その集まり型の要素型が に含まれないならば,CT の要素型が

C

に追加される。

3

)  中の SQL データ型及び定義域の個数を とする。

4

)  長さ 0 の文字列を XMLD とする。XML Name の空リストを XMLTL とする。

5

) 1 から までの範囲の に対して,次による。

a

)  中の 番目の SQL データ型又は定義域を D

i

とする。

b

)  D

i

を DATA TYPE として,

9.4

 SQL データ型の XML Name への対応付け”の一般規則を適用する。

これらの

一般規則の適用によって戻される XML NAME を XMLN

i

とする。

c

)  D

i

を SQLTYPE として,ENCODING を ENCODING として,NULLS を NULLS として,

9.5

 SQL

データ型の XML スキーマデータ型への対応付け”の

一般規則を適用する。これらの一般規則の

適用によって戻される SCHEMA TYPE を XMLT

i

とする。

d

)  二つの XML Name は,それらの文字数が同じで,かつ,対応する全ての文字の Unicode 値が等し

いならば,互いに等価であるとみなす。

e

)  XMLN

i

が XMLTL 中のどの XML Name の値とも等価でないならば,次による。

i

)

次の文字列を XMLD とする。

XMLD

 || XMLT

i

ii

)  XMLN

i

を XMLTL に付加する。

6

)  XMLD は,この対応付けの結果である XML スキーマデータ型を含む。

適合性規則

なし。

9.8

SQL

データ型の値の

XML

スキーマデータ型の値への対応付け

細分箇条署名

“SQL

データ型の値の XML スキーマデータ型の値への対応付け” [

一般規則] (

パラメタ: “SQLVALUE”,

パラメタ: “NULLS”,

パラメタ: “ENCODING”,

パラメタ: “CHARMAPPING”

)

戻り: “XMLVALUE”

機能

SQL データ型の値の XML スキーマデータ型の値への対応付け (Mapping values of SQL data types to

values of XML Schema data types)  は,SQL データ型のナルでない値の XML への対応付けを定義する。

構文規則

なし。


110

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

アクセス規則

なし。

一般規則

1

)  この細分箇条の一般規則の適用では,SQLVALUE を DV とし,NULLS を NL とし,ENCODING 

ENC

とし,CHARMAPPING を CHARMAPPING とする。この細分箇条の適用の結果は,XMLV 

する。それは,XMLVALUE として戻される。

注記

60

  NULLS は,ナル値を未指定要素に対応付けるか又は xsi:nil="true"でマーク付けられ

る要素に対応付けるかの選択を指定する。ENCODING は,2 進オクテット列を base64 で

符号化するか又は hex で符号化するかを指定する。CHARMAPPING は,幾つかの文字[

“&”

(U+0026),“<”(U+003C),“>”(U+003E)  及び Carriage Return (U+000D)]を,それらの文

字参照に置き換える[

真  (True)]か又は置き換えない[偽  (False)]かの選択を指定する。

2

)  場合:

a

)  DV が個別型の値ならば,個別型の元型を SQLT とし,次の<CAST 指定>の結果を SQLV とする。

CAST (DV AS SQLT)

b

)  そうでなければ,DV の最特定型を SQLT とし,DV を SQLV とする。

3

)  SQLT を SQLTYPE として,ENC を ENCODING として,NL を NULLS として,“

9.5

 SQL データ型

の XML スキーマデータ型への対応付け”の

一般規則を適用する。これらの一般規則の適用によっ

て戻される SCHEMA TYPE を XMLT とする。

4

)  可変長文字列の処理系定義の最大長を とする。

5

)  SQLT が 2 進オクテット列型,文字列型,行型,集まり型,時間隔型又は XML 型でないならば,次

の<CAST 指定>の結果を CV とする。

CAST ( SQLV AS CHARACTER VARYING(M) )

6

) CHARACTER

VARYING の既定文字集合の Unicode への処理系定義の対応付けを CSM とする。

7

)  場合:

a

)  SQLT が文字列型ならば,次による。

i

)

SQLT

の文字集合を CS とする。CS の文字列の Unicode への処理系定義の対応付けを用いて,

SQLV

を Unicode に対応付けた結果である XML テキストを XMLVRAW とする。

ii

)  場合:

1

) SQL 処理系が機能

X211

“XML 1.1 提供”を提供するとき,XMLVRAW 中のいずれかの Unicode

符号位置が妥当な XML 1.1 文字を表現しないならば,例外条件:SQL/XML

対応付け誤り

(SQL/XML mapping error)−XML 文字が妥当ではない  (invalid XML character)  が引き起こされ

る。

2

)  そうでなければ,XMLVRAW 中のいずれかの Unicode 符号位置が妥当な XML 1.0 文字を表現し

ないならば,例外条件:SQL/XML

対応付け誤り  (SQL/XML mapping error)−XML 文字が妥当

ではない  (invalid XML character)  が引き起こされる。

iii

)  場合:

1

)  CHARMAPPING が真  ならば,“&”(U+0026)  の各実現値を“&amp;”で置き換え,“<”

(U+003C)  の各実現値を“&lt;”で置き換え,“>”(U+003E)  の各実現値を“&gt;”で置き換

え,Carriage Return (U+000D)  の各実現値を“&#x0d;”で置き換えた XMLVRAW を XMLV とす

る。


111

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

2

)  そうでなければ,XMLVRAW を XMLV とする。

b

)  SQLT が 2 進オクテット列型ならば,次による。

場合:

i

) 2 進オクテット列を hex で符号化すべきことを ENCODING が示すならば,

[Schema2]

  で規定し

ているとおりに,SQLV を hex 符号化したものを XMLV とする。

ii

)  そうでなければ,

[Schema2]

  で規定しているとおりに,SQLV を base64 符号化したものを XMLV

とする。

c

)  SQLT が数型ならば,CSM を用いた CV の Unicode への対応付けの結果を XMLV とする。

d

)  SQLT が BOOLEAN ならば,次の<値式>の結果を TEMP とする。

LOWER (CV)

CSM

を用いた TEMP の Unicode への対応付けの結果を XMLV とする。

e

)  SQLT が DATE ならば,次の<値式>の結果を TEMP とする。

SUBSTRING (CV FROM 6 FOR 10)

CSM

を用いた TEMP の Unicode への対応付けの結果を XMLV とする。

f

)  SQLT が TIME を指定するならば,次による。

i

)

SQLT

の<時刻小数秒精度>を とする。

ii

)  が 0 ならば,0 を とし,そうでなければ,P + 1 を とする。

iii

)  SQLT が WITH TIME ZONE を指定するならば,6 を とし,そうでなければ,0 を とする。

iv

)  場合:

1

)  CV の SECOND フィールドが 60 以上ならば,処理系定義の値が TEMP に代入されるか又は

例外条件:

データ例外  (data exception)−日時フィールドあふれ  (datetime field overflow)  が引

き起こされるかは,処理系定義とする。

2

)  そうでなければ,次の<値式>の結果を TEMP とする。

SUBSTRING (CV FROM 6 FOR 8 + Q + Z)

v

)  CSM を用いた TEMP の Unicode への対応付けの結果を XMLV とする。

g

)  SQLT が TIMESTAMP を指定するならば,次による。

i

)

SQLT

の<時刻小数秒精度>を とする。

ii

)  が 0 ならば,0 を とし,そうでなければ,P + 1 を とする。

iii

)  SQLT が WITH TIME ZONE を指定するならば,6 を とし,そうでなければ,0 を とする。

iv

)  場合:

1

)  CV の SECOND フィールドが 60 以上ならば,処理系定義の値が TEMP に代入されるか又は

例外条件:

データ例外−日時フィールドあふれが引き起こされるかは,処理系定義とする。

2

)  そうでなければ,次の<値式>の結果を TEMP とする。

    SUBSTRING  (CV FROM 11 FOR 10)

|| 'T'

|| SUBSTRING (CV FROM 22 FOR 8 + Q + Z)

v

)  CSM を用いた TEMP の Unicode への対応付けの結果を XMLV とする。

h

)  SQLT が INTERVAL を指定するならば,次による。

i

)

SQLV

が負の値ならば,'-'(<負符号>から成る長さ 1 の文字列)を SIGN とし,そうでなけ

れば,長さ 0 の文字列を SIGN とする。


112

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

ii

) ABS(SQLV)  を SQLVA とする。

iii

)  次の<CAST 指定>の結果を CVA とする。

CAST ( SQLVA AS CHARACTER VARYING(M) )

iv

)  SQLT の<時間隔先行フィールド精度>を とする。

v

)  あるならば,SQLT の<時間隔小数秒精度>を とする。

vi

)  が 0 ならば,0 を とし,そうでなければ,P + 1 を とする。

vii

)  場合:

1

)  SQLT が INTERVAL YEAR ならば,次の<値式>の結果を TEMP とする。

SIGN

 || 'P' || SUBSTRING (CVA FROM 10 FOR L) || 'Y'

2

)  SQLT が INTERVAL YEAR TO MONTH ならば,次の<値式>の結果を TEMP とする。

    SIGN || 'P'

|| SUBSTRING (CVA FROM 10 FOR L) || 'Y'

|| SUBSTRING (CVA FROM 11 + L FOR 2) || 'M'

3

)  SQLT が INTERVAL MONTH ならば,次の<値式>の結果を TEMP とする。

    SIGN || 'P'

|| SUBSTRING (CVA FROM 10 FOR L) || 'M'

4

)  SQLT が INTERVAL DAY ならば,次の<値式>の結果を TEMP とする。

    SIGN || 'P'

|| SUBSTRING (CVA FROM 10 FOR L) || 'D'

5

)  SQLT が INTERVAL DAY TO HOUR ならば,次の<値式>の結果を TEMP とする。

    SIGN || 'P'

|| SUBSTRING (CVA FROM 10 FOR L) || 'DT'

|| SUBSTRING (CVA FROM 11 + L FOR 2) || 'H'

6

)  SQLT が INTERVAL DAY TO MINUTE ならば,次の<値式>の結果を TEMP とする。

    SIGN || 'P'

|| SUBSTRING (CVA FROM 10 FOR L) || 'DT'

|| SUBSTRING (CVA FROM 11 + L FOR 2) || 'H'

|| SUBSTRING (CVA FROM 14 + L FOR 2) || 'M'

7

)  SQLT が INTERVAL DAY TO SECOND ならば,次の<値式>の結果を TEMP とする。

    SIGN || 'P'

|| SUBSTRING (CVA FROM 10 FOR L) || 'DT'

|| SUBSTRING (CVA FROM 11 + L FOR 2) || 'H'

|| SUBSTRING (CVA FROM 14 + L FOR 2) || 'M'

|| SUBSTRING (CVA FROM 17 + L FOR 2 + Q) || 'S'

8

)  SQLT が INTERVAL HOUR ならば,次の<値式>の結果を TEMP とする。

    SIGN || 'PT'

|| SUBSTRING (CVA FROM 10 FOR L) || 'H'

9

)  SQLT が INTERVAL HOUR TO MINUTE ならば,次の<値式>の結果を TEMP とする。

    SIGN || 'PT'

|| SUBSTRING (CVA FROM 10 FOR L) || 'H'


113

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

|| SUBSTRING (CVA FROM 11 + L FOR 2) || 'M'

10

)  SQLT が INTERVAL HOUR TO SECOND ならば,次の<値式>の結果を TEMP とする。

    SIGN || 'PT'

|| SUBSTRING (CVA FROM 10 FOR L) || 'H'

|| SUBSTRING (CVA FROM 11 + L FOR 2) || 'M'

|| SUBSTRING (CVA FROM 14 + L FOR 2 + Q) || 'S'

11

)  SQLT が INTERVAL MINUTE ならば,次の<値式>の結果を TEMP とする。

    SIGN || 'PT'

|| SUBSTRING (CVA FROM 10 FOR L) || 'M'

12

)  SQLT が INTERVAL MINUTE TO SECOND ならば,次の<値式>の結果を TEMP とする。

    SIGN || 'PT'

|| SUBSTRING (CVA FROM 10 FOR L) || 'M'

|| SUBSTRING (CVA FROM 11 + L FOR 2 + Q) || 'S'

13

)  SQLT が INTERVAL SECOND ならば,次の<値式>の結果を TEMP とする。

    SIGN || 'PT'

|| SUBSTRING (CVA FROM 10 FOR L + Q) || 'S'

viii

CSM を用いた TEMP の Unicode への対応付けの結果を XMLV とする。

i

)

SQLT

が行型ならば,次による。

i

)

SQLT

のフィールド数を とする。1 から までの範囲の に対して,番目のフィールドの宣

言型,名前及び値を,それぞれ,FT

i

FN

i

及び FV

i

とする。

ii

) 1 から までの範囲の各 に対して,次による。

1

)  FN

i

を IDENT として,

完全な別扱い  (fully escaped)  を ESCAPE VARIANT として,“

9.1

 SQL<

識別子>の XML Name への対応付け”の

一般規則を適用する。これらの一般規則の適用によ

って戻される XMLNAME を XMLFN

i

とする。

2

)  場合:

A

)  FV

i

がナル値で,かつ,NULLS が“absent”ならば,長さ 0 の文字列を XMLE

i

とする。

B

)  FV

i

がナル値で,かつ,NULLS が“nil”ならば,次の XML 要素を XMLE

i

とする。

<XMLFN

i

 xsi:nil="true"/>

C

)  そうでなければ,この細分箇条で規定している対応付けを FV

i

に適用した結果を XML テ

キスト XMLV

i

とする。次の XML 要素を XMLE

i

とする。

<XMLFN

i

>XMLV

i

</XMLFN

i

>

iii

)  次の文字列を XMLV とする。

XMLE

1

 XMLE

2

 ... XMLE

N

j

)  SQLV が配列値又はマルチ集合値ならば,次による。

i

)

SQLV

中の要素の個数を とする。

ii

)  SQLV の要素型を ET とする。

iii

) 1 から までの範囲の に対して,次による。

1

)  SQLV の 番目の要素の値を E

i

とする(SQLV がマルチ集合値ならば,要素の順序は,処理

系依存とする。

2

)  場合:


114

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

A

)  E

i

がナル値ならば,<element xsi:nil="true"/>を XML テキスト XMLE

i

とする。

B

)  そうでなければ,この細分箇条を E

i

に適用した結果を XML テキスト X

i

とする。次の文字

列を XML テキスト XMLE

i

とする。

<element>X

i

</element>

iv

)  次の文字列を XMLV とする。

XMLE

1

 XMLE

2

 ... XMLE

N

k

)  SQLT が XML 型ならば,次の<XML 文字列直列化>によって SQLV 中の XML 値を直列化した値

を XMLV とする。

XMLSERIALIZE (CONTENT SQLV AS CLOB)

8

)  XMLV は,この対応付けの結果とする。

適合性規則

なし。

9.9

SQL

表の

XML

スキーマデータ型への対応付け

細分箇条署名

“SQL

表の XML スキーマデータ型への対応付け” [

一般規則] (

パラメタ: “TABLE”,

パラメタ: “NULLS”,

パラメタ: “TABLEFOREST”,

パラメタ: “AUTHID”

)

戻り: “SCHEMATYPES”

機能

SQL 表の XML スキーマデータ型への対応付け  (Mapping an SQL table to XML Schema data types)  は,SQL

表の XML スキーマデータ型への対応付けを定義する。

構文規則

なし。

アクセス規則

なし。

一般規則

1

)  この細分箇条の一般規則の適用では,TABLE を とし,NULLS を NULLS とし,TABLEFOREST

を TABLEFOREST とし,AUTHID を とする。この細分箇条の適用の結果は,XMLTYPMAP とす

る。それは,SCHEMATYPES として戻される。

注記

61

  NULLS は,ナル値を未指定要素に対応付ける(“absent”)か又は xsi:nil="true"でマ

ーク付けられる要素に対応付ける(

“nil”

)かの選択を指定する。TABLEFOREST は,表を

XML 要素の並びに対応付ける[真  (True)]か又は単一のルート要素をもつ XML 文書に対

応付ける[

偽  (False)]かの選択を指定する。は,この対応付けを呼び出す認可識別子で

ある。

2

)  の<表名>の<カタログ名>,<修飾なしスキーマ名>及び<被修飾識別子>を,それぞれ,TCTS 

び TN とする。

3

)  に対する の XML 可視列の個数を とする。

注記

62

  “XML 可視列”は,“

4.10.8

 SQL から XML への対応付けでの列,表及びスキーマの可視


115

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

性”で定義している。

4

) 1 から までの範囲の に対して,次による。

a

)  内の順序位置の順序での に対する の 番目の XML 可視列を C

 i

とする。

b

)  C

 i

の<列名>を CN とする。C

 i

のデータ型を とする。

c

)  CN を IDENT として,完全な別扱い  (fully escaped)  を ESCAPE VARIANT として,“

9.1

 SQL<識別

子>の XML Name への対応付け”の

一般規則を適用する。これらの一般規則の適用によって戻さ

れる XMLNAME を XMLCN とする。

d

)  を DATA TYPE として,“

9.4

 SQL データ型の XML Name への対応付け”の一般規則を適用する。

これらの

一般規則の適用によって戻される XML NAME を XMLCTN とする。

e

)  場合:

i

)

C

 i

がナル可能でないことが分かるならば,長さ 0 の文字列を XMLNULLS とする。

ii

)  そうでなければ,次による。

場合:

1

)  NULLS が“absent”ならば,次の文字列を XMLNULLS とする。

minOccurs="0"

2

)  NULLS が“nil”ならば,次の文字列を XMLNULLS とする。

nillable="true"

f

)  場合:

i

)

D

が文字列型ならば,次による。

1

)  の文字集合を CS とする。

2

)  CS の<文字集合名>の<カタログ名>,<修飾なしスキーマ名>及び<SQL 言語識別子>を,それ

ぞれ,CSCCSS 及び CSN とする。

3

)  CSC を IDENT として,完全な別扱い  を ESCAPE  VARIANT として,“

9.1

 SQL<識別子>の

XML Name への対応付け”の一般規則を適用する。これらの一般規則の適用によって戻され

る XMLNAME を XMLCSCN とする。

4

)  CSS を IDENT として,完全な別扱い  を ESCAPE  VARIANT として,“

9.1

 SQL<識別子>の

XML Name への対応付け”の一般規則を適用する。これらの一般規則の適用によって戻され

る XMLNAME を XMLCSSN とする。

5

)  CSN を IDENT として,完全な別扱い  を ESCAPE  VARIANT として,“

9.1

 SQL<識別子>の

XML Name への対応付け”の一般規則を適用する。これらの一般規則の適用によって戻され

る XMLNAME を XMLCSN とする。

6

)  の照合順を CO とする。

7

)  CO の<照合順名>の<カタログ名>,<修飾なしスキーマ名>及び<被修飾識別子>を,それぞれ,

COC

COS 及び CON とする。

8

)  COC を IDENT として,完全な別扱い  を ESCAPE  VARIANT として,“

9.1

 SQL<識別子>の

XML Name への対応付け”の一般規則を適用する。これらの一般規則の適用によって戻され

る XMLNAME を XMLCOCN とする。COS を IDENT として,

完全な別扱い  を ESCAPE 

VARIANT

として,

9.1

 SQL<識別子>の XML Name への対応付け”の一般規則を適用する。

これらの

一般規則の適用によって戻される XMLNAME を XMLCOSN とする。CON を IDENT

として,

完全な別扱い  を ESCAPE  VARIANT として,“

9.1

 SQL<識別子>の XML Name への


116

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

対応付け”の

一般規則を適用する。これらの一般規則の適用によって戻される XMLNAME

を XMLCON とする。

9

)  COLANN が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

<xs:annotation>

  <xs:appinfo>

    <sqlxml:sqlname

        type="CHARACTER SET"

        catalogName="XMLCSCN"

        schemaName="XMLCSSN"

        localName="XMLCSN" />

    <sqlxml:sqlname

        type="COLLATION"

        catalogName="XMLCOCN"

        schemaName="XMLCOSN"

        localName="XMLCON" />

  </xs:appinfo>

</xs:annotation>

ii

)  COLANN は,長さ 0 の文字列とする。

g

)  次の文字列を XMLCE

i

とする。

<xs:element

 name="XMLCN" type="XMLCTN" XMLNULLS>

  COLANN

</xs:element>

5

)  “TableType”,TCTS 及び TN を SEQUENCE OF SQL IDENTIFIERS として,“

9.2

  マルチパート

SQL 名の XML Name への対応付け”の一般規則を適用する。これらの一般規則の適用によって戻さ

れる XMLNAME を XMLTYPEN とする。

6

)  “RowType”,TCTS 及び TN を SEQUENCE  OF  SQL  IDENTIFIERS として,“

9.2

  マルチパート

SQL 名の XML Name への対応付け”の一般規則を適用する。これらの一般規則の適用によって戻さ

れる XMLNAME を XMLROWN とする。

7

)  TC を IDENT として,完全な別扱い  を ESCAPE VARIANT として,“

9.1

 SQL<識別子>の XML Name

への対応付け”の

一般規則を適用する。これらの一般規則の適用によって戻される XMLNAME 

XMLCAT

とする。TS を IDENT として,

完全な別扱い  を ESCAPE  VARIANT として,“

9.1

 SQL<識

別子>の XML Name への対応付け”の

一般規則を適用する。これらの一般規則の適用によって戻さ

れる XMLNAME を XMLSN とする。TN を IDENT として,

完全な別扱い  を ESCAPE  VARIANT 

して,

9.1

 SQL<識別子>の XML Name への対応付け”の一般規則を適用する。これらの一般規則の

適用によって戻される XMLNAME を XMLTN とする。

8

)  が実表ならば,BASE TABLE を TYPE とする。そうでなければ,VIEWED TABLE を TYPE とする。

SQLANN

が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

<xs:annotation>

  <xs:appinfo>

    <sqlxml:sqlname


117

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

        type="TYPE"

        catalogName="XMLCAT"

        schemaName="XMLSN"

        localName="XMLTN" />

  </xs:appinfo>

</xs:annotation>

9

)  場合:

a

)  TABLEFOREST が偽  ならば,次の文字列を XMLTYPMAP とする。

<xs:complexType

 name="XMLROWN">

  <xs:sequence>

      XMLCE1

      ...

      XMLCEn

  </xs:sequence>

</xs:complexType>

<xs:complexType

 name="XMLTYPEN">

  SQLANN

  <xs:sequence>

    <xs:element name="row"

        type="XMLROWN"

        minOccurs="0"

        maxOccurs="unbounded" />

  </xs:sequence>

</xs:complexType>

b

)  TABLEFOREST が真  ならば,次の文字列を XMLTYPMAP とする。

<xs:complexType

 name="XMLROWN">

  <xs:sequence>

    XMLCE

1

    ...

    XMLCE

n

  </xs:sequence>

</xs:complexType>

10

)  XMLTYPMAP は,この対応付けの結果である XML スキーマデータ型を含む。

適合性規則

なし。

9.10

SQL

表の

XML

要素又は

XML

要素の並びへの対応付け

細分箇条署名

“SQL

表の XML 要素又は XML 要素の並びへの対応付け” [

一般規則] (

パラメタ: “TABLE”,

パラメタ: “NULLS”,


118

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

パラメタ: “TABLEFOREST”,

パラメタ: “TARGETNS”,

パラメタ: “ENCODING”,

パラメタ: “SCHEMALOCATION”,

パラメタ: “AUTHID”

)

戻り: “XMLELEMS”

機能

SQL 表の XML 要素又は XML 要素の並びへの対応付け (Mapping an SQL table to an XML element or a

sequence of XML elements)  は,SQL 表の XML への対応付けを定義する。

構文規則

なし。

アクセス規則

なし。

一般規則

1

)  この細分箇条の一般規則の適用では,TABLE を とし,NULLS を NULLS とし,TABLEFOREST

を TABLEFOREST とし,TARGETNS を TARGETNS とし,ENCODING を ENCODING とし,

SCHEMALOCATION

を XSL とし,AUTHID を とする。この細分箇条の適用の結果は,XMLTE

とする。それは,XMLELEMS として戻される。

注記

63

  NULLS は,ナル値を未指定要素に対応付ける(“absent”)か又は xsi:nil="true"でマ

ーク付けられる要素に対応付ける(

“nil”

)かの選択を指定する。TABLEFOREST は,表を

XML 要素の並びに対応付ける[真  (True)]か又は単一のルート要素をもつ XML 文書に対

応付ける[

偽  (False)]かの選択を指定する。TARGETNS は,対応付けられる XML スキー

マ及びデータの XML ターゲット名前空間 URI を指定する。TARGETNS が長さ 0 の文字列

ならば,XML 名前空間は,追加されない。は,この対応付けを呼び出す認可識別子であ

る。ENCODING は,2 進オクテット列を base64 で符号化するか又は hex で符号化するかの

選択を指定する。SCHEMALOCATION は,データ対応付けがあるならば,その結果を記述

する XML スキーマの URI である。

2

)  の<表名>の<被修飾識別子>を TN とする。

3

)  TN を IDENT として,完全な別扱い  (fully escaped)  を ESCAPE VARIANT として,“

9.1

 SQL<識別子

>の XML Name への対応付け”の一般規則を適用する。これらの一般規則の適用によって戻される

XMLNAME

を XMLTN とする。

4

)  の行の個数を とし,に対する の XML 可視列の個数を とする。

注記

64

  “XML 可視列”は,“

4.10.8

 SQL から XML への対応付けでの列,表及びスキーマの可視

性”で定義している。

5

)  場合:

a

)  XSL が長さ 0 の文字列でないならば,次による。

i

)

TARGETNS

が長さ 0 の文字列ならば,次の文字列を XSLA とする。

xsi:noNamespaceSchemaLocation="XSL"

ii

)  そうでなければ,次の文字列を XSLA とする。

xsi:schemaLocation="TARGETNS

 XSL"


119

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

b

)  そうでなければ,長さ 0 の文字列を XSLA とする。

6

)  表

2

“XML 名前空間接頭辞及びそれらの URI”中の XML 名前空間接頭辞 xsi に対して与えられた

XML 名前空間 URI の値を XSINS とする。

場合:

a

)  NULLS が“absent”で,かつ,XSLA が長さ 0 の文字列ならば,長さ 0 の文字列を XSI とする。

b

)  そうでなければ,次の文字列を XSI とする。

xmlns:xsi="XSINS"

7

) 1 から までの範囲の に対して,次による。

a

)  の処理系依存の繰返し可能な順序で,の 番目の行を R

i

とする。

b

) 1 から までの範囲の に対して,次による。

i

)

U

に対する の 番目の XML 可視列を C

j

とする。

ii

)  C

j

の<列名>を CN

j

とする。

iii

)  CN

j

を IDENT として,

完全な別扱い  を ESCAPE VARIANT として,“

9.1

 SQL<識別子>の XML

Name への対応付け”の一般規則を適用する。これらの一般規則の適用によって戻される

XMLNAME

を XMLCN

j

とする。

iv

)  R

i

に対する C

j

の値を V

j

とする。

v

)  場合:

1

)  V

j

がナル値で,かつ,NULLS が“absent”ならば,XMLC

j

は,長さ 0 の文字列とする。

2

)  V

j

がナル値で,かつ,NULLS が“nil”ならば,XMLC

j

は,次の文字列とする。

<XMLCN

j

 xsi:nil="true" />

3

)  そうでなければ,次による。

A

)  V

j

を SQLVALUE として,ENCODING を ENCODING として,NULLS を NULLS として,

真  を CHARMAPPING として,“

9.8

 SQL データ型の値の XML スキーマデータ型の値への

対応付け”の

一般規則を適用する。これらの一般規則の適用によって戻される XMLVALUE

を XMLV

j

とする。

B

)  XMLC

j

は,次の文字列とする。

<XMLCN

j

>XMLV

j

</XMLCN

j

>

c

)  場合:

i

)

TABLEFOREST

偽  ならば,次の文字列を XMLR

i

とする。

<row>

  XMLC

1

  ...

  XMLC

m

</row>

ii

)  TABLEFOREST が真  で,かつ,TARGETNS が長さ 0 の文字列ならば,次の文字列を XMLR

i

する。

<XMLTN

 XSI XSLA>

  XMLC

1

  ...

  XMLC

m


120

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

</XMLTN>

iii

)  TABLEFOREST が真  で,かつ,TARGETNS が長さ 0 の文字列でないならば,次の文字列を XMLR

i

とする。

<XMLTN

 XSI xmlns="TARGETNS" XSLA>

  XMLC

1

  ...

  XMLC

m

</XMLTN>

8

)  場合:

a

)  TABLEFOREST が偽  で,かつ,TARGETNS が長さ 0 の文字列ならば,次の文字列を XMLTE とす

る。

<XMLTN

 XSI XSLA>

  XMLR

1

  ...

  XMLR

n

</XMLTN>

b

)  TABLEFOREST が偽  で,かつ,TARGETNS が長さ 0 の文字列でないならば,次の文字列を XMLTE

とする。

<XMLTN

 XSI xmlns="TARGETNS" XSLA>

  XMLR

1

  ...

  XMLR

n

</XMLTN>

c

)  TABLEFOREST が真  ならば,次の文字列を XMLTE とする。

XMLR

1

...

XMLR

n

9

)  XMLTE は,この細分箇条の適用の結果である XML とする

適合性規則

なし。

9.11

SQL

表の

XML

及び

XML

スキーマ文書への対応付け

細分箇条署名

“SQL

表の XML 及び XML スキーマ文書への対応付け” [

一般規則] (

パラメタ: “TABLE”,

パラメタ: “NULLS”,

パラメタ: “TABLEFOREST”,

パラメタ: “TARGETNS”,

パラメタ: “ENCODING”,

パラメタ: “RETURN”,

パラメタ: “AUTHID”


121

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

)

戻り: “RESULT”

機能

SQL 表の XML 及び XML スキーマ文書への対応付け  (Mapping an SQL table to XML and an XML Schema

document)  は,対応付けられる XML の構造を記述する XML スキーマ文書,及び XML 文書か又は XML

要素の並びのいずれかへの SQL 表の対応付けを定義する。

構文規則

なし。

アクセス規則

なし。

一般規則

1

)  この細分箇条の一般規則の適用では,TABLE を とし,NULLS を NULLS とし,TABLEFOREST

を TABLEFOREST とし,

TARGETNS

を TARGETNS とし,

ENCODING

を ENCODING とし,

RETURN

を RETURN とし,AUTHID を とする。この細分箇条の適用の結果は,XRET とする。それは,

RESULT

として戻される。

注記

65

  NULLS は,ナル値を未指定要素に対応付ける(“absent”)か又は xsi:nil="true"でマ

ーク付けられる要素に対応付ける(

“nil”

)かの選択を指定する。TABLEFOREST は,表を

XML 要素の並びに対応付ける[真  (True)]か又は単一 XML 要素をもつ XML 文書に対応

付ける[

偽  (False)]かの選択を指定する。TARGETNS は,対応付けられる XML スキーマ

及びデータの XML ターゲット名前空間 URI である。

TARGETNS

が長さ 0 の文字列ならば,

XML 名前空間は,追加されない。ENCODING は,2 進オクテット列を base64 で符号化す

るか又は hex で符号化するかの選択を指定する。RETURN は,対応付けの結果を,のデ

ータの XML 表現にするか,のデータの XML 表現を記述する XML スキーマ文書にする

か又はその両方にするかの選択を指定する。は,この対応付けを呼び出す認可識別子で

ある。

2

)  の<表名>の<カタログ名>,<修飾なしスキーマ名>及び<被修飾識別子>を,それぞれ,TCTS 

び TN とする。

3

)  TN を IDENT として,完全な別扱い  (fully escaped)  を ESCAPE VARIANT として,“

9.1

 SQL<識別子

>の XML Name への対応付け”の一般規則を適用する。これらの一般規則の適用によって戻される

XMLNAME

を XMLTN とする。

4

)  の可視列のいずれかが XML に対応付けできない列ならば,終了条件:警告  (warning)−列を XML

に対応付けできない  (column cannot be mapped to XML)  が引き起こされる。

5

)  “TableType”,TCTS 及び TN を SEQUENCE OF SQL IDENTIFIERS として,“

9.2

  マルチパート

SQL 名の XML Name への対応付け”の一般規則を適用する。これらの一般規則の適用によって戻さ

れる XMLNAME を XMLTYPEN とする。

6

)  “RowType”,TCTS 及び TN を SEQUENCE  OF  SQL  IDENTIFIERS として,“

9.2

  マルチパート

SQL 名の XML Name への対応付け”の一般規則を適用する。これらの一般規則の適用によって戻さ

れる XMLNAME を XMLROWN とする。

7

)  に対する の XML 可視列を CT とする。

8

)  CT の列のデータ型及び定義域を SQLTYPES として,ENCODING を ENCODING として,NULLS

を NULLS として,

9.7

 SQL データ型の集まりの XML スキーマデータ型への対応付け”の一般規


122

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

則を適用する。これらの一般規則の適用によって戻される SCHEMA TYPE を XSCT とする。

注記

66

  “XML 可視列”は,“

4.10.8

 SQL から XML への対応付けでの列,表及びスキーマの可視

性”で定義している。

9

)  を TABLE として,NULLS を NULLS として,TABLEFOREST を TABLEFOREST として,

AUTHID

として,

9.9

 SQL 表の XML スキーマデータ型への対応付け”の一般規則を適用する。こ

れらの

一般規則の適用によって戻される SCHEMATYPES を XST とする。

10

)  場合:

a

)  XSCT 又は XST のいずれかが,XML 1.0 QName でない XML 1.1 QName を含むならば,1.1 を VER

とする。

b

)  そうでなければ,VER が 1.1 か又は 1.0 かは,処理系定義とする。

11

)  この対応付けの結果に対して用いる文字符号化は,処理系定義とする。この符号化が UTF-8 又は

UTF-16 でないならば,文字符号化の名前を CHARENC とし,次の文字列を ENC とする。

encoding

 = 'CHARENC'

そうでなければ,長さ 0 の文字列を ENC とする。

12

)  VER が 1.0 でないか又は ENC が長さ 0 の文字列でないならば,次の文字列を XMLDECL とする。

<?xml

 version='VER' ENC ?>

そうでなければ,長さ 0 の文字列を XMLDECL とする。

13

)  RETURN が“data only”でないならば,次による。

a

)  表

2

“XML 名前空間接頭辞及びそれらの URI”中の XML 名前空間接頭辞 sqlxml に対して与え

られた XML 名前空間 URI の値を SQLXMLNS とする。

b

)  表

2

“XML 名前空間接頭辞及びそれらの URI”中の XML 名前空間接頭辞 xs に対して与えられ

た XML 名前空間 URI の値を XSDNS とする。

c

) XML 名前空間 SQLXMLNS を記述する XML スキーマ文書を参照する処理系定義の URI を

SLOCVAL

とする。SLOC が長さ 0 の文字列か又は次の文字列かは,処理系定義とする。

schemaLocation="SLOCVAL"

場合:

i

)

XSCT

も,XST も,sqlxml XML 名前空間接頭辞に対応する XML 名前空間を用いないならば,

長さ 0 の文字列を XSDIMP とする。

ii

)  XSCT 及び XST のうちの少なくとも一つが sqlxml XML 名前空間接頭辞に対応する XML 名前

空間を用いるならば,次の文字列を XSDIMP とする。

<xs:import

 namespace="SQLXMLNS" SLOC />

d

)  場合:

i

)

XSCT

も,XST も,sqlxml XML 名前空間接頭辞に対応する XML 名前空間を用いないならば,

長さ 0 の文字列を XSDECL とする。

ii

)  XSCT 及び XST のうちの少なくとも一つが sqlxml XML 名前空間接頭辞に対応する XML 名前

空間を用いるならば,次の文字列を XSDECL とする。

xmlns:sqlxml="SQLXMLNS"

e

)  場合:

i

)

TABLEFOREST

偽  で,かつ,TARGETNS が長さ 0 の文字列でないならば,XS は,次の内容

をもつ。


123

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

XMLDECL

<xs:schema

       xmlns:xs="XSDNS"

       XSDECL

       targetNamespace="TARGETNS"

       xmlns="TARGETNS"

       elementFormDefault="qualified">

   XSDIMP

   XSCT

   XST

   <xs:element name="XMLTN" type="XMLTYPEN" />

</xs:schema>

ii

)  TABLEFOREST が偽  で,かつ,TARGETNS が長さ 0 の文字列ならば,XS は,次の内容をもつ。

XMLDECL

<xs:schema

       xmlns:xs="XSDNS"

       XSDECL>

   XSDIMP

   XSCT

   XST

   <xs:element name="XMLTN" type="XMLTYPEN" />

</xs:schema>

iii

)  TABLEFOREST が真  で,かつ,TARGETNS が長さ 0 の文字列でないならば,XS は,次の内容

をもつ。

XMLDECL

   <xs:schema

         xmlns:xs="XSDNS"

         XSDECL

         targetNamespace="TARGETNS"

         xmlns="TARGETNS"

         elementFormDefault="qualified">

   XSDIMP

   XSCT

   XST

   <xs:element name="XMLTN" type="XMLROWN"/>

</xs:schema>

iv

)  TABLEFOREST が真  で,かつ,TARGETNS が長さ 0 の文字列ならば,XS は,次の内容をもつ。

XMLDECL

<xs:schema

      xmlns:xs="XSDNS"


124

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

      XSDECL>

   XSDIMP

   XSCT

   XST

   <xs:element name="XMLTN" type="XMLROWN"/>

</xs:schema>

f

)  次の<XML 文字列直列化>を XSR とする。

XMLSERIALIZE ( DOCUMENT

                  XMLPARSE  (  DOCUMENT  'XS' PRESERVE WHITESPACE )

                  AS CLOB )

14

)  場合:

a

)  RETURN が“data only”でないならば,XSR を識別する URI を XSL とする。

b

)  そうでなければ,長さ 0 の文字列を XSL とする。

15

)  RETURN が“metadata only”でないならば,次による。

a

)  を TABLE として,NULLS を NULLS として,TABLEFOREST を TABLEFOREST として,

TARGETNS

を TARGETNS と し て , ENCODING を ENCODING と し て , XSL 

SCHEMALOCATION

として,を AUTHID として,

9.10

 SQL 表の XML 要素又は XML 要素の

並 び へ の 対 応 付 け ” の

一 般 規則 を適 用 する 。こ れ らの 一般 規 則 の 適用 に よっ て戻 さ れ る

XMLELEMS

を XDROWS とする。

b

)  場合:

i

)

TABLEFOREST

偽  ならば,XD は,次の内容をもつ。

XMLDECL

   XDROWS

ii

)  TABLEFOREST が真  ならば,XD は,XDROWS とする。

c

)  場合:

i

)

TABLEFOREST

真  ならば,次の<XML 文字列直列化>を XDR とする。

XMLSERIALIZE ( CONTENT

                  XMLPARSE  (  CONTENT  'XD' PRESERVE WHITESPACE )

                  AS CLOB )

ii

)  TABLEFOREST が偽  ならば,次の<XML 文字列直列化>を XDR とする。

XMLSERIALIZE ( DOCUMENT

                  XMLPARSE  (  DOCUMENT  'XD' PRESERVE WHITESPACE )

                  AS CLOB )

16

)  場合:

a

)  RETURN が“metadata only”ならば,XSRのデータの XML 表現を記述する XML スキーマ文

書を含む文字長大オブジェクト値)を XRET とする。

b

)  RETURN が“data only”ならば,XDRのデータの XML 表現である XML 文書又は XML 要素

の森構造を含む文字長大オブジェクト値)を XRET とする。

c

)  そうでなければ,次の<値式>を XRET とする。

XSR

 || '&&' || XDR


125

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

適合性規則

1

)  機能

X040

“基本表対応付け”なしでは,適合する適用業務は,この規格のこの細分箇条を呼び出し

てはならない。

2

)  機能

X041

“基本表対応付け:ナルを未指定とする”なしでは,適合する適用業務は,未指定要素と

してマーク付けられる要素にナルを対応付けることを示すように NULLS を設定して,この規格の

この細分箇条を呼び出してはならない。

3

)  機能

X042

“基本表対応付け:ナルを nil とする”なしでは,適合する適用業務は,xsi:nil="true"

でマーク付けられる要素にナルを対応付けることを示すように NULLS を設定して,この規格のこ

の細分箇条を呼び出してはならない。

4

)  機能

X043

“基本表対応付け:森構造としての表”なしでは,適合する適用業務は,TABLEFOREST

真  を設定して,この規格のこの細分箇条を呼び出してはならない。

5

)  機能

X044

“基本表対応付け:要素としての表”なしでは,適合する適用業務は,TABLEFOREST

偽  を設定して,この規格のこの細分箇条を呼び出してはならない。

6

)  機能

X045

“基本表対応付け:ターゲット名前空間あり”なしでは,適合する適用業務は,長さ 0

の文字列でない TARGETNS で,この規格のこの細分箇条を呼び出してはならない。

7

)  機能

X046

“基本表対応付け:データ対応付け”なしでは,適合する適用業務は,RETURN に“metadata

only”を設定しないで,この規格のこの細分箇条を呼び出してはならない。

8

)  機能

X047

“基本表対応付け:メタデータ対応付け”なしでは,適合する適用業務は,RETURN 

“data only”を設定しないで,この規格のこの細分箇条を呼び出してはならない。

9

)  機能

X048

“基本表対応付け:2 進オクテット列の base64 符号化”なしでは,適合する適用業務は,

2 進オクテット列を base64 を用いて符号化すべきことを示すように ENCODING を設定して,この

規格のこの細分箇条を呼び出してはならない。

10

)  機能

X049

“基本表対応付け:2 進オクテット列の hex 符号化”なしでは,適合する適用業務は,2

進オクテット列を hex を用いて符号化すべきことを示すように ENCODING を設定して,この規格

のこの細分箇条を呼び出してはならない。

9.12

SQL

スキーマの

XML

スキーマデータ型への対応付け

細分箇条署名

“SQL

スキーマの XML スキーマデータ型への対応付け” [

一般規則] (

パラメタ: “SCHEMA”,

パラメタ: “NULLS”,

パラメタ: “TABLEFOREST”,

パラメタ: “AUTHID”

)

戻り: “SCHEMATYPES”

機能

SQL スキーマの XML スキーマデータ型への対応付け  (Mapping an SQL schema to XML Schema data types)

は,SQL スキーマの XML スキーマデータ型への対応付けを定義する。

構文規則

なし。

アクセス規則

なし。


126

X 3005-14

:2015 (ISO/IEC 9075-14:2011)

一般規則

1

)  この細分箇条の一般規則の適用では,SCHEMA を とし,NULLS を NULLS とし,TABLEFOREST

を TABLEFOREST とし,AUTHID を とする。この細分箇条の適用の結果は,XMLSCHEMAT 

する。それは,SCHEMATYPES として戻される。

注記

67

  NULLS は,ナル値を未指定要素に対応付ける(“absent”)か又は xsi:nil="true"でマ

ーク付けられる要素に対応付ける(

“nil”

)かの選択を指定する。TABLEFOREST は,表の

各行に対して一つの XML 要素として XML 要素の並びにスキーマの各表を対応付ける[

(True)]か又は表の各行に対する要素を含む単一 XML 要素に表を対応付ける[偽  (False)]

かの選択を指定する。は,この対応付けを呼び出す認可識別子である。

2

)&