public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_kr/db2xqrk90.pdf · duration...

224
DB2 ® XQuery 9 Linux, UNIX Windows SA30-3021-00

Upload: others

Post on 05-Aug-2020

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

DB2®

XQuery ���

�� 9Linux, UNIX � Windows�

SA30-3021-00

���

Page 2: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36
Page 3: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

DB2®

XQuery ���

�� 9Linux, UNIX � Windows�

SA30-3021-00

���

Page 4: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�!

� ��� � ��� ���� ��� ���� ��, ��� ����� ������.

��� ����

� ��� IBM� �� ��� �� �����. �� ��� ���� ���� ���� ��� �� ��� ����. � ���

��� ��� ��� �� ��� ���� ��� � ����� ���� ��� ��� �� �� ���� ����.

IBM � �� �� �� �� IBM ���� �� �� � ����.

v ���� �� ����� IBM Publications Center(www.ibm.com/shop/publications/order)� ������.

v �� �� IBM ���� ���� IBM Directory of Worldwide Contacts(www.ibm.com/planetwide)� ������.

�� �� ���� DB2 Marketing and Sales�� DB2 �� ����� 1-800-IBM-4YOU(426-4968)� ������

IBM� ��� ���, IBM ��� ��� ���� �� � ��� IBM� ����� ���� ���� ��� ��� ��

� ����� � � ����.

© Copyright International Business Machines Corporation 2006. All rights reserved.

Page 5: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

��

�. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix

�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

� 1 � DB2 XQuery �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

XQuery �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

XQuery� SQL �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

XQuery ��� ���� DB2 ��� � . . . . . . . . . . . . . . . . . . . . . . . . . 3

XQuery � XPath ��� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

��� � �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

�� �� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

�� �� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

�� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

��� �� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

�� ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

��� � � �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

XDM� � �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

XML � ���� � QName . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

��� �(QNames) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

���� ��� � ���� . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

�� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

���� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

XQuery� �� ��� ��� �� � . . . . . . . . . . . . . . . . . . . . . . . . . . 19

� 2 � �� ��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

� �� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

�� ��� �� ����� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

� ��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

anyAtomicType ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

anySimpleType ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

anyType ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

anyURI ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

base64Binary ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

boolean ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

byte ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

date ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

dateTime ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

dayTimeDuration ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

decimal ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

double ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

© Copyright IBM Corp. 2006 iii

Page 6: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

duration ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

ENTITY ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

float ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

gDay ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

gMonth ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

gMonthDay ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

gYear ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

gYearMonth ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

hexBinary ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

ID ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

IDREF ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

int ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

integer ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

language ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

long ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Name ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

NCName ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

negativeInteger ��� �. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

NMTOKEN ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

nonNegativeInteger ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

nonPositiveInteger ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

normalizedString ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

NOTATION ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

positiveInteger ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

QName ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

short ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

string ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

time ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

token ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

unsignedByte ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

unsignedInt ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

unsignedLong ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

unsignedShort ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

untyped ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

untypedAtomic ��� �. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

yearMonthDuration ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

� 3 � ���� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

�� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

boundary-space � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

���� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Copy-namespaces � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

default element/type namespace � . . . . . . . . . . . . . . . . . . . . . . . . . . 50

default function namespace � . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

empty order � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

ordering mode � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

� ���� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

iv IBM DB2 XQuery ���

Page 7: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� 4 � ��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

��� ��� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

�� ���� � �. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

XQuery ����� � � �� . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

�� � �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

��� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

�� ��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

�� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

�� �� ��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

���� �� ��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

�� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

�� ��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

�� ���� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

� ��. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

�� ���� �� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

��� ��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

���� � �� ���. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

� ��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

�� ��� ��� � ��� . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

�� ��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

�� ��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

��. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

�� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

�� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

����� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

������� ��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

� � ����� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

��� � ����� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

��� � ����� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

�� �� ����� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

��� �� ����� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

�� ��� ����� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

�� ����� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

FLWOR ��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

FLWOR ���� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

for� let� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

where� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

order by� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

return� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

FLWOR �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

�� v

Page 8: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

���. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

�� ��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

��� ��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

� 5 � �� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

��� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

abs �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

avg �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

boolean �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

ceiling ��. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

codepoints-to-string �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

compare �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

concat �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

contains �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

count �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

current-date �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

current-dateTime �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

current-time �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

data �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

dateTime �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

deep-equal �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

default-collation �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

distinct-values �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

empty �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

ends-with ��. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

exactly-one �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

exists �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

false �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

floor �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

implicit-timezone �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

in-scope-prefixes �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

index-of �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

insert-before ��. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

last �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

local-name �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

local-name-from-QName �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

lower-case �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

matches �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

max �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

min ��. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

name �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

namespace-uri �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

namespace-uri-for-prefix �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

namespace-uri-from-QName �� . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

node-name �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

normalize-space �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

normalize-unicode ��. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

vi IBM DB2 XQuery ���

Page 9: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

not �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

number �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

one-or-more �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

position �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

QName �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

remove �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

replace �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

resolve-QName ��. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

reverse �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

root �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

round �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

round-half-to-even ��. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

sqlquery �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

starts-with �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

string �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

string-join �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

string-length ��. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

string-to-codepoints �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

subsequence �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

substring �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

substring-after �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

substring-before �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

sum �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

tokenize �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

translate �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

true ��. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

unordered �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

upper-case �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

xmlcolumn �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

zero-or-one �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

� 6 � �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

XQuery ��� �� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

�� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

DB2 �� �����(PDF ��) . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

��� DB2 � �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

DB2 ��� �� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

���� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

IBM� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

�� vii

Page 10: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

viii IBM DB2 XQuery ���

Page 11: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

1. ��� �� � � . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2. DB2 XQuery�� �� �� � ���� . . . . . . . . . . . . . . . . . . . . . . 16

3. Generic ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4. Untyped ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

5. String ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

6. numeric ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

7. date, time � duration ��� � . . . . . . . . . . . . . . . . . . . . . . . . . 24

8. �� ��� �. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

9. �� � ���, �� 1(xdt:untypedAtomic�� xs:dateTime��� ��) . . . . . . . . . . . . 27

10. �� � ���, �� 2(xs:time�� xs:NOTATION��� ��) . . . . . . . . . . . . . . . 28

11. DB2 XQuery�� �� �� � ���� . . . . . . . . . . . . . . . . . . . . . . 54

12. DB2 XQuery�� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

13. XQuery ����� � � �� � . . . . . . . . . . . . . . . . . . . . . . . . 57

14. XQuery�� �� �� � �� ���� EBV . . . . . . . . . . . . . . . . . . . . 60

15. DB2 XQuery�� �� ��� ��� ��. . . . . . . . . . . . . . . . . . . . . . . 62

16. DB2 XQuery�� ���� � . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

17. DB2 XQuery�� ���� � ��� . . . . . . . . . . . . . . . . . . . . . . . . 70

18. DB2 XQuery�� ���� �� ��� . . . . . . . . . . . . . . . . . . . . . . . . 70

19. �� ���� �� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

20. ��� �� � �� ��. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

21. �� ��� ��� � XQuery ��� . . . . . . . . . . . . . . . . . . . . . . . 76

22. XQuery�� �� ��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

23. �� ��� ����� �� � . . . . . . . . . . . . . . . . . . . . . . . . . 78

24. XQuery�� �� ��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

25. XQuery�� �� ��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

26. XQuery�� �� �� ��� . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

27. XQuery�� ��� ��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

28. ����� EBV� ���� �� ���� � . . . . . . . . . . . . . . . . . . . . . 84

29. � � �� �� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

30. � ���� �� �� �� . . . . . . . . . . . . . . . . . . . . . . . . . . 89

31. FLWOR ����� for� let� �� . . . . . . . . . . . . . . . . . . . . . . . 107

32. XQuery�� �� �� � �� ���� EBV . . . . . . . . . . . . . . . . . . . 125

33. ����� �� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

34. XQuery �� ��� �� �� . . . . . . . . . . . . . . . . . . . . . . . . . 183

35. XQuery ��, �� � ���� ��� �� �� . . . . . . . . . . . . . . . . . . . 184

36. DB2 �� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

37. DB2 Connect �� �� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

38. WebSphere Information Integration �� �� . . . . . . . . . . . . . . . . . . . . . 188

© Copyright IBM Corp. 2006 ix

Page 12: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

x IBM DB2 XQuery ���

Page 13: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

��

1. XQuery�� �� ��� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2. products.xml ��� ��� �� ��� . . . . . . . . . . . . . . . . . . . . . . 8

3. DB2 XQuery � �� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

© Copyright IBM Corp. 2006 xi

Page 14: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

xii IBM DB2 XQuery ���

Page 15: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� 1 � DB2 XQuery ��

�� ��� �� XQuery ��� ���� DB2® �������� XQuery� �� ��� �����.

XQuery ��

XQuery� W3C(World Wide Web Consortium)� XML ��� ��� �� ���� ���� � �

�� �� ��� �����.

�� ��� �� ��� ��� �� ���� �, XML ���� � ������. XML ����

�� � ��, ����, �� ��� �� ����.

XML ���� ��� �� � ���� XML ���� �� ��� �� ��� �� �� �� �

�� ����. XQuery ��� ��� ��� ��� ���� � � �� � �����. �� �,

�� ��� ���� XML ��� � � � ����.

v � � �� �� �� �� � �� �� XML �

v ���� �� ��� �� ��(�: �� ��� ����)

v �� �� � ��

XQuery�� ��� ��� �� � �����. ��� �� � ��� ��� ��� ���.

��� �� �� � � �� �� � ����. � ��� ��� �� ��� ���� ��� �

� �����. �� �� ��� � � ���� ���� � ���. � ��� ��� �� ��

� ���� ��� �� XQuery ����� � � ����.

2 ���� 1 �� ��� ��� �����. � ���, � ��� �� �� ����. ��

� ��� ���� � �� XQuery ��� ��� ����, ��� � ���� � � ��

�� � � � �� �� � ���� URI� �����. �� ���� price_list �� �

�� ���� � ����. price_list �� ��� price� �� � ���� ��� product

�� �����.

© Copyright IBM Corp. 2006 1

Page 16: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ��

47 ���� � 3 � �� ��

55 ���� � 4 � �����

XQuery� SQL ��

DB2� ���� ��� �� XML ��� �� � SQL, XQuery �� SQL XQuery� ��� ���

� �������� XML ��� �� �����. �� � �� �� ��� ����, �� �

� ��� �� �� �� ����.

XQuery

XQuery� � ���� ��� �� XQUERY� �����. � ��� XQuery� ����

�� ��� DB2 ���� XQuery ��� ���� ���� �� ��� ��� �� ����

�. �� �� XQuery ���� ���� � ���� ����� ���� ���. XQuery �

�� EQL ��� ���� � � ���� SQLCODE � SQLSTATE� �����. XQuery

��� ����� ��� ���� ����. XQuery� DB2 ��� � �� XML ���� �

��� ��� ���� ���� ����. XQuery� SQL ����� ��� � ����. � �

, SQL ��� ��� ��� ���� XML ���� XQuery� � � ����. XQuery�

XML ���� ���� � XML � �(�: � � � )� � �� ��� ���� ����

�. XQuery� ��� ����� SQL�� ��� ���� �� � � ��� � ��

� �� �����.

SQL SQL XML ��� �� � ���� ������ �� �����. �� XML ���

���� �� XML �� �� ��� � ���, ��� XML ��� �� �� �

� � ��, ���� �� �� ��� � ����. ��, � �� ���� XML �� �

��� SQL ����� ��� ���� XML � � � ����. XQuery� ���� XML

1. XQuery�� �� ��� ��

2 IBM DB2 XQuery ���

Page 17: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

���� ���� SQL ���� ���� �� ���� XML ���� ���� ��� ��

���. XML � �� ���� � ����� ��, SQL XML ��� � ��� ��

�� ��� �� ����.

SQL/XML SQL�� XQuery� ���� �� � �� � ��� �����.

XMLQUERY

XMLQUERY� XQuery ���� �� ��� XML ���� ���� ��� ����

�. � ���� SQL � XQuery ���� XQuery ����� ��� � ����

� �����. XMLQUERY� ���� XML SQL ��� ���� ��� � ��

� � ����.

XMLTABLE

XMLTABLE XQuery ���� ���� XML ������ SQL ���� � �� �

�� ����, SQL�� � ��� � ����.

XMLEXISTS

XMLEXISTS� XQuery ���� �� ��� ���� � ���(�� �� � ���)

� ����� ��� ��� SQL �����.

�� ��

�XQuery ��� ���� DB2 ��� ��

XQuery ��� ���� DB2 ��� ��

XQuery��, ��� �� db2-fn:sqlquery� db2-fn:xmlcolumn � ��� ���� DB2 ��������

�� XML ���� � � ����.

�� db2-fn:xmlcolumn �� XML ��� ���, db2-fn:sqlquery� SQL fullselect� ���� ��

XML � ����.

db2-fn:xmlcolumn

db2-fn:xmlcolumn ��� ��� �� � XML ��� ���� �� ��� �� ���

��� � �� XML � ���� �����. � ��� �� ����� �����. ��

��� �� � XML� ��� �� ��� ���. � ��� ���� � ��� ���

� ��� �� XML ��� ��� �� � ����.

�� ��� ��� db2-fn:xmlcolumn ��� ���� BUSINESS.ORDERS ����

PURCHASE_ORDER ��� �� �� �� ��� �����. � �� � �� ���� ��

�� � �� ��� �� ���� ��� �����. ��� � � ���� ��� �� �� �

�����.

db2-fn:xmlcolumn(’BUSINESS.ORDERS.PURCHASE_ORDER’)/shipping_address/city

db2-fn:sqlquery

db2-fn:sqlquery ��� fullselect� ���� �� �� ��� fullselect�� ���� XML

� 1 � DB2 XQuery �� 3

Page 18: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� �� XML ���� �����. fullselect� �� ��� � ��� ��� �� ��� �

�� � XML�� ���. fullselect� ���� SQL �� ���� XML ���� XQuery

� ��� � ����.

�� ��� BUSINESS.ORDERS�� ����� PURCHASE_ORDER�� XML ��� ���

�. � �� ��� db2-fn:sqlquery ��� ���� �� ��� 2005� 6� 15� �� �� �

�� ���� SQL� �����. � �� � �� ���� ���� � �� ��� �� ��

�� ��� �����. ��� � � 6� 15�� ���� ��� �� �� ������.

db2-fn:sqlquery("SELECT purchase_order FROM business.ordersWHERE ship_date = ’2005-06-15’ ")/shipping_address/city

����: db2-fn:sqlquery �� db2-fn:xmlcolumn ��� ���� XML ����� �� � ���

���� �� XML � ��� � ����. ��� ��� �� � ��� �� ���� �

���� ����. �� �, ��� XML ��� �� ���� �� �� (�: 36)� �

� �� ����.

SQL XQuery� �� ���� ��� �� ��� ����. db2-fn:sqlquery � db2-fn:xmlcolumn �

�� ���� ��� ��� ��� �� �� ���.

SQL� ���� �� ��� ����.

���� SQL��� ���� �� �� ID� ���� ���� �����. ���, SQL ��

� � ��� � �� ��� BUSINESS.ORDERS � PURCHASE_ORDER� �� ����

� ��� ����. SQL��� ��� business.orders � purchase_order� �� ��� �

�� ��� � ���, SQL�� ���� �� ���� ���� �����. (�� �� ��

�� �� ���� SQL�� �� ID�� ���� �� �� � �� ����.)

XQuery� ����� ��� ����.

XQuery� ��� �� ���� ���� ����. ��� �� ��� XQuery� SQL� ��

���� � ��� � � ����. db2-fn:sqlquery� �� �� SQL ��� ����,

�� �� ���� ���� SQL �� ���� �� �� �����. ��� db2-fn:sqlquery

���� ��� � business.orders� �� � purchase_order � ship_date� ��� �� �

��� ��� � ����. �� db2-fn:xmlcolumn� ����� SQL ��� ����. ���

�� ����� ���� ��� �� ���� XQuery �� ������. ��� � �

BUSINESS.ORDERS.PURCHASE_ORDER��� � � db2-fn:xmlcolumn� ������

���� ���� ���.

�� ��

2 ���� �XQuery� SQL ���

�� ��

180 ���� �xmlcolumn ���

166 ���� �sqlquery ���

4 IBM DB2 XQuery ���

Page 19: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

XQuery � XPath ��� ��

XQuery ��� XQuery � XPath ��� ��(XDM)� ���� �� ���� ��� ��� ��

�� �����. XDM �� ��� XML �� �� ��� � ��� �����. ��� �� ��

��� ���� � ���� XQuery�� ���� �� ���� � �����.

XDM��� XML ��� �� �� � ��� �� ��� �� � XQuery� ���� ����

�� �����. ��� ��� � �� �� �� XML ��� �� ���� XDM� ���� ���

��. ��� �� �� �� �� �� �� �� �� �� �� ����.

XDM �� ��� ���� �����.

�� ��

14 ���� �XDM� � ���

��� � ��

XDM� ���� ������. ���� 0� �� ��� �� �����. �� �� �� ���

��.

���� ��, �� �� ��� �� � ��� �� � ����. �� �, �� ����

��.

v 36

v <dog/>

v (2, 3, 4)

v (36, <dog/>, "cat")

v ()

v XML ��

�: ��� �� ��� ���� XQuery�� ���� � �� � ���� ��� �� ���� ��

��. ���� � �� �� �����. �� ���� �� �� � ����. � �� � �

���� ����. ��� ���� �� �� ��� � �� ���� �����. ��

�, ��� (36) �� 36 �� � ����.

���� ��� ����. ���� ���� � � �� ��� �� � � ������. ��

�, ��� (2, 3)� ��� (3, 5, 6)� ���� � � �� ��� (3, 5, 6, 2, 3)���. ���� ��

� ��� ����, � ��� � � (3, 5, 6, (2, 3))� �� ����.

��� 0� ���� � ����� ���. � ���� ���� � � �� ��� ���� � ��

���.

�� ��

73 ���� ���� ����

� 1 � DB2 XQuery �� 5

Page 20: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

64 ���� ����� �� ����

82 ���� ��� ���

�� �

�� XML ��� ��� �� �� ��� �� ������. ��� ��� � ��, �

�, 10��, �� � �� �� �� �����. ��� � � �� �� � ��� ��� ����

�.

��� �, �� ID� ��� ����. �� � �� ���(�: �� 7) � �� �

���� �����.

�� �� �� � � �� � �� ��� ����.

v ���� ����� ����� �� ���. ���� ����� �� ���� ��� ��

���.

v �� �� �� ���� ���. XQuery�� ��� �� �� �����. �� �, �� ���

�� �� �����.

– ″this is a string″(� xs:string)

– 45(� xs:integer)

– 1.44(� xs:decimal)

v ����� ��� �� ���. �� �, �� ����� ��� �� ″2005-01-01″��� � xs:date

� � �����.

xs:date("2005-01-01")

v �� �� fn:true() � fn:false()�� ���. ��� ��� �� true� false� �����.

� ���� ��� � ����.

v �� �� ���(�: �� ��� � ���)�� �����.

�� ��

58 ���� �����

21 ���� � 2 � �� ����

55 ���� � 4 � �����

26 ���� ��� ��� �� ����� ���

�� ��

61 ���� �����

178 ���� �true ���

138 ���� �false ���

6 IBM DB2 XQuery ���

Page 21: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� �� ��

���� ��� �� ��� �� ���� � �� ����� �� � �� �� ��� � ��

�� ��� �� �� �� ��� ���. �� ��� � ��� �� ��� ���, �� �� ��

� � ��� �� ��� ����. DB2� 6 ��� ��(��, �, � , ���, �� ��� � ��)�

�����.

�� XML �� products.xml�� products�� �� �� ��, �� product �� ����.

� product ��� pid(product ID)�� � description��� � �� ����. description

��� name � price�� � �� ����.

<products><product xmlns="http://posample.org" pid="10">

<description><name>Fleece jacket</name><price>19.99</price>

</description></product><product xmlns="http://posample.org" pid="11">

<description><name>Nylon pants</name><price>9.99</price>

</description></product>

</products>

8 ���� 2� products.xml� ��� ��� ����� �����. � �� �� ��(D), �

��(E), � ��(A) � ��� ��(T)� ����.

� 1 � DB2 XQuery �� 7

Page 22: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

��� � � ���, ��� � ��� � ��� �� � ���� �� ��� �� �� ���

���. � ��� � product� products� � �����. � description product� � �

����. � name price� � description� � �����. � Fleece Jacket ��� �

�� � name� � ���, ��� �� 19.99� � price� � ����.

�� ��

12 ���� ���� �� ���

9 ���� ��� ���

�� ��

66 ���� ��� ����

76 ���� ��� ��� ��� � ����

pid

<name>

Fleece jacket Nylon pants19.99 9.99

<name><price> <price>

<product> <product>

products.xml

<description> <description>

pid

<products>

E

E

D

A A

E

E

T T T T

EE E

E

E

2. products.xml ��� ��� �� ���

8 IBM DB2 XQuery ���

Page 23: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� �� ��

� ���� ��� � � ���� �� ��� ����. �� �, ��� �� ���� ��� �,

� ��, � ��, � � ��� ���� �� ��� ��� � ����. �� ��� �� ��

� �� ���� �� ��� ����.

��� �� �� �� � �� ��� �� � ����.

v �� �� - QName�� ���� ��� �

v � �� - �� ��� � ��

v �� �� - ��� ��(���) �(�� ����� �)

v �� - �� ��� � �� �� ���

v �� - �� ��� ��� � ��� ��

v ��� � - ���� �� � �� ��

v �� � - ���� �� � �� 0� ��� �� �� � �� ���

v � � �� ���� - ��� ��� � � � ����

v ��� - ��� ��

�� ��

��� ���

13 ���� ���� � � �� �

�� ��

DB2� 6 ��� ��(��, �, � , ���, �� ��� � ��)� �����.

�� ��

7 ���� ��� �� ���

�� ��

85 ���� �������

�� ��

�� ��� XML ��� �����.

�� ��� 0� ��� � ��� �� � ����. � � � ��, �� ��� ��, �� �� �

��� ��� �� � ����.

�� ��� �� �� ��� �� � ��� ��� �� ��� ��� � ����. ��

� � xs:string���. �� ��� � �� ���, �� � � �

xdt:untypedAtomic���.

�� ���� �� � �� �� ��� ����.

v � , �� �� � � ��

� 1 � DB2 XQuery �� 9

Page 24: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

v ��

v �

�� ��� XQuery ����� ��� ������ ���� � � ����. �� ��� ����

db2-fn:xmlcolumn ����� �����.

�� ��

9 ���� ��� �� ���

�� ��

97 ���� ��� �� ������

180 ���� �xmlcolumn ���

�� ��

� ��� XML �� �����.

� ���� � ��� ��� �� ���, 0� ��� � ��� �� � ����. � � � �

�, �� ��� ��, �� �� � ��� ��� �� � ����. �� � � ��� � ��� �

� � � ����. �� � ��� � � � � � � ����. � ��� � �� ��� QName

� �� ���.

� ���� �� � �� �� ��� ����.

v �� �

v � , �� �� � � ��

v � �

v � , �� �� � � ��

v � , �� �� � � ��

v ��

v �

v � � � ����

� ��� XQuery ����� � �� ��� ������ ���� � � ����.

� ��� � � �� ��� � �� ��� ��� �����. �� �, � ���

� � �� �� xs:decimal � �� ″47.5″� �� �, � 10�� 47.5���. �

��� � � �� ��� xdt:untyped � �� � �� ���, �

xdt:untypedAtomic���.

�� ��

9 ���� ��� �� ���

10 IBM DB2 XQuery ���

Page 25: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ��

� ��� XML � � ����.

� ���� � ��� ��� �� ����. � � �� � ��� � ��� � �� �

� ����� � � � � �� ��� �����.

� ���� �� � �� �� ��� ����.

v �� �

v � , �� �� � � ��

v � �

v ��

v �

� ��� XQuery ����� � �� ��� ������ ���� � � ����.

� ��� � � �� ��� � �� ��� ��� �����. �� �, � ���

� � �� �� xs:decimal �� ″47.5″� �� �, � 10�� 47.5���.

�� ��

9 ���� ��� �� ���

�� ��

96 ���� ���� � ������

87 ���� �� � ������

��� ��

��� ��� XML �� ��� �����.

��� ���� � ��� ��� �� ����. �� �� � ��� � ��� ��� �� �

� ���� ����. �� �� � ��� � � � �� ��� ��� �� ��� ��� ���

��. � ��� ��� �� ��� �����.

��� ���� �� � �� �� ��� ����.

v ��, �� �� � � ��

v � , �� �� � � ��

��� ��� XQuery ����� ��� ������ ���� � ��� � � ������ ��

�� � � ����.

�� ��

9 ���� ��� �� ���

�� ��

98 ���� ���� �� ������

� 1 � DB2 XQuery �� 11

Page 26: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ��� ��

�� ��� ��� XML �� ���� �����.

�� ��� ���� � ��� ��� �� ����. �� ���� ���� ?> ��� �� �

����. �� ���� ��� NCName�� ���. (��� ���� ��� �� ����� �

��� � �����.)

�� ��� ���� �� �� �� ��� ����.

v ��

v ��

v � ��, �� �� � � ��

�� ��� ��� XQuery ����� � �� ��� ������ ���� � � ����.

�� ��

9 ���� ��� �� ���

�� ��

99 ���� ��� ��� ������

�� ��

�� ��� XML ��� �����.

�� ���� � ��� ��� �� ����. �� ��� ��� �� ″--″(��� �)� ��

� ���, ��� ��� ���(-)� � � ����.

�� ���� �� � �� �� ��� ����.

v ��

v � , �� �� � � ��

�� ��� XQuery ����� � �� ��� ������ ���� � � ����.

�� ��

18 ���� ����

9 ���� ��� �� ���

�� ��

101 ���� ��� ������

��� �� ��

�� ��� �� ��� �� ���� ��� ����, � ���� � ��� � ���� �� ���

��. �� ��� �� �� ��� � ��� XML� ��� � ��� ���� ��� �����.

��� �� ��� �����.

12 IBM DB2 XQuery ���

Page 27: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

v �� ��� � �����.

v � ��� � ���� �� �����.

v � ��� ��� � �� �� ��� �����. � ��� ��� ��� �����, � ���

��� ���� �� ��� ����.

v � � ��� ��� �� �� ���� � ��� �� �����.

v ��� � �� � � � � �� ��� � ���� �� �����.

�� ��

7 ���� ��� �� ���

�� ID

� ���� ��� ID� ����. ��� � � � ��� �� ����. ���, ��

ID� ��� ����.

�� ID� ID � � �� ����. XML ��� �� �� � �� ID � � �� �� �

����. �� �� ID� ���� �� ��� ���� ����, ���� � � � ����.

�� ID� �� �� ���� ���� � �����.

v �� ��. �� ID� is ���� ��� ID� �� ��� � �����.

v �� ���. �� ID� �� ���� ��� ��� ���� � �����.

v ��� ���. �� ID� union, intersect �� except ���� ��� ��� ���� � ����

�.

�� ��

83 ���� ��� ���

66 ���� ��� ����

73 ���� ���� ����

��� �� � � ��� �

� ���� � �� � � � ����. ��� �� ��� �� XQuery ��(��� �)

� ��(fn:data, fn:string � fn:deep-equal �)� ��� �����.

� 1. ��� �� � �

�� �� ��� � �� �

�� �� � � � ��� ��� �� ��� ��� �

� xs:string ��� �� ���

�� � � � ��� ��� �� ��� ��� �

� xdt:untypedAtomic ��� �� ���

� 1 � DB2 XQuery �� 13

Page 28: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� 1. ��� �� � � (��)

�� �� ��� � �� �

�� � ��

��� �v �� ��� �(xs:decimal �) �� �� ���

�� �(��� xs:decimal ″temperature″ �)

� �� �� �� ��� �, �� �

� XML ���� �� �� � ���� ��

���.

v �� ��(���� � � � �)� �� � �

� �� �� �� �� ��� �, ��

�� ���� �� ��� ��� ��

xs:string ��� �� ������.

v ��(���� � � � �)� ���� �� �

� �� �� �� ��� �, �� ��

� �����.

v � �(���� ��)� ����� ��� ��

�� �� �� ��� �, �� ��

�� ��� �� � � �� �� ��� ��

� �� �� � ���.

v �� ��� �(xs:decimal �) �� �� ���

�� �(��� xs:decimal ″temperature″ �)

� �� �� �� ��� �, � ��

� �� � ����� ��� �� �(�

: xs:decimal)�� ���� � ���.

v �� ��(���� � � � �)� �� � �

� �� �� �� �� ��� �, �

�� ��� �� � � �� �� ��� ��

� �� xdt:untypedAtomic ��� �� ���

���.

v ��(���� � � � �)� ���� �� �

� �� �� �� ��� �, � �

������.

v � �(���� ��)� ����� ��� ��

�� �� �� ��� �, �� � �

�� ��� � � ����� ��(�� �,

fn:data ��� ����)� � � ��� ���.

�� � ��

� � ���

�� ��� �� � � �� �� ��� ��� �

� xs:string ��� �� ���

�� ��� �� � � �� �� ��� ��� �

� xdt:untypedAtomic ��� �� ���

�� � ��

��� �

�� XML ��� � � ���� xs:string ���

�� ���

�� � �� � ��� �� � � ��� �

�� ���� � . �� �, � � xs:decimal �

��� �� ��� �, � � � ��

�� ″74.8″� �� � ��� 74.8� ���.

�� � ��

� � ���

�� XML ��� � � ���� xs:string ���

�� ���

�� XML ��� � � ����

xdt:untypedAtomic ��� �� ���

��� xs:string ��� �� ��� �� xdt:untypedAtomic ��� �� ��� ��

�� xs:string ��� �� ��� �� xs:string ��� �� ��� ��

�� ��� xs:string ��� �� ��� �� xs:string ��� �� ��� ��

�� ��

9 ���� ��� �� ���

58 ���� �����

12 ���� ���� �� ���

9 ���� ��� ���

XDM� �� ��

XQuery ���� � � XDM� �����, � ����� ����� �� XML ���� ��� �

����.

14 IBM DB2 XQuery ���

Page 29: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� �� �� �� ��� � �� (XDM� ���)� XML ���� �����. � �� � �

�� �� � �� ��� ����� ����. ��, � ��� � � �� �� (�: 17)� ��

� ��� � � �� �� ���� � � ����.

XQuery� XDM� �� ��� ��� ���� ����. XDM� XML ���� � ���� ��

��� �� ��� �� ����. �� �, CLP(��� ����)� � �� ��� ��� � ��

� � ��� �� � ��� ��� ���� �����. �� �, CLP�� �� XQUERY (1, 2, 3)

� ���� ���� � � �� ����.

123

� �� SQL/XML �� XMLSERIALIZE� ���� ��� � ����.

�� ��

5 ���� �XQuery � XPath ��� ���

XML �� ���� � QNameXML � ����� �� ���� �� �����. XML � ����� � ���� URI� ��

�� �� �����. � ����� XQuery�� �, � , ��� � � ��� ���� ��

�� ��� �����. � ���� � �� ���� �� ��� �(QName)��� ���.

�� ��

53 ���� �� ���� ��

91 ���� �� ���� � � �

94 ���� �� � �� � � � �����

��� ��(QNames)

QName � � ���� � �� �� ��� � ���. � ���� � �� �� � �

��� �����. � ���� � �� URI(Universal Resource Identifier)� ���� URI� ��

� ��� �����.

��� ���� �� XQuery� QName� �� � ���� � �� ��� URI� �����.

�� QName � ���� URI� �� �� �����. � ���� URI� �� �� �

QName �����. � � �� �� � �� � � ���� URI� ��� �� QName

����.

�� �� QName� �����.

v ns1:name

v ns2:name

v name

� 1 � DB2 XQuery �� 15

Page 30: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� ��� ns1 URI http://posample.org� ��� � ���� . � � ns2� URI

http://mycompany.com� ���� ����. ��� � � ����� ns1 � ns2� ��� URI�

�� � URI���. � � � � �� � name���.

<ns1:name>This text is in an element named "name" that is qualifiedby the prefix "ns1".</ns1:name>

<ns2:name>This text is in an element named "name" that is qualifiedby the prefix "ns2".</ns2:name>

<name>This text is in an element named "name" that is in the defaultelement namespace.</name>

� ��� � � �� � name� ����� � � ����� ���� ��� ���� �

���. ���� ���� �� � ns1:name ns1� ��� URI� �� � name� ���� �

�� ����. ����� � ns2:name ns2� ��� URI� �� � name� ���� ���

����. � �� �� � name � �� ���� ����� ��� � � ����� ��

���. �� URI� ���� � � �� ���� ��� ��� �����.

QName(��� �) W3C recommendation Namespaces in XML�� ��� ��� �����.

�� ��

����� ��� � �����

�� ��

53 ���� �� ���� ��

161 ���� �resolve-QName ���

���� ��� �� ����

� ���� � �� � ���� �� �� URI� �����. �� ����� QName� ���

���� ��� � ���� � ��� ���� ��� � ������ ���. ���� ���

� ����� �� ���� �� ���� ����� ���� ���� �����.

�� � ���� � �� �� ��� ����. � � �� � � �� � �������

��� �� � ����. DB2�� �� ����� ���� �� �� � ���� � �� �

���.

� 2. DB2 XQuery�� �� �� � ����

��� URI ��

xml http://www.w3.org/XML/1998/namespace XML �� � ����

xs http://www.w3.org/2001/XMLSchema XML �� � ����

xsi http://www.w3.org/2001/XMLSchema-instance XML �� ��� � ���

fn http://www.w3.org/2005/xpath-functions ��� �� � ����

xdt http://www.w3.org/2005/xpath-datatypes XQuery � � ����

db2-fn http://www.ibm.com/xmlns/prod/db2/functions DB2 �� � ����

16 IBM DB2 XQuery ���

Page 31: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� �� � ���� ��, ���� ��� � ���� ��� �� � ����� ��� �

����.

v �� � ��� � ���� � �� ��� � ���� �� ���� ��. �� �� �

���� � � ���� � � ns1� URI http://mycompany.com� ��� ��.

declare namespace ns1 = "http://mycompany.com";

�� �� default element/type namespace � � �� �� ��� � �� �� URI� ��

���.

declare default element namespace "http://posample.org";

v � ������� � ���� � � �� ��. �� �� � � �� � ��� � �

ns2� URI http://mycompany.com� ���� � ���� � � � ���� � ������

��.

<ns2:price xmlns:ns2="http://mycompany.com">14.99</ns2:price>

v SQL/XML�� ���. SQL/XML �� � ���� ��� �� � ����.

– SQL/XML �� �� � ����

– SQL/XML ����� � �� SQL/XML ����� �� � ����

SQL/XML� ���� � ����� � � �� � ������ �� � ���� ��� �

�� � ����. � ��� �� � ����� � ������ � ���� � � ��

��� � ����.

�� ��

15 ���� ���� �(QNames)�

�� ��

53 ���� �� ���� ��

91 ���� �� ���� � � �

94 ���� �� � �� � � � �����

�� ��

XQuery �� �� �� ���� �����.

���� ��

XQuery� ����� ���� �����.

XQuery� ��� ���� ���� ���� ����. XQuery ����� � ��� ��� ��

� ����.

�� ��

3 ���� �XQuery ��� ���� DB2 ��� ��

� 1 � DB2 XQuery �� 17

Page 32: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

��

��� ��� ��� ��� �� ��� ���� XQuery ����� �� � ���� � ���

�����. �� �� ��(X‘20’), ��� ��(X‘0D’), � ���(X‘0A’) � �(X‘09’)�� � ���.

��� ���� �� � ��� ���� ����� �� ���� � �� ����.

v ��� �� ���� ����.

v �� �� ���� �� ��� ��� ��� ��� ���� ���.

v ��� � ������ ����. � �� boundary-space � � ������� ��� ��

� ��� ����.

�� �, �� ������ �� � � ��� ���.

v name- name� � � �����. �� ���� name� �� QName(��� �)�� ���� �

��� ��� ��� �����.

v name -name� � � ��� ����. �� ���� � name QName�� ��� �� ��

(-)� ���� �� �� � name � QName�� ����.

v name-name� � � ��� ����. ��, QName��� ���(-)� ��� ����� � ���

�� QName�� �� �����.

v �� ���� � � � �����.

– 10 div3

– 10div3

��� ����� �� ���� � ��� �� ���� �� � ����.

�� ��

92 ���� �� � ������� ���� �� ���

48 ���� �boundary-space ��

��

�� � � � �� ���� �����. �� �� ���� ��� �� ����.

�� �� (: :) ��� ��� � ���. �� �� XQuery� �����.

(: A comment. You can use comments to make your code easier to understand. :)

DB2 XQuery�� ��� ����� �� � �� ��� �����.

v �� �� � �� ��� ���� �� ��� �� ����. �� � �� �� ���� �

� ��� �� �� �����.

v �� ����� ����� ���� ����.

v �� �� �� � ��� �� ���� ��� � �� ���� (: :)� �� ���.

�� �� �� �� � � � ��� �� ��� �����.

18 IBM DB2 XQuery ���

Page 33: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

v (: is this a comment? ::)� �� �����.

v (: is this a comment? ::) or an error? :)� �� �� (: :)� �� �� ���� � �

�����.

v (: commenting out a (: comment :) may be confusing, but often helpful :)� �� ��

�� ��� ����� �� �����.

v "this is just a string :)"� �� ������.

v (: "this is just a string :)" :)� � � �����. �����, "this is another string (:"

�� ������ (: "this is another string (:" :)� � � �����. ��� ���

� � �� �� �� �� ��� � � ����.

�� ��

12 ���� ��� ���

�� ��

101 ���� ��� ������

XQuery� �� ��� ��� �� �

DB2 XQuery� �� �� ��� �� ��� ��� �� ��� ������.

v XQuery 1.0

World Wide Web Consortium. XQuery 1.0: An XML Query Language. W3C Candidate

Recommendation, 03 November 2005. www.w3.org/TR/2005/CR-xquery-20051103/� ������.

v XQuery 1.0 � XPath 2.0 ��� ���

World Wide Web Consortium. XQuery 1.0 and XPath 2.0 Functions and Operators. W3C Candidate

Recommendation, 03 November 2005. www.w3.org/TR/2005/CR-xpath-functions-20051103/� ���

���.

v XQuery 1.0 � XPath 2.0 ��� ��

World Wide Web Consortium. XQuery 1.0 and XPath 2.0 Data Model. W3C Candidate

Recommendation, 3 November 2005. www.w3.org/TR/2005/CR-xpath-datamodel-20051103/� ���

���.

v XML �� �� ��

World Wide Web Consortium. XML Query Use Cases. W3C Working Draft, 15 September 2005.

www.w3.org/TR/xquery-use-cases/� ������.

v XML ���

World Wide Web Consortium. XML Schema, Parts 0, 1, and 2. W3C Recommendation, 2 May 2001.

www.w3.org/TR/2001/REC-xmlschema-0-20010502/, www.w3.org/TR/2001/REC-xmlschema-1-20010502/

� www.w3.org/TR/2001/REC-xmlschema-2-20010502/� ������.

� 1 � DB2 XQuery �� 19

Page 34: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

v XML ��

W o r l d W i d e W e b C o n s o r t i u m . N a m e s p a c e s i n X M L . W 3 C R e c o m m e n d a t i o n .

www.w3.org/TR/REC-xml-names/� ������.

20 IBM DB2 XQuery ���

Page 35: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� 2 � �� ���

XQuery� ��� ���� ����, ��� � ��� ��� �� ��� �� ��� � ����

�. DB2 XQuery� � ����� XML ��� �� � � XQuery� �� ��� �� ����

�.

XML ��� �� � � ���� http://www.w3.org/2001/XMLSchema� ���, � ��� �

� �� � ���� � �� xs���. �� �� �� �� ��� xs:integer, xs:string � xs:date

� ����.

XQuery� �� ��� � � ���� http://www.w3.org/2005/xpath-datatypes� ���, � �

����� �� �� � ���� � �� xdt���. XQuery� �� ��� �� �� ���

xdt:untypedAtomic, xdt:yearMonthDuration � xdt:dayTimeDuration� ����.

� ��� ��� ��� ��� ������ � �� �� ��� �� � ���� � ���

� �� �� �� ��(lexical form)� ����.

�� ��

183 ���� �XQuery ��� �� ���

�� �� ��

DB2 XQuery � �� ��� XQuery ����� �� � �� �� �� �����.

22 ���� 3� �� ��� ��� �� � ��� �� �����. �� �� �

xdt:anyAtomicType ��� ��� �����. ��� � ��� �� � �� �� ��

���.

© Copyright IBM Corp. 2006 21

Page 36: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

��� ��

DB2 XQuery�� �� �� ��� ����. generic, untyped, string, numeric, date, time, duration

� ��

xs:NOTATION

xs:QName

xs:anyURI

xs:base64Binary

xs:hexBinary

xs:boolean

xs:positiveInteger

xs:unsignedByte

xs:unsignedShort

xs:unsignedInt

xs:unsignedLong

xs:float

xs:double

xs:decimal

xs:integer

xs:string

xs:anySimpleType

xdt:untyped

xdt:untypedAtomic

xdt:anyAtomicType

xs:anyType

xs:nonNegativeInteger

xs:byte

xs:short

xs:int

xs:long

xs:negativeInteger

xs:nonPositiveInteger

xs:gMonth

xs:gDay

xs:gMonthDay

xs:gYear

xs:gYearMonth

xdt:dayTimeDuration

xdt:yearMonthDuration

xs:token

xs:normalizedString

xs:NCName

xs:Name

xs:NMTOKEN

xs:language

xs:ENTITY

xs:IDREF

xs:ID

xs:duration

xs:time

xs:date

xs:datetime

3. DB2 XQuery � �� ��

22 IBM DB2 XQuery ���

Page 37: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

Generic ��� ��

� 3. Generic ��� �

�� ��

30 ���� �anyType ��� �� xs:anyType ��� � 0� ��� ��� 0� ��� ��

�� � �� ���� �����.

30 ���� �anySimpleType ��� �� xs:anySimpleType ��� � ��� �� �� � ��

����� ����. � ��� � �� �� �� ��

�� ��� �����. �� �� ���� �� � �

��� � � ����.

30 ���� �anyAtomicType ��� �� xdt:anyAtomicType ��� � �� � �� � �� �

���� ����. � ��� � �� �� �� �� �

�� �����. �� �� ���� ��, �� �� �

�� � �� � �� �� ���.

untyped ��� ��

� 4. Untyped ��� �

�� ��

44 ���� �untyped ��� �� xdt:untyped ��� � XML ��� �� � ��� �

��� �����.

44 ���� �untypedAtomic ��� �� xdt:untypedAtomic ��� � XML ��� �� � �

�� � �� � �����.

String ��� ��

� 5. String ��� �

�� ��

43 ���� �string ��� �� xs:string ��� � ��� ����.

41 ���� �normalizedString ��� �� xs:normalizedString ��� � �� ��� ��� ��

��.

43 ���� �token ��� �� xs:token ��� � ���� ��� ����.

40 ���� �language ��� �� xs:language ��� � RFC 3066�� ��� ��� ID�

����.

41 ���� �NMTOKEN ��� �� xs:NMTOKEN ��� � XML 1.0(3)� NMTOKEN �

�� ����.

40 ���� �Name ��� �� xs:Name ��� � XML �� ����.

40 ���� �NCName ��� �� xs:NCName ��� � ��� �� XML �� ���

�.

39 ���� �ID ��� �� xs:ID ��� � XML 1.0(3)� ID � �� ���

�.

39 ���� �IDREF ��� �� xs:IDREF ��� � XML 1.0(3)� IDREF � ��

����.

36 ���� �ENTITY ��� �� xs:ENTITY ��� � XML 1.0(3)� ENTITY � �

� ����.

� 2 � � ��� 23

Page 38: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

numeric ��� ��

� 6. numeric ��� �

�� ��

34 ���� �decimal ��� �� xs:decimal ��� � 10��� ��� � �� �� �

��� ����.

36 ���� �float ��� �� xs:float ��� � IEEE ���� 32�� �� �� �

� �� ������.

34 ���� �double ��� �� xs:double ��� � IEEE ��� 64�� �� �� �

� �� ������.

39 ���� �int ��� �� xs:int ��� � 2 147 483 647�� ��� �� -2 147 483

648�� ��� � ��� ����.

41 ���� �nonPositiveInteger ��� �� xs:nonPositiveInteger ��� � 0�� ��� � ��� �

���.

40 ���� �negativeInteger ��� �� xs:negativeInteger ��� � 0�� � ��� ����.

41 ���� �nonNegativeInteger ��� �� xs:nonNegativeInteger ��� � 0�� ��� � ���

����.

40 ���� �long ��� �� xs:long ��� � 9 223 372 036 854 775 807�� ��

� �� -9 223 372 036 854 775 808�� ��� � ���

����.

40 ���� �integer ��� �� xs:integer ��� � 9 223 372 036 854 775 807�� �

�� �� -9 223 372 036 854 775 808�� ��� � ��

� ����.

42 ���� �short ��� �� xs:short ��� � 32 767�� ��� �� -32 768�� �

�� � ��� ����.

31 ���� �byte ��� �� xs:byte ��� � 127�� ��� �� -128�� ��� �

��� ����.

44 ���� �unsignedLong ��� �� xs:unsignedLong ��� � 9 223 372 036 854 775 807

�� ��� � �� �� ��� ����.

44 ���� �unsignedInt ��� �� xs:unsignedInt ��� � 4 294 967 295�� ��� �

�� �� ��� ����.

44 ���� �unsignedShort ��� �� xs:unsignedShort ��� � 65 535�� ��� � �� �

� ��� ����.

44 ���� �unsignedByte ��� �� xs:unsignedByte ��� � 255�� ��� � �� ��

��� ����.

42 ���� �positiveInteger ��� �� xs:positiveInteger ��� � 1�� ��� � �� ���

����.

date, time � duration ��� ��

� 7. date, time � duration ��� �

�� ��

35 ���� �duration ��� �� xs:duration ��� � ����� �, �, �, �, �, � �

�� ��� ����� ����.

24 IBM DB2 XQuery ���

Page 39: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� 7. date, time � duration ��� � (��)

�� ��

44 ���� �yearMonthDuration ��� �� xdt:yearMonthDuration ��� � ����� � � � �

�� ��� ����� ����.

33 ���� �dayTimeDuration ��� �� xdt:dayTimeDuration ��� � �, �, �, � � �� �

�� ����� ����.

32 ���� �dateTime ��� �� xs:dateTime ��� � �� �� ���� �, �, �, �,

� �� ��� 10�� �� ���� � ���� � � �

�� ���� �� ���� ����.

31 ���� �date ��� �� xs:date ��� � ��� �� ���� ���� ��

�� ��� ����. xs:date ��� � ���� ��

�� �, �, � �� ��� � ��� ���� � ���.

43 ���� �time ��� �� xs:time ��� � �� ���� ��� ���� ��

��.

38 ���� �gYearMonth ��� �� xs:gYearMonth ��� � �� ���� �� �� ��

�� �� ����. ����� � ISO 8601�� ���

��.

38 ���� �gYear ��� �� xs:gYear ��� � �� ������ ����. ��

��� � ISO 8601�� �����.

38 ���� �gMonthDay ��� �� xs:gMonthDay ��� � ���� ��� ������ �

���. �� ��� ISO 8601�� �����.

37 ���� �gDay ��� �� xs:gDay ��� � ���� �� ������ ����.

����� � ISO 8601�� �����.

37 ���� �gMonth ��� �� xs:gMonth ��� � �� ���� ������ ��

��� ���� ����. ����� � ISO 8601�� �

����.

�� ��� ��

� 8. �� ��� �

�� ��

31 ���� �boolean ��� �� xs:boolean ��� � ��� ���� true� false� �

�� ��� �����.

30 ���� �anyURI ��� �� xs:anyURI ��� � URI(Uniform Resource Identifier)�

����.

42 ���� �QName ��� �� xs:QName ��� � XML� ��� �(QName)� ��

��. QName � � ���� � �, XML � �

���� ���� URI � NCName �� ��� �����.

42 ���� �NOTATION ��� �� xs:NOTATION ��� � XML 1.0(3)� NOTATION �

�� ����.

39 ���� �hexBinary ��� �� xs:hexBinary ��� � 2�� ���� ��� 16���

����.

30 ���� �base64Binary ��� �� xs:base64Binary ��� � base64� ��� ���� �

��� ����.

� 2 � � ��� 25

Page 40: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ��

27 ���� �� ����

�� ��� ��� ����� ��

����� ��� � �� �� ���� � �� �� ���� �����. ����� ���

����� ��� XML ���� ��� � �� �� �� �� �����. ����� ��� ��

xdt:untypedAtomic ��� � � �� ��� ��� � xdt:yearMonthDuration xdt:dayTimeDuration

� ���� �����.

����� ��� xs:NOTATION, xs:anyType, xs:anySimpleType �� xdt:anyAtomicType� ���� �

� � ����.

�� �� �� �� ����� ��� �� �� ��� �����.�� type-name(value) ��

�: ����� �� type-name(value)� ��� ��� (value cast as type-name?) ���� �����.

type-name

�� ��� �� QName

value

�� ��� �� ���� � � . ���� � � �����. ��� � � � ����� �

���� �����. ��� � � � ��� ���� � ����� ��� �����. �� �

�� � �� � �� ��� ������. � ��� ��� � �� �� �� ���

��� 27 ���� �� ����� ������.

�� �, �� ��� XML �� ��� � xs:unsignedInt� �� ����� ��� ��� �

���.�� xs:unsignedInt(value) ��

� ����� ��� �� � �� �� ��� ��� ���� ���� � �� �� ���.

�� �, �� �� � ��� ���� ��� � xs:unsignedInt 12� �����.

xs:unsignedInt(12)xs:unsignedInt("12")

� ��� �� ��� 12� ����� ��� ����. ���� ��� ���� xs:integer� �

� ����, xs:integer xs:unsignedInt ��� ������. � ���� �� ��� ″12″�

����� ��� ����. �� ��� xs:string�� �� ����, xs:string � xs:unsignedInt

��� ������.

26 IBM DB2 XQuery ���

Page 41: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

����� ��� ��� �� ��� �� ����. � �� DB2 XQuery� ��� ����� �

� ��� �� �� ������ �����. ������ �� � �� ��� ��� ��

� � ��� ��� �����.

xs:QName� �� ����� ��� �� �� ���� ��� ��� ����� ��� �� ��

����.

�� ��

58 ���� �����

�� ��

117 ���� ���� ����

�� ����

�� ���

� �� xdt:untypedAtomic, xs:integer, xs:duration�� ��� �(xdt:yearMonthDuration

xdt:dayTimeDuration) � XMA ���� ��� 19�� �� � ���� �����. � �� �

�� ��� � ����� ��� �����.

���� � ��� �� ����� �����. � ��� � ��� �� �� �� ��� ��

�� � ��� �� �� �� � �����. � ����� xdt:untypedAtomic�� xs:dateTime

��� ��� ��� � ����� xs:time�� xs:NOTATION��� ��� ����.

���� ��� �� � �� � ��� ����.

Y �. �� � �� �� � ��� ��� ���� �����.

N ���. �� � �� �� � ��� ��� ���� ��� �����.

M �. �� � �� �� ���� ��� �� � ���� ��� � � ����

��� ����.

xs:anySimpleType �� xdt:anyAtomicType ��� � ���� ��� ��� � � ����.

���� �� ���� ���� ��� �����.

� 9. �� � ���, �� 1(xdt:untypedAtomic�� xs:dateTime��� ��)

�� ��

� ��

�� ��� ��

uA string float double decimal integer dur yMD dTD dT

uA Y Y M M M M M M M M

string Y Y M M M M M M M M

float Y Y Y Y M M N N N N

double Y Y M Y M M N N N N

decimal Y Y Y Y Y M N N N N

integer Y Y Y Y Y Y N N N N

� 2 � � ��� 27

Page 42: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� 9. �� � ���, �� 1(xdt:untypedAtomic�� xs:dateTime��� ��) (��)

�� ��

� ��

�� ��� ��

uA string float double decimal integer dur yMD dTD dT

dur Y Y N N N N Y Y Y N

yMD Y Y N N N N Y Y N N

dTD Y Y N N N N Y N Y N

dT Y Y N N N N N N N Y

time Y Y N N N N N N N N

date Y Y N N N N N N N Y

gYM Y Y N N N N N N N N

gYr Y Y N N N N N N N N

gMD Y Y N N N N N N N N

gDay Y Y N N N N N N N N

gMon Y Y N N N N N N N N

bool Y Y Y Y Y Y N N N N

b64 Y Y N N N N N N N N

hxB Y Y N N N N N N N N

aURI Y Y N N N N N N N N

QN Y Y N N N N N N N N

NOT Y Y N N N N N N N N

� 10. �� � ���, �� 2(xs:time�� xs:NOTATION��� ��)

� � �

� � �

�� ��� ��

time date gYM gYr gMD gDay gMon bool b64 hxB aURI QN NOT

uA M M M M M M M M M M M N N

string M M M M M M M M M M M M M

float N N N N N N N Y N N N N N

double N N N N N N N Y N N N N N

decimal N N N N N N N Y N N N N N

integer N N N N N N N Y N N N N N

dur N N N N N N N N N N N N N

yMD N N N N N N N N N N N N N

dTD N N N N N N N N N N N N N

dT Y Y Y Y Y Y Y N N N N N N

time Y N N N N N N N N N N N N

date N Y Y Y Y Y Y N N N N N N

gYM N N Y N N N N N N N N N N

gYr N N N Y N N N N N N N N N

gMD N N N N Y N N N N N N N N

gDay N N N N N Y N N N N N N N

gMon N N N N N N Y N N N N N N

28 IBM DB2 XQuery ���

Page 43: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� 10. �� � ���, �� 2(xs:time�� xs:NOTATION��� ��) (��)

� � �

� � �

�� ��� ��

time date gYM gYr gMD gDay gMon bool b64 hxB aURI QN NOT

bool N N N N N N N Y N N N N N

b64 N N N N N N N N Y Y N N N

hxB N N N N N N N N Y Y N N N

aURI N N N N N N N N N N Y N N

QN N N N N N N N N N N N N N

NOT N N N N N N N N N N N N M

�� � �� � �� ���� � ��� �����.

v uA = xdt:untypedAtomic

v string = xs:string

v float = xs:float

v double = xs:double

v decimal = xs:decimal

v integer = xs:integer

v dur = xs:duration

v yMD = xdt:yearMonthDuration

v dTD = xdt:dayTimeDuration

v dT = xs:dateTime

v time = xs:time

v date = xs:date

v gYM = xs:gYearMonth

v gYr = xs:gYear

v gMD = xs:gMonthDay

v gDay = xs:gDay

v gMon = xs:gMonth

v bool = xs:boolean

v b64 = xs:base64Binary

v hxB = xs:hexBinary

v aURI = xs:anyURI

v QN = xs:QName

v NOT = xs:NOTATION

�� ��

� 2 � � ��� 29

Page 44: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

26 ���� ��� ��� �� ����� ���

�� ��

117 ���� ���� ����

183 ���� �XQuery ��� �� ���

anyAtomicType ��� ��

xdt:anyAtomicType ��� � �� � �� � �� ����� ����. � ��� � �

� �� �� �� ��� �����. �� �� ���� ��, �� �� ��� � �� �

�� �� ���.

��� � xdt:anyAtomicType�� ���� �� � �� �� ��� ����.

xdt:anyAtomicType ��� �� �� ��� ���� ����.

anySimpleType ��� ��

xs:anySimpleType ��� � ��� �� �� � �� ����� ����. � ��� �

�� �� �� �� �� ��� �����. �� �� ���� �� � ���� � � ���

�.

xs:anySimpleType ��� ��� ���� �� � �� �� ��(lexical form)� ����.

��� � type xs:anySimpleType� �� ��� ���� ����.

anyType ��� ��

xs:anyType ��� � 0� ��� ��� 0� ��� �� �� � �� ���� �����.

anyURI ��� ��

xs:anyURI ��� � URI(Uniform Resource Identifier)� ����.

��� � xs:anyURI� �� �� RFC 2396�� ���� RFC 2732�� ��� ���� URI ��

���. %20� �� ��� ���� � ��� � �� � ��� ���� ����.

base64Binary ��� ��

xs:base64Binary ��� � base64� ��� ���� ���� ����.

Base-64 �� � �� ����� �� � �� �� Base-64 ���� ���� �����.

Base-64 ���� ���� RFC 2045�� �����.

30 IBM DB2 XQuery ���

Page 45: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

xs:base64Binary� �� �� 65��� Base-64 ���� ����, �� ���� RFC 2045�� ���

��. ��� ��� a - z, A - Z, 0 - 9, ��� ��(+), �(/), ��(=) � XML 1.0(3)�� ���

� ��� ��� �����. � ��� ���� ����.

boolean ��� ��

xs:boolean ��� � ��� ���� true� false� ��� ��� �����.

��� � xs:boolean� �� �� true, false, 1 � 0�� ���.

byte ��� ��

xs:byte ��� � 127�� ��� �� -128�� ��� � ��� ����.

xs:byte� �� ��(lexical form) � ��� 10��� ��� ���� ��� ��� ������.

��� ���� ��� ��(+)� �����. �� ��� � ��� �� ��� ����. -1, 0, 126

� +100

date ��� ��

xs:date ��� � ��� �� ���� ���� �� �� ��� ����. xs:date ��� �

���� ���� �, �, � �� ��� � ��� ���� � ���.

xs:date �� ��� ���� �� �� ��� �� ��� �����. �� �� 00:00:00

� ���� �� �� �� 24:00:00� �� � �� �����. �� �, �� 2002-10-10+13:00

� �� 2002-10-10T00:00:00+13:00���. � 2002-10-09T11:00:00Z� ���,

2002-10-09-11:00� ����� ���. ���, 2002-10-10+13:00 2002-10-09-11:00 � ��

� ����.

xs:date� �� �� �� ��� ��� � ��� �� ������. yyyy-mm-ddzzzzzz. �� ���

���� ����. � ��� ���� ��� �� ��� �����.

yyyy

��� ���� 4�� ��. �� 0001�� 9999 ����. ��� ��(+)� ���� ���

�.

mm

�� ���� 2�� ��

dd ��� ���� �� ��

zzzzzz

�. � ��� �� �, ���� ����. � �� ��� �� �� ��� ��� 33 ��

�� ���� ����� ������.

� 2 � � ��� 31

Page 46: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

dateTime ��� ��

xs:dateTime ��� � �� �� ���� �, �, �, �, � �� ��� 10�� �� ���� �

���� � � ��� ���� �� ���� ����.

xs:dateTime� ��� �� �� ��� ���� � � ����. ��� ���� �� ���� UTC(�

� ���, �� ������ �)� ��� ���� �����. �� �� ���� � �� ���

next-higher �� ��� �� ��� ��� ��� ���. �� �, �� 32� � � ��� 2002�

2��� 29� � � ����.

xs:dateTime� �� �� �� ��� ��� � ��� �� ������. yyyy-mm-ddThh:mm:ss.

sssssszzzzzz. �� ��� ���� ����. �� ��� � ��� �����.

yyyy

��� ���� 4�� ��. �� 0001�� 9999 ����. ��� ��(+)� ���� ���

�.

- �� �� ��� ���

mm

�� ���� 2�� ��

dd ��� ���� �� ��

T ��� ��� ���� ���� ���

hh �� ���� �� ��. 24� � �� 0� ���� ��� �����. �� 24:00:00� �

��� ��� �� �� 00:00:00�� �����.

: �� �� ��� ���

mm

�� ���� �� ��

ss �� �� ���� 2�� ��

.ssssss

�. � ��� �� �, �� ��� ���� 1�� 6��� �����.

zzzzzz

�. � ��� �� �, ���� ����. � �� ��� �� �� ��� ��� 33 ��

�� ���� ����� ������.

�� �, �� �� �� �� ���� 2005� 10� 10� ��� �����.

2005-10-10T12:00:00-05:00

� �� UTC�� 2002-10-10T17:00:00Z� �����.

32 IBM DB2 XQuery ���

Page 47: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

��� ���

��� ���� �� �� �� �� � ��� ���� �����.

v ���(+) �� ��(-) �� ��� hh:mm. ��� �� �� �����.

hh �� ���� �� ��( � � ��� 0� � � ��). �� ����� 24�� ����

���� ��� ���� ����. ��� � �� �� 24� � �� ��� 0� ��� �

����.

mm

�� ���� �� ��. � �� ��� � 14 � � �� ��� 0�� ���.

+ ��� �� ���� UTC ���� hh � mm � � ���� ����.

- ��� �� ���� UTC ���� hh � mm � �� ���� ����.

v UTC ��� ���� ��� Z(Z� Zulu ��� ����, UTC� ���). ���� Z� ���� +00:00

�� -00:00� ���� � �����.

dayTimeDuration ��� ��

xdt:dayTimeDuration ��� � �, �, �, � � �� ��� ����� ����.

� ��� ��� ��� � �� � � -P83333333333333Y3M11574074074DT1H46M39.999999S�

� P83333333333333Y3M11574074074DT1H46M39.999999S�� �(�� -999999999999999��

-999999999999999.999999��� 999999999999999�� 999999999999999.999999� �)���.

xdt:dayTimeDuration� �� �� PnDTnHnMnS���. �� ISO 8601 �� ��� �����. ��

��� � ��� �����.

P ���� ���

nD

n � �� ���� �� �� �����.

T �� � �� ���

nH

n �� �� ���� �� �� �����.

nM

n � �� ���� �� �� �����.

nS n � �� ���� �� �� �����. ��� ���� ��� ��� � ��� ���� 1

�� 6��� �� ���.

�� �, �� �� ���� 3� 10�� 30�� �����.

P3DT10H30M

�� �� �� 120�� ����� �����.

� 2 � � ��� 33

Page 48: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

-P120D

� �� ��(-)� ��� �� ����� �����. ��� ���� �� ������ �����.

� ���� ��� ���� ��� ��� ����� �� ���� ��� ���.

v ����� �, �, �, �� ���� ��� 0�� �� � �� ���� �� � ����. ��

��� ��� ��� �� ���� �� ���.

v � �� 10�� ��� �� � ����.

v ��� T� �� ��� �� ��� ���� ��, � ��� ���� ���. ��� P� ��

�� ���.

�� �, �� �� �����.

P13DPT47HP3DT2H-PT35.89SP4D251M

�� P-134D� ���� ��� �� -P1347D� �����.

decimal ��� ��

xs:decimal ��� � 10��� ��� � �� �� ���� ����.

xs:decimal� �� �� 10�� ����� ��� ���� 10�� ������. ��� � ���

�����. ��� ���� ��� ��(+)� �����. �� �� 0 ����. �� ��� 0

� ��� � �� 0� �� � ����. �� ��� � �� �� ��� ����.

-1.2312678967.543233+100000.00210

double ��� ��

xs:double ��� � IEEE ��� 64�� �� �� �� �� ������.

xs:double� �� �� -1.7976931348623158e+308�� -2.2250738585072014e-308 �

+2.2250738585072014e-308�� +1.7976931348623158e+308 � � �� � ���. xs:double� �

� �� �� �� � �����. �� ���, �� ���, �� 0, �� 0 � ��� ��(NaN).

xs:double� �� ��(lexical form) ���� ��� ��� �� E �� e� �� ��� ����.

��� ��� ���. ����� 10��� ���. �� � ����� �� xs:integer � xs:decimal

� �� ��� �� ���. E �� e� ��� ��� ��� ���� �, �� 0�� ����

�.

34 IBM DB2 XQuery ���

Page 49: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

0� �� ��(lexical form) �� �� �� ��� �� � ����. �� ��� � ��� �� �

�� ����. -1E4, 1267.43233E12, 12.78e-2, 12 , -0 � 0

�� �� ���, �� ��� � ��� ��� �� ��(lexical form) �� INF, -INF � NaN

���. �� ���� �� ��(lexical form) �� ��� �� � ����.

�: �� INF, -INF � NaN� ��� ����. xs:double ����� �� ���� �����

INF, -INF � NaN� � ����. �: xs:double("INF")

�� ��

156 ���� �number ���

duration ��� ��

xs:duration ��� � ����� �, �, �, �, �, � � �� ��� ����� ����.

� ��� ��� ��� � �� � � -P83333333333333Y3M11574074074DT1H46M39.999999S�

� P83333333333333Y3M11574074074DT1H46M39.999999S�� �(�� -999999999999999��

-999999999999999.999999��� 999999999999999�� 999999999999999.999999� �)���.

xs:duration� �� ��(lexical form) ISO 8601 �� � PnYnMnDTnHnMnS���. �� ��� ��

�� �����.

P ���� ���

nY

n � �� ���� �� �� �����.

nM

n �� �� ���� �� �� �����.

nD

n � �� ���� �� �� �����.

T �� � �� ���

nH

n �� �� ���� �� �� �����.

nM

n � �� ���� �� �� �����.

nS n � �� ���� �� �� �����. ��� ���� ��� ��� � ��� ���� 1

�� 6��� �� ���.

�� �, �� �� ���� 1� 2�� 3� 10�� 30�� �����.

P1Y2M3DT10H30M

�� �� �� 120�� ����� �����.

� 2 � � ��� 35

Page 50: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

-P120D

� �� ��(-)� ��� �� ����� �����. ��� ���� �� ������ �����.

� ���� ��� ���� ��� ��� ����� �� ���� ��� ���.

v ����� �, �, �, �, �, � � � 0 �� �� � �� � �� ���� �� � ���

�. �� ��� ��� ��� �� ���� �� ���.

v � �� 10�� ��� �� � ����.

v ��� T� �� ��� �� ��� ���� ��, � ��� ���� ���.

v ��� P� �� �� ���.

�� �, �� �� �����.

P1347YP1347MP1Y2MT2HP0Y1347MP0Y1347M0D

�� P1Y2MT� �� ��� ���� ���� ����. �� P-1347M ���� ��� �� -P1347M

�����.

ENTITY ��� ��

xs:ENTITY ��� � XML 1.0(3)� ENTITY � �� ����.

xs:ENTITY� �� ��(lexical form) ��� ���� �� XML �(NCName)���.

float ��� ��

xs:float ��� � IEEE ���� 32�� �� �� �� �� ������.

xs : f loat� � � � � -3 .4028234663852886e+38� � -1 .1754943508222875e-38 �

+1.1754943508222875e-38�� +3.4028234663852886e+38 � � �� � ���. xs:float� ��

�� �� �� � �����. �� ���, �� ���, �� 0, �� 0 � ��� ��(NaN).

xs:float� �� ��(lexical form) ���� ��� ��� �� E �� e� �� ��� ����.

��� ��� ���. ����� 10��� ���. �� � ����� �� xs:integer � xs:decimal

� �� ��� �� ���. E �� e� ������ ��� ���� � �� 0�� �����.

0� �� ��(lexical form) �� �� �� ��� �� � ����. �� ��� � ��� �� �

�� ����. -1E4, 1267.43233E12, 12.78e-2, 12, -0 � 0

�� �� ���, �� ��� � ��� ��� �� ��(lexical form) �� INF, -INF � NaN

���. �� ���� �� ��(lexical form) �� ��� �� � ����.

36 IBM DB2 XQuery ���

Page 51: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�: �� INF, -INF � NaN� ��� ����. xs:float ����� �� ���� ����� INF,

-INF � NaN � � ����. �: xs:float("INF")

gDay ��� ��

xs:gDay ��� � ���� �� ������ ����. ����� � ISO 8601�� ���

��.

� ��� � �� �� �� �����. �� �, � ��� �� ���� ���� �� 15���

�� � ����.

xs:gDay� �� ��(lexical form) ---ddzzzzzz���. �� � � �� ��� ���� �� ��

� xs:date �����. � ��� ���� ����. � � ���� ����. �� ��� � ��

� �����.

dd ��� ���� �� ��

zzzzzz

�. � ��� �� �, ���� ����. � �� ��� �� �� ��� ��� 33 ��

�� ���� ����� ������.

�� �, �� �� �� ���� �� �� 16� �� �����.

---16

gMonth ��� ��

xs:gMonth ��� � �� ���� ������ �� ��� ���� ����. �����

� ISO 8601�� �����.

� ��� � �� �� �� �����. �� �, � ��� �� ���� �� 12�� �����

��� ��� �� � ����.

xs:gMonth� �� ��(lexical form) --mmzzzzzz���. �� � � �� ��� ���� �� xs:date

� ��� �����. � ��� ���� ����. � � ���� ����. �� ��� � ��

� �����.

mm

�� ���� 2�� ��

zzzzzz

�. � ��� �� �, ���� ����. � �� ��� �� �� ��� ��� 33 ��

�� ���� ����� ������.

�� �, �� �� �� ���� �� � 12�� �����.

--12

� 2 � � ��� 37

Page 52: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

gMonthDay ��� ��

xs:gMonthDay ��� � ���� ��� ������ ����. �� ��� ISO 8601�� ��

���.

� ��� � �� �� �� �����. �� �, � ��� �� ���� �� 4� 16� ��

� �� � ����.

xs:gMonthDay� �� ��(lexical form) --mm-ddzzzzzz���. �� � �� ��� ���� ��

xs:date� ��� �����. � ��� ���� ����. � � ���� ����. � ��� �

��� ��� �� ��� �����.

mm

�� ���� 2�� ��

dd ��� ���� �� ��

zzzzzz

�. � ��� �� �, ���� ����. � �� ��� �� �� ��� ��� 33 ��

�� ���� ����� ������.

�� �, �� �� �� ���� �� � 4� 16�� �����.

--04-16

gYear ��� ��

xs:gYear ��� � �� ������ ����. ����� � ISO 8601�� �����.

xs:gYear� �� �� yyyyzzzzzz���. � �� �, �, �� �� ��� ���� �� xs:dateTime

� ��� �����. �� ��� ���� ����. �� ��� � ��� �����.

yyyy

��� ���� 4�� ��. �� 0001�� 9999 ����. ��� ��(+)� ���� ���

�.

zzzzzz

�. � ��� �� �, ���� ����. � �� ��� �� �� ��� ��� 33 ��

�� ���� ����� ������.

�� �, �� �� 2005�� ������ ����. 2005.

gYearMonth ��� ��

xs:gYearMonth ��� � �� ���� �� �� ���� �� ����. ����� � ISO

8601�� �����.

38 IBM DB2 XQuery ���

Page 53: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

xs:gYearMonth� �� ��(lexical form) yyyy-mmzzzzzz���. � �� �� �� �� ��� ��

�� �� xs:dateTime� ��� �����. �� ��� ���� ����. �� ��� � ��� ���

��.

yyyy

��� ���� 4�� ��. �� 0001�� 9999 ����. ��� ��(+)� ���� ���

�.

mm

�� ���� 2�� ��

zzzzzz

�. � ��� �� �, ���� ����. � �� ��� �� �� ��� ��� 33 ��

�� ���� ����� ������.

�� �, �� �� � ��� ���� ���� ���, 2005� 10���� �� �����.

2005-10

hexBinary ��� ��

xs:hexBinary ��� � 2�� ���� ��� 16��� ����.

xs:hexBinary� �� ��(lexical form) � 2�� ���� �� 16��� �� �� ������.

�� �, 2���� 111110110111�� 16�� ���� 4023� 16��� ��� 0FB7� ���.

ID ��� ��

xs:ID ��� � XML 1.0(3)� ID � �� ����.

xs:ID� �� ��(lexical form) ��� ���� �� XML �(NCName)���.

IDREF ��� ��

xs:IDREF ��� � XML 1.0(3)� IDREF � �� ����.

xs:IDREF� �� ��(lexical form) ��� ���� �� XML �(NCName)���.

int ��� ��

xs:int ��� � 2 147 483 647�� ��� �� -2 147 483 648�� ��� � ��� ����.

xs:int� �� ��(lexical form) � ��� ��� ���� 10�� ������. ��� ���� �

�� ��(+)� �����. �� ��� � ��� �� ��� ����. -1, 0, 126789675 � +100000

� 2 � � ��� 39

Page 54: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

integer ��� ��

xs:integer ��� � 9 223 372 036 854 775 807�� ��� �� -9 223 372 036 854 775 808�

� ��� � ��� ����.

xs:integer� �� ��(lexical form) � � ��� �� ��� ���� 10�� ������. ��

� ���� ��� ��(+)� �����. �� ��� � ��� �� ��� ����. -1, 0,

12678967543233 � +100000

language ��� ��

xs:language ��� � RFC 3066�� ��� ��� ID� ����.

xs:language� �� ��(lexical form) ����� ��� � ��� � ���. � ��� ���

� �� ��� � ����. � �� ��� ��� �� � ��� �� �� ��� ���

�� � ����. �� �, en-US� ���� ���� ��� ����. �� ��

[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*� �����.

long ��� ��

xs:long ��� � 9 223 372 036 854 775 807�� ��� �� -9 223 372 036 854 775 808��

��� � ��� ����.

xs:long� �� ��(lexical form) � ��� ��� ���� 10�� ������. ��� ����

��� ��(+)� �����. �� ��� � ��� �� ��� ����. -1, 0, 12678967543233 �

+100000

Name ��� ��

xs:Name ��� � XML �� ����.

xs:Name� �� ��(lexical form) XML 1.0(3)� Name ���� ��� �����.

NCName ��� ��

xs:NCName ��� � ��� �� XML �� ����.

xs:NCName� �� ��(lexical form) ��� ���� �� XML ����.

negativeInteger ��� ��

xs:negativeInteger ��� � 0�� � ��� ����.

40 IBM DB2 XQuery ���

Page 55: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

xs:negativeInteger� �� ��(lexical form) �� ��� ��� ���� 10�� ������. � ��

� ��� ��� � �� � � -9223372036854775808�� -1 ����. �� ��� � ��� �

� ��� ����. -1, -12678967543233 � -100000

NMTOKEN ��� ��

xs:NMTOKEN ��� � XML 1.0(3)� NMTOKEN � �� ����.

xs:NMTOKEN� �� ��(lexical form) XML 1.0(3)� Nmtoken ���� ��� �����.

nonNegativeInteger ��� ��

xs:nonNegativeInteger ��� � 0�� ��� � ��� ����.

xs:nonNegativeInteger� �� ��(lexical form) � ��� ��� ���� 10�� ������. �

�� ���� ��� ��(+)� �����. 0� ���� �� ��(lexical form)� � ��� ��(+)

�� ��(-)� � � ����. �� � �� ��(lexical form)� � ��� �� ��� ��(+)�

���. � ��� ��� ��� � �� � � 0�� +9223372036854775807 ����. �� ��

� � ��� �� ��� ����. 1, 0, 12678967543233 � +100000

nonPositiveInteger ��� ��

xs:nonPositiveInteger ��� � 0�� ��� � ��� ����.

xs:nonPositiveInteger� �� ��(lexical form) � � ��� �� ��� ���� 10�� ���

���. 0� ���� �� ��(lexical form)� � ��� ��(-)� ��� ��� � ��� � ��

�� ��(lexical form)��� �� ��(-)� �� ���. � ��� ��� ��� � �� � �

-9223372036854775808�� 0 ����. �� �� � ��� �� ��� ����. -1, 0,

-12678967543233 � -100000

normalizedString ��� ��

xs:normalizedString ��� � �� ��� ��� ����.

xs:normalizedString� �� ��(lexical form) ��� ��(X‘0D’), � ���(X‘0A’) �� �(X‘09’) �

�� ���� �� �����.

� 2 � � ��� 41

Page 56: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

NOTATION ��� ��

xs:NOTATION ��� � XML 1.0(3)� NOTATION � �� ����.

xs:NOTATION ��� �� �� ��(lexical form) xs:QName �� �� ��(lexical form)���.

�� ��

�QName ��� ��

positiveInteger ��� ��

xs:positiveInteger ��� � 1�� ��� � �� ��� ����.

xs:positiveInteger� �� ��(lexical form) � �� ��(+)� ��� ���� 10�� �����

�. � ��� ��� ��� � �� � � +1�� +9223372036854775807 ����. �� ��� �

��� �� ��� ����. 1, 12678967543233 � +100000

QName ��� ��

xs:QName ��� � XML� ��� �(QName)� ����. QName � � ���� �

�, XML � ����� ���� URI � NCName �� ��� �����.

xs:QName ��� �� �� ��(lexical form) prefix:localName �� �����. � ��� �

��� ��� �� ��� �����.

prefix

�. � ���� � �. � ���� � �� � ���� �� �� URI ��� ���

� ���. � �� � ���� �� ���� ���� ����. � �� ���� ���

��� �/� � ����� �� URI� �����.

localName

��� �� �� �� NCName. NCName ��� �� XML ����.

�� �, �� �� � �� ���� QName� ��� �� ��(lexical form)���.

ns1:emp

short ��� ��

xs:short ��� � 32 767�� ��� �� -32 768�� ��� � ��� ����.

xs:short� �� ��(lexical form) � ��� ��� ���� 10�� ������. ��� ����

��� ��(+)� �����. �� ��� � ��� �� ��� ����. -1, 0, 12678 � +10000

42 IBM DB2 XQuery ���

Page 57: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

string ��� ��

xs:string ��� � ��� ����.

xs:string� �� �� XML� �� �� � � �� ��� �� � �� �� ������.

time ��� ��

xs:time ��� � �� ���� ��� ���� ����.

xs:time� �� ��(lexical form) hh:mm:ss.sssssszzzzzz���. � �� �, � �� � �� ��

� ���� �� xs:dateTime� ��� �����. �� ��� � ��� �����.

hh �� ���� �� ��. 24� � �� 0� ���� ��� �����. �� 24:00:00� �

��� ��� �� �� 00:00:00�� �����.

: �� �� ��� ���

mm

�� ���� �� ��

ss �� �� ���� 2�� ��

.ssssss

�. � ��� �� �, �� ��� ���� 1�� 6��� �����.

zzzzzz

�. � ��� �� �, ���� ����. � �� ��� �� �� ��� ��� 33 ��

�� ���� ����� ������.

�� �, � ��� ���� ���� �� �� �� ���(UTC)�� 5�� � �� ���

1:20pm� ����.

13:20:00-05:00

token ��� ��

xs:token ��� � ���� ��� ����.

xs:token� �� �� �� ��� ���� �� �����.

v ��� ��(X‘0D’)

v � ���(X‘0A’)

v �(X‘09’)

v �� �� �� ��(X‘20’)

v ��� �� � ��� �� ���

� 2 � � ��� 43

Page 58: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

unsignedByte ��� ��

xs:unsignedByte ��� � 255�� ��� � �� �� ��� ����.

xs:unsignedByte� �� �� ��� ���� 10�� ������. �� ��� � ��� �� ���

����. 0, 126 � 100.

unsignedInt ��� ��

xs:unsignedInt ��� � 4 294 967 295�� ��� � �� �� ��� ����.

xs:unsignedInt� �� �� ��� ���� 10�� ������. �� ��� � ��� �� ���

����. 0, 1267896754 � 100000

unsignedLong ��� ��

xs:unsignedLong ��� � 9 223 372 036 854 775 807�� ��� � �� �� ��� ���

�.

xs:unsignedLong� �� �� ��� ���� 10�� ������. �� ��� � ��� �� ��

� ����. 0, 12678967543233 � 100000

unsignedShort ��� ��

xs:unsignedShort ��� � 65 535�� ��� � �� �� ��� ����.

xs:unsignedShort� �� �� ��� ���� 10�� ������. �� ��� � ��� �� ��

� ����. 0, 12678 � 10000

untyped ��� ��

xdt:untyped ��� � XML ��� �� � ��� � ��� �����.

� ��� xdt:untyped�� ��� ��� �� � � � ��� xdt:untyped�� ��� �����.

untypedAtomic ��� ��

xdt:untypedAtomic ��� � XML ��� �� � ��� � �� � �����.

��� � xdt:untypedAtomic�� ���� �� � �� �� ��� ����.

yearMonthDuration ��� ��

xdt:yearMonthDuration ��� � ����� � � � � �� ��� ����� ����.

44 IBM DB2 XQuery ���

Page 59: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� ��� ��� ��� � �� � � -P83333333333333Y3M�� P83333333333333Y3M �(��

-999999999999999�� 999999999999999��)���.

xdt:yearMonthDuration� �� �� PnYnM��, �� ISO 8601 �� ��� �����. �� ��

� � ��� �����.

nY

n � �� ���� �� �� �����.

nM

n �� �� ���� �� �� �����.

� �� ��(-)� ��� �� ����� �����. ��� ���� �� ������ �����.

�� �, �� �� ���� 1� 2��� �����.

P1Y2M

�� �� �� 13��� ����� �����.

-P13M

� ���� ��� ���� ��� ��� ����� �� ���� ��� ���.

v ��� P� �� �� ���.

v ����� � �� �� ���� ��� 0�� �� � �� ���� �� � ����. �� �

�� ��� ��� �� ���(Y �� M)� �� ���.

�� �, �� �� �����.

P1347YP1347M

�� P-1347M ���� ��� �� -P1347M �����. Y �� � ��� ��� �� �� M

�� � ���� �� ��� �� P24YM � PY43M ���� ����.

� 2 � � ��� 45

Page 60: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

46 IBM DB2 XQuery ���

Page 61: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� 3 � ����

� �� ��� �� ��� ���� ��� ����. � �� � � ���� ����(;)� ��

��. � �� ���� � �����. � � �� �� ������ ��� ��� � �

����.

� ��� � �� �, � ���� � � �� ��� ��� �� �� ��� � ���

� � � ��(setters)� �����.

DB2� ��� ���� ��� ���� � �� � �� boundary-space �� �����. � ��

�� � ���� � � ��� � ���� ��� � ���.

DB2� �� ��(setters)� �����. ��, DB2� � �� ��� �� ����� �� ��� �

���� ����.

v construction �

v Copy-namespaces �

v empty order �

v ordering mode �

�� �� �� ��� � �� � � �� ���. ��(setters) � �� � � ��� �

� � ��� ��� ���� ��� � ����.

��

�� �(1)

Version declaration Boundary-space declarationConstruction declarationCopy-namespaces declarationEmpty order declarationDefault element/type namespace declarationDefault function namespace declarationnamespace declarationOrdering mode declaration

��

�:

1 namespace declaration� ��� �� � � � �� � ����.

�� ��

1 ���� �XQuery ���

�� ��

�� � ��� �� ��� ���� ��� ���� � � XQuery �� � ��� ��� ���

��. �� ��� � �� ��� � ��� � � DB2�� �����.

© Copyright IBM Corp. 2006 47

Page 62: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� �� �� ��� � �� �� ��� �� ���. DB2�� ���� ��� �� ″1.0″

���.

���� xquery version ″1.0″ ;

encoding StringLiteral��

1.0

��� ����� XQuery �� � ��� �� 1.0� �� �����.

StringLiteral

� �� ���� �� ���� �����. StringLiteral� �����, � �� �

��� ���� ��� ��� �� ����. DB2� �� �� UTF-8� �����.

�� �� � ��� XQuery �� 1.0� ���� ��� �� ���� �� �����.

xquery version "1.0";

boundary-space ��

�� � �� boundary-space � ��� ���� �� ��� �����. ���� �� ��

� ������ ���� ��� �� ��� �����. ���� ���� � ������� �

�� ��� ��� ����� �� ���� �� �� ��� �����.

���� �� �� �� � � ���� ��� ����� ����� �� � ����.

boundary-space �� ���� ��� ��� �� �� � � ���� ��� �����.

��� ���� � ��� ��� boundary-space �� �� � ����.

���� declare boundary-space strip ;

preserve��

strip

�� � � ���� ��� ����� �����.

preserve

�� � � ���� ��� ����� �����.

�� boundary-space � �� � � ���� ��� ����� �����.

declare boundary-space preserve;

�� ��

18 ���� ����

48 IBM DB2 XQuery ���

Page 63: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ��

92 ���� �� � ������� ���� �� ���

����� ��

�� � �� ���� � ��� �� ���� ��� �����. ���� ��� �� �

� ��� ��� ��� ��� � � � ��� � ��� �� ��� �����.

DB2 XQuery�� � � � ��� ���� ��� �� preserve���. ���� ��� preserve

� � � �� ��� � � � � � � �� �����.

���� �� preserve� �� � ���� �, � � ��� ���. � ��� ��� ���

��� ���� �� �� � ����.

���� declare construction preserve ; ��

preserve

� � �� ��� � � � � �� � �� ����� �����.

�� ���� � ����� � ����� ��� �� ���� ����.

declare construction preserve;

�� ��

21 ���� � 2 � �� ����

Copy-namespaces ��

copy-namespaces ��� � ������ �� � ��� �� � ���� � ���� ��

�����.

DB2�� copy-namespaces ��� �� preserve � inherit���. preserve �� �� �� ��

in-scope-namespaces� � ���� ����� �����. ��� � ����� � � ���� �

�� �����. � ��� ��� ��� � ����� ����� ��� � ����� �� �

�� �����. inherit �� ��� ��� � � ����� � � � ����� ����� ��

���. ��� �� ���� ��� � ���� �� ���.

preserve � inherit � ���� copy-namespaces �� � � �����. � ��� ��� ��

� ��� copy-namespaces �� �� � ����.

��

� 3 � � � 49

Page 64: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� declare copy-namespaces preserve , inherit ; ��

preserve

�� �� �� in-scope � ����� � ���� ����� �����.

inherit

��� ��� � � ����� �� � � � ����� ����� �����.

�� copy namespace � ����� � ����� ��� �� ���� ����.

declare copy-namespaces preserve, inherit;

�� ��

94 ���� �� � �� � � � �����

default element/type namespace ��

�� � ��� default element/type namespace � � � � �� � �� ���� �

QNames(��� �)� �� �� � ����� �����.

�� � �� ��� default element/type namespace �� �� � ����. � � � �

������ � � ���� � � � ���� �� � ��� �� �� � � ����. ���

�/� � ����� ��� � ��� � �� �� � � � � � ����� ��

����.

��� �/� � ����� ���� � � �� ���� ����. � �� �� � �

� �� � � ����� �� ����.

���� declare default element namespace URILiteral ; ��

element

�� default element/type namespace ��� �����.

URILiteral

� ����� URI� ���� �� ���� �����. �� ��� ��� URI �� ��

0 ���� ���. ��� �/� � ���� �� �� ���� �� 0 ���

� � �� �� � � � � � ����� ����.

�� � � � � �� ��� � ����� URI http://posample.org� ��� � ��

���� �����.

declare default element namespace "http://posample.org";<name>Snow boots</name>

50 IBM DB2 XQuery ���

Page 65: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ��� ��� �� � � ��(name��� � ��)� � ���� URI http://posample.org

� ��� � ����� ����.

�� ��

15 ���� �XML � ���� � QName�

�� ��

53 ���� �� ���� ��

91 ���� �� ���� � � �

87 ���� �� � ������

default function namespace ��

�� � �� default function namespace � �� ���� � �� �� �� �� ��� �

����� URI� �����.

�� � �� ��� default function namespace �� �� � ����. ��� �� � ����

� � � � � � � , � � � � � � � � � � � XPath � XQuery � � � � � � � �

http://www.w3.org/2005/xpath-functions� ���. ��� �� � ����� �� �, � �

� ���� �� ��� �� � ����� �� ��� �� � ����.

� �� ���� � �� ��� �� �� ��� �� � ����� ��� ��� ��� DB2

� ��� �����.

���� declare default function namespace URILiteral ; ��

function

�� default function namespace ��� �����.

URILiteral

� ����� URI� ���� �� ���� �����. �� ��� ��� URI �� ��

0 ���� ���. default function namespace �� �� ���� �� 0 �� �

, �� ��� �� � ����� ���� �� �� �� � �� �� �� �� ���

���.

�� � ��� �� � ����� URI http://www.ibm.com/xmlns/prod/db2/functions� ��

�� �����.

declare default function namespace "http://www.ibm.com/xmlns/prod/db2/functions";

� �� �� ����� �� �� � �� ���� �� ��� �� � ����� �� ���

�� � ����. � ��� �� � ����� �� xmlcolumn� �����, db2-fn:xmlcolumn

� 3 � � � 51

Page 66: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

(’T1.MYDOC’)�� ���� �� xmlcolumn(’T1.MYDOC’)�� �� � ����. ��, � �� ��

� �� � ����� � �� XQuery ��� � ����� ���� ����, XQuery �� ���

�� �� � �� ��� ���. �� �, current-date()� ��� fn:current-date()�� �

�� ���.

�� ��

119 ���� � 5 � ��� ���

empty order ��

�� � �� empty order � FLWOR ���� order by�� ��� � � ��� �� NaN �

���� ��� �� �� ���� ��� ��� ��� �����.

DB2 XQuery�� FLWOR ���� order by�� ��� � � ���� �� ���� �����. NaN

� ���� ��� � �� �� � �� �����. � �� ��� � ����. empty

greatest� �� � ���� � empty order � ��� ���. �� � �� ��� ��� �

�� empty order �� �� � ����.

���� declare default order empty greatest ; ��

greatest

FLWOR ���� order by�� ��� � � ���� �� ���� ����� �����. NaN

� ���� ��� � �� �� � �� �����.

�� empty order � �����.

declare default order empty greatest;

�� ��

109 ���� �order by��

ordering mode ��

�� � �� ordering mode � ��� �� �� ��� �����. �� ��� �� � � ��

��� �����.

DB2� XQuery 1.0: An XML Query Language� ��� �� ��� ���� ���� ordering mode

� unordered� ��� ���. DB2� �� � � ��� ���� ��� ���� 56 ����

�XQuery ����� � � ���� ������.

�� � �� ��� ordering mode �� �� � ����. unordered� �� � ���� ordering

mode �� � � �����.

52 IBM DB2 XQuery ���

Page 67: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

���� declare ordering unordered ; ��

unordered

XQuery 1.0: An XML Query Language� ordered ��� �� ��� � � ��� �����. DB2

� �� � � ��� ���� ��� ���� 56 ���� �XQuery ����� � � ���� ��

����.

�� � �����, DB2� unordered ��� ����� �� ��� ��� �� ���� ���

�.

declare ordering unordered;

�� ��

56 ���� �XQuery ����� � � ���

�� ���� ��

�� � �� �� � ���� � � ���� � �� ��� � �� � ���� URI

� ��� ��. � �� � ���� URI ��� ��� � ���� ���� ���. � ��

�� ��� ��� � ����� ���� ��� � ����� �����. ���� ��� �

����� ��� ���� �� � ���� � �� ���� � �� � �� �� � ����

��� � ���.

� ���� � � � ������ � � ���� � � � ���� �� � ��� ��

�� � � ����. �� � ��� ��� � ���� � �� �� ��� � � ���

���.

���� declare namespace prefix = URILiteral ; ��

prefix

URILiteral� ���� URI� ��� � ���� � �� �����. � ���� � �� �

�� �(QName)�� ���� �, � , ��� � �� ��� � ����� �����.

� � xmlns� xml ���� ���, � ���� ��� � �� �� � ����.

URILiteral

� �� �� URI� �����. URILiteral �� 0� ��� ��� URI� � �� ���

�����.

� 3 � � � 53

Page 68: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ��� � ���� � � ns1� ��� � � �� � ���� URI http://posample.org

� ���� � ���� �� �����.

declare namespace ns1= "http://posample.org";<ns1:name>Thermal gloves</ns1:name>

�� ��� ��� �� � � ��(name��� � ��)� � ���� URI http://posample.org

� ��� � ����� ����.

�� ��� �� ���� ���

XQuery�� � ��� ���� �� ���� ��� � ����� ���� �� �� �� �� �

���� � �� ����. �� �� � �� ����� ��� �� �� � ����. DB2

XQuery� �� �� � ���� � ��� �� ���� �� � �� URI �� �����.

� 11. DB2 XQuery�� �� �� � ����

��� URI ��

xml http://www.w3.org/XML/1998/namespace XML �� � ����

xs http://www.w3.org/2001/XMLSchema XML �� � ����

xsi http://www.w3.org/2001/XMLSchema-instance XML �� ��� � ���

fn http://www.w3.org/2005/xpath-functions ��� �� � ����

xdt http://www.w3.org/2005/xpath-datatypes XQuery � � ����

db2-fn http://www.ibm.com/xmlns/prod/db2/functions DB2 �� � ����

�� � ��� � ���� �� ���� �� �� � ���� � �� ��� � ����.

�� � � xml ��� URI� ��� � ����.

�� ��

15 ���� �XML � ���� � QName�

�� ��

91 ���� �� ���� � � �

50 ���� �default element/type namespace ��

54 IBM DB2 XQuery ���

Page 69: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� 4 � ���

��� ��� �� � �����. ��� ���� ����� � ��� ���� �� ���

��� � ����. DB2 XQuery� XML ���� �� ���� �� ��� ���� �����.

��� ��� ��

�� ��� ��� ��� �� ���� �� ��� �� �����. ���� ���� �� ��, �

�� � �� � ��� ���� �� �� �� � ���� �� ��� �����.

�� ���� � ��

���� �� ����� ���� � � �� � �� �����. � ���� ��, ����

� ���� ��� � ��, �� ����� � � �����.

� DB2� ���� � ��� ���� �� �����. � �� ��� � ���.

���� ��

�� �� � �� �� ��. ���� �� �� ( . )�� � �� ���� �� ��

��� � � ����.

���� �

�� �� � ����� ���� ��� . ���� �� fn:position() ��� � ��

���.

���� ��

�� �� � ����� ��� �. ���� ��� fn:last() ��� � � ����.

�� ��

5 ���� ���� � ���

�� ��

64 ���� ����� �� ����

143 ���� �last ���

157 ���� �position ���

����

XQuery �� ��� ��� ��� �� � � �����. � � � ���� �

� � ���� ����� ���� �, � � � ��� �� �� � ���.

�� ��� � � � ��� � ��� XQuery ���� ���� �����. ���� ��

��� � � ���� ��� �� ���� ��� �����.

© Copyright IBM Corp. 2006 55

Page 70: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� 12. DB2 XQuery�� �

��� �� ��� ���

,(�) ���� ����

:= (��) ���� ����

FLWOR, some, every, if ���� ����

or ���� ����

and ���� ����

eq, ne, lt, le, gt, ge, =, !=, <, <=, >, >=, is, <<, >> ���� ����

to ���� ����

+, - ���� ����

*, div, idiv, mod ���� ����

union, | ���� ����

intersect, except ���� ����

cast ���� ����

-(unary), +(unary) ���� ����

? ���� ����

/, // ���� ����

[ ], ( ), {} ���� ����

�� ��

64 ���� ��� �� ����

77 ���� ��� ����

XQuery ����� ��� ��

DB2�� �� ��� ��� ��� ���� ���� ���� � ��� ��� �� ����.

�� ��� ��� ��� ��� �� ���� �����.

v ��� order by�� �� FLWOR ��� ��� ��� � � �����. �� �, �� ���

product �� ���� price� ����� �����.

for $p in /productorder by $p/pricereturn $p

v union, intersect �� except ���� ���� ���� ��� �� ��� � � �����.

v �� ��� ���� �� ��� �� ��� � � �����.

– �� ����� ��� � ��� � ����.

– �� �� �� �� ��� � ��, �� ����� �� ��� �� ����.

– �� ���� ��� � ��� ��� �� � ����.

– �� ��� fn:position �� �� �� fn:last �� ��� ���� ����.

�� �� �� ��� � � ���� �� �����, �� $bib� �� �� ����� ����

�.

56 IBM DB2 XQuery ���

Page 71: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

$bib/book[title eq "War and Peace"]/chapter

v to ���� ���� ��� � ��� ��� ���� ����� �����. �: 15 to 25

v � ���� ���� ��� �� ����� ��� ��� �� ��� � � � �����

��� �����. �� �, �� ��� ��� (5, 10, 15, 16, 17, 18, 19, 20, 25)� �����.

(5, 10, 15 to 20, 25)

v ��� ��� � � ���� ���� ���� ���� �� ��� ��� ��� � � ����

�. �� �, �� $pub� �� �� ����� �� � �� ��� �� ���� then �

else �� ��� �� � � ����� ��� �� � � �����.

if ($pub/type eq "journal")then $pub/editorelse $pub/author

�� � ���� � ���� � ��� ��� ���� �, ����� ��� ��� �����

��.

� 13. XQuery ����� � � �� �

��� �� ��� �� �� ��� � �

FLWOR ��� order by� order by�� �� �� ��� product ��

���� price� �����

�����.

for $p in /productorder by $p/pricereturn $p

union, intersect �� except

���� �� ���

�� �� �� $managers union $students

�� ��� v �� ����� ��� � �

�� � ����.

v �� �� �� �� ���

� ��, �� ����� �

� ��� �� ����.

v �� ���� ��� � ��

� ��� �� � ���

�.

v �� ��� fn:position �

� �� �� fn:last �� �

�� ���� ����.

�� �� �� �� �� ��� � �

���� �� �����, ��

$bib� �� �� ����

� �����.

$bib/book[title eq "Warand Peace"]/chapter

to ���� ���� ���

� ���

�� ���� �� ��� 15 to 25

� 4 � ��� 57

Page 72: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� 13. XQuery ����� � � �� � (��)

��� �� ��� �� �� ��� � �

�� ��� ���� ���� � ���

��� � � �����.

�� ��� � � ��� �

� ���.

�� $pub� �� �� ��

��� �� � �� ���

�� ���� then � else ��

��� �� � � �����

��� �� � � �����.

if ($pub/typeeq "journal")then $pub/editorelse $pub/author

�: ��� ��� �� ���� ��� ��� ���� � � � ������, ���� �� ��

��� � ����.

�� ��

52 ���� �ordering mode ��

109 ���� �order by��

114 ���� �����

66 ���� ��� ����

���

���� �� ���� �� ���� ���� �������. ���� ����� �� ����

��� �����.

���� � �� �� ��� ���� �� �� �����.

v ��� �� � �� � �����.

v ��� �� � � � �����. ��� � ���� �� � �� 0� ��� ��

������. ��� � � �� � ��� �����.

���� ��� ���� � � ���� �� ����� fn:data ��� ���� � �����.

�� �, �� ���� ��� �� � ��� �����.

("Some text",<anElement xsi:type="string">More text</anElement>,<anotherElement xsi:type="decimal">1.23</anotherElement>,1001)

� ���� ���� ���� �� � �� ���� ���.

("Some text", "More text", 1.23, 1001)

�� XQuery ��� ���� ���� ��� �� �� �����.

v �� ���

v �� ���

v �� �� �� �� �� ��

58 IBM DB2 XQuery ���

Page 73: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

v ��� ���

v ��� ��� ����� ���

v FLWOR ���� order by�

v � ����� ��

�� ��

5 ���� ���� � ���

6 ���� ��� �

13 ���� ���� � � �� �

�� ��

132 ���� �data ���

�� �� ��

�� � ��� ��� ����� ��� �� �� � ���� ����.

�� � ��� � � �� ���� ����. �� �, xs:decimal � ���� ��� xs:integer

� ����, �� xs:integer� �����.

�� ��� fn:compare ��� xs:string � xs:NCName �����.

fn:compare("product", xs:NCName("product"))

�� ��� � � ����� �� 0���. fn:compare ��� xs:string �� �����

xs:NCNAME � xs:string�� ��� ���� � �� ��� �� � ����.

�� � ��� �� ����� ��� � ���� �� ��� �����.

�� ��

21 ���� �� �� ���

21 ���� � 2 � �� ����

�� ��

� �� �� � � ��� ���� ���� ��� ���� �������. XQuery� ��

��, order by� � �� �� �� ����� �� ���� ��� �� � ��� �����.

XQuery� �� � ��� �����.

� �� �

xs:float �(�� xs:float��� ����� ��� �� �)� xs:double ��� ��� �

����. � � �� � xs:double ���.

xs:decimal �(�� xs:decimal��� ����� ��� �� �)� xs:float �� xs:double

��� ��� � ����. � ��� � � �� � � ��� ������� � �

� 4 � ��� 59

Page 74: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

��. ��� ��� �� ���� �� �����.

�� ��� xs:double 13.54e-2� xs:decimal 100� � �� ���� fn:sum ��� �

��, xs:double �� � �����.

fn:sum(xs:double(13.54e-2), xs:decimal(100))

URI �� �

xs:anyURI �(�� xs:anyURI��� ����� ��� �� �)� xs:string ��� �

�� � ����. � ��� � � �� � xs:string ��� ������� � ���.

�� ��� URI ��� � xs:string�� ����, ��� 18� �����.

fn:string-length(xs:anyURI("http://example.com"))

� �� � �� � ��� �� �� ����.

v � ��� �, �� � ��� ����� ���� ��� �� �����.

v �� � ��� �, �� �� ���� ���� ����� ��� �� �����. ��

� � � �����.

�� ��

21 ���� � 2 � �� ����

��� �� �

���� ��� �� (EBV) �� � � ���� ���� �� ����� �����. � EBV

� � fn:boolean ��� ���� ����.

�� ��� �� �� � �� ���� EBV� �����.

� 14. XQuery�� �� �� � �� ���� EBV

� �� ���� EBV

� ��� false

��� �� ��� true

xs:boolean �(�� xs:boolean�� ��� �)� �� false - xs:boolean � false �

true - xs:boolean � true �

xs:string �� xdt:untypedAtomic �(�� ��� ��� �

�� �)� ��

false - � �� 0 �

true - � �� 0�� � �

�� �(�� �� ��� ��� �)� �� false - � NaN��� ����� 0 � �

true - � ����� 0 �� � �

� �� ��

�: �� ��� ��� �� ��� �� � ���� ���� ��� �� ��� �� � �� ����� �� � �

���.

���� ��� �� �� �� ���� ��� � ����� �����.

v ���(and, or)

v fn:not ��

60 IBM DB2 XQuery ���

Page 75: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

v FLWOR ���� where�

v �� �� ��(�: a[b])

v ���(if)

v ��� ���(some, every)

�� ��

125 ���� �boolean ���

84 ���� �����

�� ���

�� ��� ��� �� �� �����. ���� ���, �� ��, �� �� ���, ���� ��

���, ����� � �� ��� �����.

���

��� �� � � �� �����. DB2 XQuery� ��� ���(�� ��� � �� ���)

� �����.

�� ��� xs:integer, xs:decimal �� xs:double �� �� ���.

v ��(.)� ���� �� e �� E ��� ���� �� �� ��� xs:integer �� �� ��

�. �� �, 12� �� ������.

v ��(.) ����� e �� E ��� ���� �� �� ��� xs:decimal �� �� ���.

�� �, 12.5� �� ������.

v e �� E ��� ���� �� ��� xs:double �� �� ���. �� �, 125E2� �� ��

����.

�� ���� XML ��� ��� �� �����.

�� ��� ���� ����(’) �� ����(″) �� � �� xs:string �� �� ���. �

� ��� �� ��� ��� �� � �� ��� �� � ����. �� �, �� �� ��

� �� ������.

"12.5""He said, ""Let it be."""’She said: "Why should I?"’"Ben &amp; Jerry&apos;s""&#8364;65.50" (: denotes the string €65.50 :)

�: ����� ��� �� ��� �� ����� ����� �� �� ����� ���

���. �����, ����� ��� �� ��� �� ����� ����� �� �� ��

��� ������.

� 4 � ��� 61

Page 76: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ����� �� � XML 1.0(3)� ��� �� ������. ��� ��(X‘0D’) ��� � �

��(X‘0A’)� �� �� ���� �� � ���(X‘0A’)� �����. ��� � ���((X‘0A’)� �

� ��� ��(X‘0D’) �� � ���(X‘0A’)� �����.

������� � ��� ��� �� �, ����� �� �� �� ��� ���� � �� �

����. �� ��� ������ ��� ��� �� � �����.

v �� �� fn:true()� fn:false()� �� �� true� false� �����. ��� ����� �

� xs:boolean(″false″)� xs:boolean(″true″)��� ��� � ����.

v ����� �� xs:date("2005-04-16")� �� xs:date�� � 2005� 4� 16�� ���� ��

� �����.

v ����� �� xdt:dayTimeDuration("PT4H")� �� xdt:dayTimeDuration�� � 4��� ��

��� ���� � �����.

v ����� �� xs:float("NaN") ��� �� �� ″Not a Number″� �����.

v ����� �� xs:double("INF")� ��� ��� ″positive infinity″� �����.

�� ��

6 ���� ��� �

26 ���� ��� ��� �� ����� ���

119 ���� � 5 � ��� ���

�� ��

185 ���� ��� ���

�� ��� ��� ��

�� ��� ��� ��� DB2 XQuery�� �� �� ��� ��� ��� ���� � �� ���

���. �� ��� ��� ��� ���(&)� ���� ����(;)�� ����. �� ���� ��

� � �� ��� � ��� ��� ��� ���� ��� ����.

�� ��� DB2 XQuery� ��� �� ��� ��� ��� �����.

� 15. DB2 XQuery�� �� ��� ��� ��

��� �� ���� ��

&lt; <

&gt; >

&amp; &

&quot; ″

&apos; ’

�� ��

63 ���� ��� ���

62 IBM DB2 XQuery ���

Page 77: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ��

�� ��� 10�� �� 16�� �� ��� ���� ���� ��� �� XML ��� �����.

�� ��� &#x �� &#� ���� ����(;)�� ����. �� ��� &#x� ���� �, ����

(;)�� ���� � �� ��� ��� ISO/IEC 10646 ���� �� �� ��� 16�� ��� ��

��. �� ��� &#� ���� � ����(;)�� ���� � �� ��� �� �� ��� 10�

�� ����.

�� �� &#8364; �� &#x20AC;� ��� ��(€)� ����.

�� ��

62 ���� ��� ��� ��� ���

�� ��

�� ��� � ��($) ��� �� NCName���. ��� �� � � �� ��� ��� ��

� �� �����. �� �� ��� �� ��� � � ��� � �� ���.

��� �� � ���� � � ��� �����.

v ��� ��� �� �� SQL/XML� ��, XMLQUERY ��, XMLTABLE �� �� XMLEXISTS

��� �� � � ��� ��� � ����. SQL/XML� �� ��� ��� XQuery �����

��� ��� � �� ���� �� � �� ��� �� � ����.

v ��� Query ���� �� � ��� � ����. ��� �� � �� ��� ��� FLWOR

��� �� ������. �� ��� �� ��� ��� �� ��� �� ����� � ��

� ����. XQuery ����� ��� ��� ��� ��� ����� � ����.

�� � FLWOR ����� � � � � ����. �� �, DB2� �� ���� ����

����.

for $i in (1, 2)for $i in ("a", "b")return $i

�� ��� � ��� � ��� �� �� ��� �, ��� �(� � � � �)�

�����.

�: ��� �� � � ��� ��� ��� �� ������.

�� ���� FLWOR ���� �� $seq� ��� (10, 20, 30)� �����.

let $seq := (10, 20, 30)return $seq[2];

�� 20���.

� 4 � ��� 63

Page 78: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ��

102 ���� �FLWOR ����

115 ���� ��� ����

�� �� ���

��� �� ���� ���� ����� ��� � ��� ���� � �����.

�� �, ��� (2 + 4) * 5� �� �� ��� (2 + 4)� �� �� � � � 5� ���� 30

�� ����. ��� �� ��� 2 + 4 * 5� � � � �� ���� �� �� � �� �

��� ���� 22� ���.

� ��� � ���� �����.

�� ��

55 ���� �� �

77 ���� ��� ����

���� �� ���

���� �� ��� �� ���(.)� � ���. ���� �� ��� ���� ���� ��� ��

���� �� ��� ����. ���� �� �� �� �� � � � ����. ���� �� �

� ��� � �� ������ �����.

�� �� � ��� 1 to 100� ��� ���� �� ���� ��� ���� �����.

(1 to 100)[. mod 5 eq 0]

� �� � � 1�� 100 � ��� 5� � � ���� ��� ������.

�� ��

55 ���� ��� ���� � ��

73 ���� ����

66 ���� ��� ����

�� ��

�� �� QName �� �� ��� 0� ��� ��� ���(�)� � ���. DB2 XQuery� �

� XQuery ��� DB2 �� �� ��� �����.

�� XQuery ��� � � fn� ��� � ���� http://www.w3.org/2005/xpath-functions�

����. DB2 �� ��� � � db2-fn� ��� � ���� http://www.ibm.com/xmlns/prod/

db2/functions� ����. �� ��� QName� � ���� � �� �� �, ��� ��� ��

64 IBM DB2 XQuery ���

Page 79: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� ����� �� ���. ��� �� � ����� �� � ��� ��� �� ��� �

����� ���� �� � �� XQuery ��� � ����(� � fn� ���)���.

����: �� ��� �� �� ����� �� �� � ���� ���� � ��� ��

�� � ���.

�� ��� DB2 XQuery� ��� ��� ����� �����.

1. DB2 XQuery� �� ���� �� �� � ���� ��� � ���� � �����.

2. � �� �� ��� �� �� ���� ��� ��� �����. �� �� �� �

� � ���� ���� �, DB2 XQuery� �� ��� ���� � � �� ��� ���

��.

a. ��� � ���� �����. � � �� � ������.

b. �� ���� � ��(xdt:untypedAtomic �) ��� �� ��� ������. �� ��

���� �� ��� �� xdt:untypedAtomic �� �� xs:double� ������.

c. �� � �� ��� �� ��� ��� � �� �� ���� �� �� ��� �����.

�� ���� xs:integer(�� xs:integer�� ��� �), xs:decimal, xs:float �� xs:double �

� �����.

d. �� �� xs:string �, xs:anyURI �� xs:anyURI ��� ��� �� �� ��� ��

xs:string�� �����.

3. ��� �� ��� � ���� ����. �� ��� � � ��� �� �� �� ���

��� �����.

��� ��� �� �� ��: �� �� �� xs:string �� �� �� �� ��� ��� xs:string

�� � �����.

fn:upper-case($ns1_customerinfo/ns1:addr/@country)

� ���, fn:upper-case ��� �� �� �� ������. � ��� ���� �� ���� ��

� � �� ���� ������. ���� � �� ��� � xs:string�� ������. ���

��� xs:string �� �� ���� �����.

��� ��� �� �� ��: �� ��� ��� (1, 2, 3)� �� ����.

fn:max((1, 2, 3))

�� fn:max� �� � ���� �� �� �����, �� ��� ���. �� 3���.

�� ��

15 ���� �XML � ���� � QName�

119 ���� � 5 � ��� ���

59 ���� �� ���

� 4 � ��� 65

Page 80: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

58 ���� �����

�� ���

�� ��� XML ���� ��� �����. DB2 XQuery� �� ��� XPath 2.0 ��� ���

� ���.

�� ��� �(/) �� �� �(//)� ���� �� ��� ��� � ���. �� ��� ��

�� �� �� � ��� �� � ����. ��� �� ��� � ��� �� ��� ����

��� ���� �� ���� � ���.

��� ��� �� �� ����, �� �� �� �� ���� ���� �� ���� �� ���

�����. ��� ″/″� ���� ��� ���� ��� �� ���� ��� ���� �����. ��

� ″//″� ���� ��� ���� �� ��� �� ��� � �� �� ���� �� ��� �

� � � ��� ��� ���� �����.

� ��� �� ���� � � � ���� ��� �� � � ����� ����. ��� �� �

� � � ���� �� ��� ���� �� ���� ���. ��� ����� �� ID� ���

��� �����.

�� ���� ��� ��� ��� � ��� �� ������. � ��� ��� �� �

� � ���� � � ����. ��� � ��� �� ��� ���� ��� �����, ��� ���

��� �� � ���� �� � �� ��� �����. ��� �� � ���� ���� �� �

��� � � �����.

�� ���� � �� ���� �� ��� ���� ����. �� ���� �� ��� ��� �

� ����� ����� XQuery ����� � � ��� ���� ��� ������.

�� ��

7 ���� ��� �� ���

�� ��

56 ���� �XQuery ����� � � ���

� ���� ��

�� ���� � ��� � �� �� � ������. � ��� ���� ���� ��� �� �� �

� �� �� ���� �����. � ��� �� ��� 0� ��� ��� � ���.

��///

/ or //

axis stepfilter expression

��

axis step:

66 IBM DB2 XQuery ���

Page 81: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�node-testaxis:: [PredicateExpression]

filter expression:

�PrimaryExpression[PredicateExpression]

/ ��� � ��(/)� ���� ��� ���� ��� �� ��(�� ��� �)�� ��� ��

�� �����. �� ���� � ��� ��� �����.

// ��� �� � ��(//)� ���� ��� ���� �� ��� �� ��(�� ��� �)� �

�� �� ���� �� ��� �� � � ��� ��� ���� �����. �� ���

�� � ��� ��� ����� �� ��� �� ��� ������.

axis

XML �� �� ����� �� ��. ���� � ���� child, descendant, attribute, self,

descendant-or-self � parent� �����. ��� � �� ���� ��� � ����.

node-test

� ���� � ��� ��� true�� �� ��. � ���� ��� �� �� ��� �

� � ��� �� ��� ��� �� ��� �� �� ���� � � ����.

PrimaryExpression

�� ���

PredicateExpression

���� ��� ���� ����� ��� ��� ���

�� �� �� ��� ���� � ��� �����. � ��� ���� ���� secretary �

�� assistant � �� � � �� employee � �� � ���.

child::employee[secretary][assistant]

�� �� � ���� �� ���� ��� �����. � ��� ��� ��� � ��� ��� �

� �� � � ��� �����.

$book/(chapter | appendix)[fn:count(footnote) > 1]

�� ��

68 ���� �� ���

71 ���� ��� ���� �� ���

61 ���� ��� ����

73 ���� ����

� 4 � ��� 67

Page 82: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

75 ���� � � ����

� ��

� ��� �� ��� ���� � �, �� ��� ���� �� ��� � ���� ��� ��

�� ���� ��� � ��� � ���. � ��� � � �� 0� ��� �� ������.

� ��� ���� ���� ���� �� ��� �� XML ��� �� ���� ��� �� �� ��

�� ���� ���� �� ��� ����� XML ��� �� ���� ��� ��� � � ����.

���� ��� ��� �� �, ���� � � ��� ���.

� ���� ���� � �� �� ���� ���� � � �� ���� � ��, ���

0� ��� ��� ���. � ���� �� �� ���� �� ��� ���� �� � ����.

�� ��� child� �� ��� para� � ��� � � ��� ����.

child::para

� ��� � ��� ���� ��� � �� para �� ���.

�� ��

7 ���� ��� �� ���

�� ��

73 ���� ����

71 ���� ��� ���� �� ���

� XML ���� �� ��� ���� � ��� �����.

� ��� � �� ��� �� � � ����. ��� ��� ���� ��� �� ���� ����

�� ��� ��� �����. ��� ��� ���� ��� �� ���� ���� �� ��� �

�� �����.

�� ������ DB2 XQuery�� ���� �� �� �����.

� 16. DB2 XQuery�� ���� �

� �� �� �

� ���� ��� � ��� ����

�.

��� �� �� � � ��� � ��� ����. ����

��� � ��� ����� � ��� �� �� �

� � �� �, � � � ������. �� �

� �� � ��� � ��� �, �� ���, ��

�� ��� ��� � � ����. � � �� ���

� ��� ��� � ����.

� � � ���� ��� � � �(� , �

� � �)� �����.

���

� ���� ��� � � �����. ��� ���� ��� � ��� �� � � � �� ��

��.

68 IBM DB2 XQuery ���

Page 83: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� 16. DB2 XQuery�� ���� � (��)

� �� �� �

�� ���� ��� �����. ���

� � �-

�� -

��

���� �� � ���� ���

� � �� �����.

���

� ���� ��� � � ����, ��

�� ��� � � �� � � ��

�� �����.

��� � ��� � ��� � � � � ��� � ���

� ��� � � � � ����.

� ���� �� ���� �� ��� �� � ���� ���� � � ��� �����. �

� ��� � � ���� � 1�� ���� �� ��� ��� �����. �� ��� � �

���� � 1�� ���� ��� �� ��� �����. ���� ��� ���� � ��

�� ����� ��� � ����.

�� ��

��� ����

73 ���� ����

�� ���

�� ���� � ���� � � �� ��� true���� �����. �� ���� � ��� �

� �� ���� ��� � ����. � ���� ��� �� �� ��� ���. �� ����

��� ��� �� ��� ���.

�� ���

� ���� QName �� ��� �� � ���. � ���� � ���� ����, ��� ���

��� QName �� ��� �� ��� ��� ���. � ���� � �� �� ���� �

�� � ���� ��� � � ���. �� � �� ��� ��� � ���� ���

�� ���. QName ��� �� QName� � ���� ��� �� Qname ��(�� �

� ����)� �� ����. �� Qname � � ���� URI� ���� �� ��

��� �(� ���� � �� ���� ����)� ����.

����: � ����� ��� � �� ���� �� ���� ��� � ���� � ��� ���

���. � ��� ���� � ���� �� � �� �� QName � ���� URI

� ��� ����. �� �� ��� ���� � ���� �� � �� �� QNmae �

�� �/� � ����� � ���� URI� ����.

� 4 � ��� 69

Page 84: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ��� DB2 XQuery�� ���� � ���� �� �����.

� 17. DB2 XQuery�� ���� � ���

�� �� �

QName ��� Qname ��� QName� �� �� ��(�

�� �� ��)� ����. �� � � � �

���� � ��� ����. �� � �� �

� ���� � ��� ����.

��� child::para�� � ��� para� � �

� �� para �� ���.

* ��� �� �� ��� ����. �� � �

� � ���� �� � ��� ����. ��

� �� � � ���� �� � ��� ��

��.

��� child::*�� � ��� *� � �� �

� �� ����.

NCName:* QName� � � ��� ���� NCName� ���

��. � � ���� � �� ��� � ��

�� URI� � ���� URI� ��� �� �

�(��� ���)� ����. �� � � �

� ���� � ��� ����. �� � ��

� � ���� � ��� ����.

��� child::ns1:*�� � ��� ns1:*� �

� ns1� ���� � ����� ��� � �

� �� �� ����.

*:NCName QName� �� ��� ���� NCName� ����

�. � � ���� �� �� NCName � �

� ��(��� ���)� ����. �� � �

� � ���� � ��� ����. �� �

�� � � ���� � ��� ����.

��� child::*:customerinfo�� � ���

*:customerinfo� � �� ��� � ����

� �� �� �� �� customerinfo � �

�� �� �� ����.

�� ���

�� ���� � ���� ����, ��� ��� ��� �� ���� ��� ��� ���.

�� ��� DB2 XQuery�� ���� �� ���� �� �����.

� 18. DB2 XQuery�� ���� �� ���

�� �� �

node() ��� �� �� ��� ����. ��� child::node()�� �� ��� node()

� � �� �� ��� ���.

text() ��� �� �� ��� ��� ����. ��� child::text()�� �� ��� text()

� � �� �� ��� ��� ���.

comment() ��� �� �� �� ��� ����. ��� child::comment()�� �� ���

comment()� � �� �� �� ���

���.

processing-instruction() ��� �� �� �� ��� ��� ����. ��� child::processing-instruction()��

�� ��� processing-instruction() �

�� �� �� ��� ��� ���.

element() �� element(*) ��� �� �� � ��� ����. ��� child::element()�� �� ���

element()� � �� �� �� ���.

��� child::element(*)�� �� ���

element(*)� � �� �� �� ��

�.

70 IBM DB2 XQuery ���

Page 85: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� 18. DB2 XQuery�� ���� �� ��� (��)

�� �� �

attribute() �� attribute(*) ��� �� �� � ��� ����. ��� child::attribute()�� �� ���

attribute()� � �� �� � ���

���. ��� child::attribute(*)�� �

� ��� attribute(*)� � �� �� �

��� ���.

document-node() ��� �� �� �� ��� ����. ��� self::document-node()�� �� ��

� document-node()� ���� �� �� �

�� ���.

�� ��

68 ���� ���

73 ���� ����

� ���� �� ��

XQuery��� �� ����� �� ���� �� ��� �� � ����.

�� ��� �� ����� �� � �� ��� �����.

� 19. �� ���� �� ��

�� �� �� �

��� � �� � ��� �� ���� �� attribute()� ��

�� � child:: ��� �� ��. � ��� �

���� ���� � ��� � attribute::

� �����.

�� ��� section/para�

child::section/child::para� �����. ��

��� section/attribute()�

child::section/attribute::attribute()� �

����.

@ attribute::� �� �� �� ��� section/@id�

child::section/attribute::id� �����.

// /descendant-or-self::node()/� �� ��� �

� ���� ��� � ��� ���� � ���

��.

� ��� �� ���� � � ���� �, �

��� ��� ���� ��� �� ��� ��� �

��� �� �� ���� � �� �� �� �

�� ���. � ��� �� ��� �� ��

� �� � ��� �����.

�� ��� div1//para� child::div1/

descendant-or-self::node()/child::para�

�����.

.. parent::node()� �� �� �� ��� ../title parent::node()/

child::title� �����.

�� �� � ��� ��� �

�� ������ �� �� � ��� ��� �� �����.

� 4 � ��� 71

Page 86: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� 20. ��� �� � �� ��

��� �� �� �� ��

child::para para ���� ��� � para

�� ���.

child::* * ���� ��� � ��

�� ���.

child::text() text() ���� ��� � ��

��� ��� ���.

child::node() node() ���� ��� �� � �

���. � ��� �

� ���� ���� � ��

� � ��� ���� �

���.

attribute::name @name ���� ��� name � �

���.

attribute::* @* ���� ��� �� � �

���.

child::para[fn:position() = 1] para[1] ���� ��� �

� para �� ���.

child::para[fn:position() = fn:last()] para[fn:last()] ���� ��� � ���

para �� ���.

/child::book/child::chapter[fn:position() = 5]

/child::section[fn:position() = 2]

/book/chapter[5]/section[2] � � ���� ��� �

�� �� �� book� ��

� chapter� �

section� ���.

child::para[attribute::type="warning"] para[@type="warning"] � warning type � �

��� ����� �� para

� � ���.

child::para[attribute::type=’warning’]

[fn:position() = 5]

para[@type="warning"][5] � warning type � �

��� ���� ��� ��

� para � � ���.

child::para[fn:position() = 5]

[attribute::type="warning"]

para[5][@type="warning"] ���� � �� � � �

para � � � warning

type � � ��� �

���.

child::chapter[child::title=’Introduction’] chapter[title="Introduction"] � � ��

Introduction � ��

��� title � � ���

���� ��� chapter �

� ���.

child::chapter[child::title] chapter[title] �� ��� title � � �

�� ���� ��� chapter

� � ���.

�� ��

66 ���� ��� ���� ���

68 ���� ���

72 IBM DB2 XQuery ���

Page 87: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

��

��� �� ��� ������ �� ���� �����. ��� �� ������ ����� � �

� � ��� ���([]) �� � ����. �� ��� ��� �� � ��� �� ���� ���

� � ���� � � ����. �� ���� � �� �� ��(truth value)��� xs:boolean

� �����. �� ��� true �� ����, �� ��� false �� �����.

�� ��� ��� � �� ��� �����.

v �� ���� ��� �� � ���� �, �� �� �� ���� ��� �� ���.

v �� ���� �� � ���� �, �� �� ��� � ��� � �� � ��

� ���� true���. � ��� �� �� false���. � ��� ��� �� �� ��

���� ���. �� �, ��� $products[5]�� �� �� [5]� �� $products� ��� �

��� �� �� ��� �����.

����: �� ��� ����� � �� ���� ��� ��� �� ��� �����

�.

�: ��� �� �� ���� �� � ������ ��� �� ���, �� ���� �� ���

� � � �� �� ����. fn:boolean ��� [fn:boolean(PredicateExpression)] �� ��

�� ��� � � �� � ����� �� � ����. �� fn:position ��� [fn:position()

eq PredicateExpression] �� ���� ��� ���� ����� �� � ����.

�� ��� ����.

v chapter[2]� ���� ��� � �� � chapter �� ���.

v descendant::toy[@color = "Red"]� ���� ���� toy�� �� � � color � � �

″Red″ �� � � �� ���.

v employee[secretary][assistant]� ���� ���� secretary � �� assistant � �� �

� �� �� employee � � ���.

v (<cat />, <dog />, 47, <zebra />)[2]� <dog /> �� �����.

�� ��

60 ���� ���� �� �

�� ��

56 ���� �XQuery ����� � � ���

��� ���

��� ��� ��� ���� � �� ���� �����. ���� ��� ����. �� �,

1, (2, 3) � ( )� �� ���� ���� � � ��� (1, 2, 3)� ���.

�� ��

5 ���� ���� � ���

� 4 � ��� 73

Page 88: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

���� ���� ���

���� � ��� �� � ���� ���� � ���.

�� ��

� ���� ���� ���� � ��� �� ���� � ��� ����(���)� ������. �

�� ���� �� � � ���� � ����� ��� ���� � ���� ���� �� �

���� ����. �� �, �� ���� � � �� �� ��� ���� ������.

(15, 1, 3, 5, 7)

���� ��� �� � ��� �� � ����. �� ���� � ���� ��� � �� ��

��. � ��� �� ���� ���� � ���� � �� � � ����� �� ���� �� �

�� ����, ���� �� �� ��� �� ����.

�� ��� � ���� ���� ���� � ���.

v � ��� �� �� 1, 2, 0, 2 � �� ���� ���� �� 5 �� ���� ����. �

���� � � ��� 10, 1, 2, 3, 4���.

(10, (1, 2), (), (3, 4))

v � ���� � � ���� ��� � �� salary � ��� ���� ��� � �� bonus

�� ���� ������.

(salary, bonus)

v �� $price� 10.50� ���� � ���� � � ��� 10.50, 10.50� ���.

($price, $price)

�� ���

� ��� ��� ��� ���� � ���. � ��� to ���� ���� �� ����

(���)� � ���. � ����� xs:integer �� �� �� �� ���. ����� � �

����� � ������ ��� ��� � ������ ��� ���� �� � ����

� � � ������. �� ��� � � ������ ��� �� ��� �� ��� ��

��� ����� ���� ������. �� �, �� � ��� ��� 1, 2, 3, 4� ����.

(1 to 4)

�� �� � ���� ���� ���� � ���.

v �� �� � ���� ��� � � � ����� �����. ��� ��� ��� 10, 1, 2, 3,

4� ����.

(10, 1 to 4)

v �� �� �� 1�� �� �� 10� ���� ���� � ���.

10 to 10

v �� �� � � �� 0 ������.

74 IBM DB2 XQuery ���

Page 89: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

15 to 10

v �� �� fn:reverse ��� ���� � ��� �� �� ��� � �� ���� � ���. � �

�� ��� ��� 15, 14, 13, 12, 11, 10�� ����.

fn:reverse(10 to 15)

�� ��

5 ���� ���� � ���

�� ���

� ��� �� ��� 0� ��� ��� � ���. ��� �� �, �� �� ���� ���

� ���� �����.

� ���� � � �� ���� ��� ��� �� � true �� ���� � ���. ��� ��

� �� �, � � �� �� ���� � ���. � ���� �� �� ���� ��� ��

��� �����. ��� ��� �� � ���� ��� �� ���� �� ��� �� � ��

�� ���� � ����. � ���� � 1���.

��

�� �PrimaryExpression[ PredicateExpression ]

��

PrimaryExpression

�� ���

PredicateExpression

���� ��� ���� ����� ��� ��� ���

�� ���� � ���� ���� ��� ���� �����.

v ��� ��� ��� ���� ���� �, �� ��� price� 100�� � ��� �����.

$products[price gt 100]

v �� ��� ��� �� � ���� ���� 1 - 100 � �� 5� � � ���� �� ���

����. � ��� �� �� � ���� �� ����� �����.

(1 to 100)[. mod 5 eq 0]

v �� ���� � � �� 5���.

(1 to 21)[5]

v �� ��� � ���� �� ���� ��� �����. � ��� �� $book� ��� ��

��� � �� ��� �����.

$book/(chapter | appendix)[fn:last()]

� 4 � ��� 75

Page 90: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ��

5 ���� ���� � ���

�� ��

61 ���� ��� ����

73 ���� ����

�� ��� � �� ���

DB2 XQuery� �� ���� ���� ���� �����. ��� ����� union, intersect � except

� ����.

�� ��� �� ���� ���� � �� �� ���� �����.

� 21. �� ��� ��� � XQuery ���

��� ��

union �� | �� ���� ����� ��� ����� �� ��� ���� ����

�����. union ��� | ��� �����.

intersect �� ���� ����� ��� ����� � �� ��� ���� �

��� �����.

except �� ���� ����� ��� � ������ ��� � ���

��� �� �� ��� ���� ���� �����.

��� �� ���� � ����� �� ID� ���� ���� ��� �����. � ���� ��

��� �����.

union, intersect �� except� ����� ��� ���� ���� ��� ���. ����� ���

�� ��� �� ��� ��� �����.

� ���� ���� ���� ��, DB2 XQuery� ���� �� �� �� ���� ��� ���

(fn:index-of), ��� ��� ��� �� �� ��(fn:insert-before � fn:remove) � ����� �� �

� ��(fn:distinct-values)� � ��� �����.

��� ���� �� $managers� ��� ��� ���� employee �� ��� ���� �� ��

$students� �� ��� ���� employee �� ��� ���� ��� �����.

�� ��� � ���� ���� �� ���� ���� ��� ����.

v $managers union $students� ��� �� �� ��� ���� �� ��� �����.

v $managers intersect $students� ����� �� ��� ���� �� ��� �����.

v $managers except $students� ������ ��� �� ��� ���� �� ��� �����.

�� ��

5 ���� ���� � ���

76 IBM DB2 XQuery ���

Page 91: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

13 ���� ��� ID�

�� ���

�� ��� ���, ��, ���, � � � ���� ���� ��� �����.

�� ��� �� ���� ���� � � � ����� ��� ����. �� ���� ��

����� ��� ��� � ��� �� ���� �� ����� � � ����.

� 22. XQuery�� �� ���

��� �� ���

-(unary), +(unary) ����� � ����, ����� � �����. ���� ����

*, div, idiv, mod ���, � �, �� � �, ��� ���� ����

+, - ���, �� ���� ����

�: �� ��� ��� ���� ��� �� � �� ��� �� ��� �� ���. �� �, a-b� ��� ����

� a - b � a -b� �� ���� �����.

�� ���� � � �� , � ��� �� �����. �� ���� ��� � � ����� ���

(���� ��)�� �� ��� �� �����.

v ���� ����� � ����� �� ���� � � � ������.

v ���� ����� � ��� � ���� ����� ��� �����.

v ���� ����� �� �� ��(xdt:untypedAtomic)�� � xs:double� ������. �

��� ��� ��� �����.

� �� ����� �� �� ���� �� ��� ����, ���� ���� ����� ����

� ��� � � ��� ��� ��� ���. (�� �, 0�� � � � � � ��� ���.) �

���� �� �� ���� �� ��� ��� ��� ��� �����.

78 ���� � 23 �� ��� �� �� ��� �����. � ����� �� A� ����

� ����� ���� �� B� � ����� ����. �� ��� xs:integer, xs:decimal, xs:float,

xs:double � �� ��� � � ���� ��� �� �� ����. ���� � �� ���

��� �, � � �� ����� �� � �� � � ���� �� ��� � �� ��

��(xs:integer, xs:decimal, xs:float, xs:double)� � �� ���.

� 4 � ��� 77

Page 92: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� 23. �� ��� ����� �� �

����� �� ��� ���� A� �� ���� B� �� �� ��

A + B �� �� ��

xs:date xdt:yearMonthDuration xs:date

xdt:yearMonthDuration xs:date xs:date

xs:date xdt:dayTimeDuration xs:date

xdt:dayTimeDuration xs:date xs:date

xs:time xdt:dayTimeDuration xs:time

xdt:dayTimeDuration xs:time xs:time

xs:dateTime xdt:yearMonthDuration xs:dateTime

xdt:yearMonthDuration xs:dateTime xs:dateTime

xs:dateTime xdt:dayTimeDuration xs:dateTime

xdt:dayTimeDuration xs:dateTime xs:dateTime

xdt:yearMonthDuration xdt:yearMonthDuration xdt:yearMonthDuration

xdt:dayTimeDuration xdt:dayTimeDuration xdt:dayTimeDuration

A - B �� �� ��

xs:date xs:date xdt:dayTimeDuration

xs:date xdt:yearMonthDuration xs:date

xs:date xdt:dayTimeDuration xs:date

xs:time xs:time xdt:dayTimeDuration

xs:time xdt:dayTimeDuration xs:time

xs:dateTime xs:dateTime xdt:dayTimeDuration

xs:dateTime xdt:yearMonthDuration xs:dateTime

xs:dateTime xdt:dayTimeDuration xs:dateTime

xdt:yearMonthDuration xdt:yearMonthDuration xdt:yearMonthDuration

xdt:dayTimeDuration xdt:dayTimeDuration xdt:dayTimeDuration

A * B �� �� ��

xdt:yearMonthDuration �� xdt:yearMonthDuration

�� xdt:yearMonthDuration xdt:yearMonthDuration

xdt:dayTimeDuration �� xdt:dayTimeDuration

�� xdt:dayTimeDuration xdt:dayTimeDuration

A idiv B �� �� xs:integer

A div B �� �� ��. �� ����� �

xs:integer � xs:decimal

xdt:yearMonthDuration �� xdt:yearMonthDuration

xdt:dayTimeDuration �� xdt:dayTimeDuration

xdt:yearMonthDuration xdt:yearMonthDuration xs:decimal

xdt:dayTimeDuration xdt:dayTimeDuration xs:decimal

A mod B �� �� ��

v �� � ��� xs:decimal -1.5� ���� � ��� xs:integer -1� �����.

78 IBM DB2 XQuery ���

Page 93: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

-3 div 2-3 idiv 2

v �� ��� �� � ���� � � xdt:dayTimeDuration �� ���.

$emp/hiredate - $emp/birthdate

v �� �� �� ���� �� � unit-price � unit-discount� ���� ���� ��� ���

��.

$unit-price - $unit-discount

�� ��

58 ���� �����

18 ���� ����

59 ���� ��� � ���

59 ���� �� ���

21 ���� � 2 � �� ����

�� ��

55 ���� �� �

64 ���� ��� �� ����

�� ���

�� ��� � �����. XQuery� � ��� �� ��� � ��, �� �� � �� ���

�����.

� ��

��� �� � �����. �� ����� eq, ne, lt, le, gt � ge� ����.

�� ����� � ���� �����.

� 24. XQuery�� �� ���

��� ��

eq � � � ��� true� �����.

ne � � � �� ��� true� �����.

lt � � � �� ��� true� �����.

le � � � �� ��� ��� true� �����.

gt � � � �� �� true� �����.

ge � � � �� ��� ��� true� �����.

�� ��� � ����� �� �� � ����� � �� � ����. �� �

(xs:float, xs:integer, xs:decimal, xs:double � � ���� ��� �)� ����� �� � �

���. �� xs:string xs:anyURI � �� � ����.

� 4 � ��� 79

Page 94: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

Special values: xs:float� xs:double � � �� 0 �� 0� ���� ����. INF� INF� ��

-INF� -INF� ����. NaN ��� �� ����. �� ���� � �� �

NaN �� ��, �� ���� � �� �NaN �� ����. NaN ne NaN true

��, NaN ��� � �� ��� false���. xs:QName �� � �

��� URI� ���� �� �� ���� ��� ��� �����(� ���� �

�� � �� ��).

��� � � �� , � ��� �� �����. ��� �� � � ����� ���(�� �

� ��)�� �� ��� �� �����.

v ���� ���� � ��� � ����� ��� � � � ������.

v ���� ���� � ��� � ��� � ���� ����� ��� �����.

v ���� ���� � ��� �� �� �� (xdt:untypedAtomic)�� xs:string�� ���

���.

xdt:untypedAtomic �� � xs:string�� ����� � ��� �� ����. ���, ��

��� �� ��� ���� � ��� ����� �� �� ����. ��� �� �� �

� ���� �� ��� �� ����. �� �, �� � xs:integer xs:float� ����

xs:integer� ����� ���� ��� xs:float �� ��� � ����.

v � �� ����� �� ���� �� ��� ���� ���� ���� ����� ����, �

�� � � true �� false� ���. ����� �� �� ���� �� ��� ��� ��� ��

� �����.

�� � eq �� ne ���� �� � ����. Gregorian��� ��� xs:gYearMonth, xs:gYear,

xs:gMonthDay, xs:gDay � xs:gMonth �� �����. Gregorian �� ����� �� ����

����� ����� � � � ��� ���. (�: � ����� �� xs:gDay�� � ���

�� �� xs:gDay� ���). �� numeric xs:integer, xs:decimal, xs:float, xs:double � � �

�� ����� ��� �� �����. numeric � � ��� �� �� �� � �� � �

� � ��� ���� ����� �� ����� ��� � �� �� ��(xs:integer, xs:decimal, xs:float,

xs:double)� � ��� �����.

v numeric

v xs:boolean

v xs:string

v xs:date

v xs:time

v xs:dateTime

v xs:duration

v xdt:yearMonthDuration

v xdt:dayTimeDuration

80 IBM DB2 XQuery ���

Page 95: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

v Gregorian

v xs:hexBinary

v xs:base64Binary

v xs:QName

v xs:NOTATION

�� � gt, lt, ge � le ���� �� � ����. �� numeric xs:integer, xs:decimal, xs:float

� xs:double �� �����. numeric � � ��� �� �� �� � �� � �� � ��

� ���� ����� �� ����� ��� � �� �� ��(xs:integer, xs:decimal, xs:float, xs:double)�

� ��� �����.

v numeric

v xs:boolean

v xs:string

v xs:date

v xs:time

v xs:dateTime

v xdt:yearMonthDuration

v xdt:dayTimeDuration

v �� ��� ��� $book/author� ���� ��� ������. ��� � � xs:string ��

xdt:untypedAtomic� ��� ″Kennedy″ ��� ��� true���. ��� � � �� ��

� � ���� ����� ��� �����.

$book1/author eq "Kennedy"

v �� �� ����� weight� 100�� � ��� �� ��� � ����. weight �� ��

�� ��� � ��� � �����, �� �� ����.

//product[weight gt 100]

v �� ��� ID� � ���� � �� � � ��� ��� �� ��� � ���� true�

��.

<a>5</a> eq <a>5</a><a>5</a> eq <b>5</b>

�� ��

6 ���� ��� �

21 ���� � 2 � �� ����

� 4 � ��� 81

Page 96: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� ��

�� ��� �� �� �� ���� ���� ��� ���� � �� � ���� � �

�� ��� ��� ������ ����. �� �� ����� =, !=, <, <=, > � >=� ����.

�� ��� �� �� ���� �����.

� 25. XQuery�� �� ���

��� ��

= � ���� �� � � ���� �� ��� true� �����.

!= � ���� �� � � ���� �� �� ��� true� �����.

< � ���� �� � � ���� �� �� ��� true� �����.

<= � ���� �� � � ���� �� �� ��� ��� true� �����.

> � ���� �� � � ���� �� �� �� true� �����.

>= � ���� �� � � ���� �� �� ��� ��� true� �����.

�� ��� � � �� ��� �����. �� ��� �� � � ����� ���(�� � ��

�� ��)���. � ���� � ���� ���� ��� ���� � �� � ��

�� � ��� ��� ��� ������ ����. ��� �� � �� � �� ��� ����

�.

v � �� � xdt:untypedAtomic� ����� � �� � numeric �� ����� ��

xs:double ��� ������.

v � �� � xdt:untypedAtomic� ����� � �� � xdt:untypedAtomic �� xs:string�

����� xdt:untypedAtomic xs:string ��� ������.

v � �� � xdt:untypedAtomic� ����� � �� � xs:string, xdt:untypedAtomic �� �

� �� ���� ��� xdt:untypedAtomic � �� � ��� ������.

�� ��� �� �� ���� � �� �� ��� eq, ne, lt, le, gt �� ge � ��� �

��� �����.

�� � � � ���� ���� � ���� ���� �� �� ��� true ��

�� �� � true���.

�: ��� ���� � �� ��� � � �� �� ��� � � ����. �� �, �� (1, 2)

= (2, "Hello")� 2 eq 2� true��� true� �� �� ��, 1 ″Hello″� �� � ��

�� ��� �� �� ����.

�: �� � ���� ���� ����� XQuery �� fn:deep-equal� ������.

v $book1� �� � � �� �� � � xs:string �� xdt:untypedAtomic� ���� ″Kennedy″

�� �� ��� true���.

$book1/author = "Kennedy"

82 IBM DB2 XQuery ���

Page 97: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

v �� ���� � �� �� ��� ���� ����. �� ��� true�� � � ���

false���. � �� �� ��� �� � ��� �� �����.

(1, 2) = (2, 3)(2, 3) = (3, 4)(1, 2) = (3, 4)

v �� ���� �� �� ��� � ���, � � true���. � ��� =� != ���� ��� �

� ��� ��� �����.

(1, 2) = (2, 3)(1, 2) != (2, 3)

v �� ��� �� $a, $b � $c� xdt:untypedAtomic �� �� �� � ��� �����. �

���� �� �� ″1″, ″2″ � ″2.0″� � ����. � ��� $b� $c� ��� (″2″� ″2.0″)

��� �����, �� ��� false� �����.

($a, $b) = ($c, 3.0)

��, �� ��� $b� ��� (″2″) 2.0� ��� ����� true� �����.

($a, $b) = ($c, 2.0)

�� ��

5 ���� ���� � ���

6 ���� ��� �

58 ���� �����

�� ��

133 ���� �deep-equal ���

�� ��

�� ��� ��� �����. ��� ���� �� ID� ����� �� ���� � ��� � �

� � ��� ��� ���� � � ����.

�� ��� XQuery�� �� �� �� �� ���� �����.

� 26. XQuery�� �� �� ���

��� ��

is ���� ��� ID� ��� true� �����.

<< �� ���� � ���� ��� � ���� ���� � �� true� �����.

>> �� ���� � ���� ��� � ���� �� ��� �� true� �����.

�� ��� � � �� , � ��� �� �����. �� ��� � � �� ��� �� �����.

v � ����� �� �� �� � ���� ���. �� ��� ��� �����.

v ���� � ��� � ����� ��� � � � ������.

v is ���� ���� ��� ���� ��� ��� ID� ��� � true�� �� ��� false

���.

� 4 � ��� 83

Page 98: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

v << ���� ���� ��� �� ���� �� ���� ��� �� ���� ���� � � �

true� �����. �� ��� false� �����.

v >> ���� ���� ��� �� ��� ��� �� ���� �� ��� �� ��� �� �

true� ���� �� ��� false� �����.

v �� ��� �� ����� �� ����� �� ��� �� ��� ��� ��� ����.

/books/book[isbn="1558604820"] is /books/book[call="QA76.9 C3845"]

v �� ��� � � � ��� ��� ID� ���� false���.

<a>5</a> is <a>5</a>

v �� ��� �� ���� �� ����� ���� ��� �� ����� ���� ���� �

�� ��� ����.

/transactions/purchase[parcel="28-451"] << /transactions/sale[parcel="33-870"]

�� ��

13 ���� ��� ID�

12 ���� ���� �� ���

7 ���� ��� �� ���

���

��� ��� and� or� ���� �� (true �� false)� �����.

�� ��� �� ���� ���� � � � ����� ��� ����.

� 27. XQuery�� ��� ���

��� ��

and ���� � true�� true� �����.

or ��� � �� �� � � true�� true� �����.

���� � � �� (true �� false)��� �����. ���� ��� � � ����� EBV(Effective

Boolean Value)� ����. � �� ���� ����� EBV� ����, � � �� �� ��

� ���. ����� EBV� ���� ���� � � ��� ���. �� ��� ����� EBV�

���� ���� ���� � � �����.

� 28. ����� EBV� ���� �� ���� �

���� 1� EBV ��� ���� 2� EBV ��

true and true true

true and false false

false and true false

false and false false

84 IBM DB2 XQuery ���

Page 99: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� 28. ����� EBV� ���� �� ���� � (��)

���� 1� EBV ��� ���� 2� EBV ��

true and �� ��

�� and true ��

false and �� false �� ��

�� and false false �� ��

�� and �� ��

true or true true

false or false false

true or false true

false or true true

true or �� true �� ��

�� or true true �� ��

false or �� ��

�� or false ��

�� or �� ��

�: ��� ��, XQuery �� ���� ����� �� �� � ���� fn:not ��� �����.

v �� ��� true� �����.

1 eq 1 and 2 eq 21 eq 1 or 2 eq 3

v �� ��� false �� ��� �����.

1 eq 2 and 3 idiv 0 = 1

v �� ��� true �� ��� �����.

1 eq 1 or 3 idiv 0 = 1

v �� ��� ��� �����.

1 eq 1 and 3 idiv 0 = 1

�� ��

60 ���� ���� �� �

�� ��

155 ���� �not ���

�����

������ �� �� XML ��� � ���. XQuery� � ��, � ��, �� ��, ��� ��,

�� ��� �� � �� ��� � �� ������ �����. XQuery�� ��� �����(�

������ ��� �����)� ����.

� 4 � ��� 85

Page 100: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� ������ XML ��� ��� ���� �� �� XML ��� � ���. XQuery� � �

�(� ��, ��� ��, �� � ��� �� � ��), �� ��� �� � �� ��� � ��

� ������ �����. �� �, �� ������ ��� � � �� �� �� ����

book �� � ���.

<book isbn="isbn-0060229357"><title>Harold and the Purple Crayon</title><author>

<first>Crockett</first><last>Johnson</last>

</author></book>

��� ������ ���� ���� �� ��� ���� �� �� XML ��� � ���. �

�� ������ � ��� �� ���� ��� ����, �� ��� �(�� �� �

), ��� ��� �� ����� � ���. XQuery� � ��, � ��, �� ��, ��

� ��, �� ��� �� � �� ��� � �� ��� ������ �����. �� �, �� ��

�� �� ��� � ������ ��� � � � �� ��� ������ � ����.

element book {attribute isbn {"isbn-0060229357" },element title { "Harold and the Purple Crayon"},element author {

element first { "Crockett" },element last {"Johnson" }

}}

�� ��

9 ���� ��� ���

������� �� ���

��� ������� � � � ��� ��� � ���� � �����. ��� ���

������ ��� � � �� ��� �����. ��� ���({}) �� � ��� ���

���� �����.

��� �� ������� ��� � ���� � �� � ����.

v � � �����

– � � ������ �� �� �� � ���� �� � ����.

– � � ������ ��� � � ��� ��� � � � � ���� ���� ��

� ����.

v ��� �����

– ��� ��� ��� � �� � �� � ����.

�� �, �� � � ������ ���� �����.

86 IBM DB2 XQuery ���

Page 101: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

<example><p> Here is a query. </p><eg> $b/title </eg><p> Here is the result of the query. </p><eg>{ $b/title }</eg>

</example>

� ������ ��� �� � � � � ���. (�� ��� � �� ��� �����.)

<example><p> Here is a query. </p><eg> $b/title </eg><p> Here is the result of the query. </p><eg><title>Harold and the Purple Crayon</title></eg>

</example>

�: � �� � � �� ��� ���� �� ��� ����� �� ��� �� ����� �

� ��� �� � ����. �� �, {{ �� ���� �� {� ��� � ����. �����,

}} �� ���� }� ��� � ����. �� �� �� &#x7b;� &#x7d;� ���� ��� ��

� �� � ����. ��� �� ���({)� ���� �� ����� �����. ��� �

� ���(})� �� �� �� ���� ��� �����.

�� ��

96 ���� ���� � ������

97 ���� ��� �� ������

98 ���� ���� �� ������

100 ���� ���� �� ��� ������

101 ���� ���� �� ������

�� �� �����

� � ������ XML ��� ��� ���� � ��� � ���. � � ��� �� �

�� � , ��� �� � �� �� ���� ��� �� � � ����.

� � ������ �� � � ��� �� ID� �� ��� � �����. � � ��� ��

� � � � �� ��� ID� �� � ��� ����.

��

�� �< ElementNameAttributeName = ’ AttributeValue ’

″ ″Namespace declaration attribute

� 4 � ��� 87

Page 102: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

/>

> </ ElementName >ElementContent

��

Namespace declaration attribute:xmlns:prefixToBind = URILiteralxmlns

ElementName

� � �� ���� QName. �� �� ElementName� ���� � � � ��� �

��� �� �� �� ��� � �� �� ���. ElementName� � ���� � �

� �� � � �� � ���� URI� �� ���� ��� � ����� ���� ����

�. ElementName� � ���� � �� �� �, � ��� �/� � ����� ��

����� �����. ElementName� �� � �� QName � � � ��� �� �

��.

AttributeName

� � � �� ���� QName. AttributeName� � ���� � �� �� � � ��

� ���� URI� �� ���� ��� � ����� ���� �����. AttributeName� �

���� � �� �� �, � � ����� �� ����. AttributeName� �� �

�� QName � � � ��� �� ���. � � � �� QName ��� ���.

�� ��� ���� � � ��� ���.

� � ������ � � ��� �� ID� �� � � ��� � ���. � � ���

� � � � � �����. � � ���� xdt:untypedAtomic� � ��� �����.

AttributeValue

� � ���� ��. � � ������ ��� � � �� ��� ���� ���

�� ���� �� � ����. �� ��� ��� �� � �� ��� ���� � ��

�� ��� ����. �� ��� �� AttributeValue�� ����� ��� �� ��� ���

�� �� ��� ��� ��� �����.

� 29. � � �� �� ��

�� �� �� �� ��

{ �� �� ���({{)

} �� �� ���(}})

< &lt;

& &amp;

″ &quot; �� �� ����(″″)

’ &apos; �� �� ����(″)

88 IBM DB2 XQuery ���

Page 103: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

xmlns

� ���� � � � ���� ��. QName�� � �� ����, xmlns� prefixToBind�

� URILiteral� ���� URI� ���� �����. � � ���� � � ����� ��

� � ��� �� �� �� ���� �� ���� ��� � ����� �����. �� �

�� � ���� � � xmlns:metric = "http://example.org/metric/units"� � � metric

� � ���� http://example.org/metric/units� �����.

� �� �� ��� QName�� ���� � xmlns� ��� �/� � ����� URILiteral

� ���� �����. � ��� �/� � ����� � ����� ��� � ��� �

� �� �� ���(�� � ���� � � �� � � ����� �� �)� �� ���

��. �� ��� � ���� � � xmlns = "http://example.org/animals"� ��� �/

� � ����� http://example.org/animals� �����.

prefixToBind

URILiteral� ��� URI� ���� � �. prefixToBind xml �� xmlns� � � ����.

��� � ��� ���� � � ��� ���.

URILiteral

URI� ���� �� ���(���� �� ���� �� �� 0� ��� �� ���). ��

��� ��� URI� ���. URILiteral� � ���� � � � ��� �/� �

����� ���� � ��� ��� �� 0 ��� � � ����. �� � ��

URILiteral� �� 0 ��� ���� � � �����.

ElementContent

� � ������ ��. ��� ������ �� �� �� � ��� �� �� ���

� ���. � ����� ��� ���� ����� ���� �� � �� ���� ����

�� �� �����. � �� ���� �� ���� �����. � � �� ��� ���

���( ���� � ��� ��) �� ��� ��� �����. � � ��� � ��

���� � ���� � � ���.

ElementContent� �� ��� � � � ����.

v ��� ��. ��� ��� ��� �� � �� ��� ��� �� ��� ��� �����. �

� ���� �� �(eol) XML 1.0� �� ��� �� �(eol) �� ��� �� ������. �

� ��� �� ElementContent�� ����� ��� �� ��� ��� �� �� ��� �

�� ��� �����.

� 30. � ���� �� �� ��

�� �� ���� �� ��

{ �� �� ���({{)

} �� �� ���(}})

< &lt;

& &amp;

v ��� � �����

� 4 � ��� 89

Page 104: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

v CDataSections. CDataSections� �� ��� ���� �����. <![CDATA[contents]]> ���

contents� ��� � ���. contents� ��� �� < � &� � �� �� �� ��

��� ��� ���� �����. ��� ]]>� CDataSection� ����� contents ��� ���

� ����.

v �� �� � �� ��� ��� ��. ���� �� �� ��� ��� �� � �� ��� ��

��� ����.

v �� ���. ��� ��� �� ��� XQuery ������. �� �, {5 + 7}

������. ���� �� � �� ���� � � ����. ��� � �

����� ��� ����, � � ��� ��� � � �� �� � ����. ����

��� � ��� �� ��� �� � � ��� ��� � ����, �� �� ��� ��

���. ElementContent� ��� � ��� � �� ���� ��� �� ���. ��� �

��� � � �� � � ���. ElementContent� ��� �� �, �� �� �� ��

� ��� �� � � ��� � � ���. ElementContent� ��� �� ��� ����

��� ��� ����, � � ��� � ��� ���. �� ��� ��� �� ��� ���

�����.

v �� � � ������ book �� � ���. book ��� � ��, �� �� � ��

� �� ��� ��� ���� ��� ��� �����.

<book isbn="isbn-0060229357"><title>Harold and the Purple Crayon</title><author>

<first>Crockett</first><last>Johnson</last>

</author></book>

v �� �� � � ������� � ��� ���� ��� �����.

– �� ��� ��� � ( ″1″� ���� ��� ��)� �� � ��� � ���.

<a>{1}</a>

– �� ��� ��� � ( ″1 2 3″� ���� ��� ��)� �� � ��� � ���.

<a>{1, 2, 3}</a>

– �� ��� ��� � ( ″123″� ���� ��� ��)� �� � ��� � ���.

<c>{1}{2}{3}</c>

– �� ��� ��� � ( ″1 2 3″� ���� ��� ��)� �� � ��� � ���.

<b>{1, "2", "3"}</b>

– �� ��� ��� � ( ″1 saw 8 cats″� ���� ��� ��)� �� � ��� � ��

�. :

<fact>I saw 8 cats.</fact>

90 IBM DB2 XQuery ���

Page 105: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

– �� ��� ��� � ( ″1 saw 8 cats″� ���� ��� ��)� �� � ��� � ��

�.

<fact>I saw {5 + 3} cats.</fact>

– �� ��� � �� � (″I saw″� ���� ��� ��, howmany�� �� � � �� �

" cats."� ���� ��� ��)� �� � ��� � ���. � � ���� �� � (

″8″� ���� ��� ��)� ����.

<fact>I saw <howmany>{5 + 3}</howmany> cats.</fact>

�� ��

62 ���� ��� ��� ��� ���

63 ���� ��� ���

86 ���� �������� ����

�� ���� � � �

48 ���� �boundary-space ��

92 ���� �� � ������� ���� �� ���

�� ���� �� ��

� ���� � � � � ������ �� ��� �����. � ���� � � �

���� � �� URI� ����, � � � �� � � � � �� �� ��� �/�

�� ���� �� ���� �����.

����� � ���� � � � � ������ � ��� ����. � � �

� �����. � � �� QName���. � ��� URI� ���� �� ������.

� ���� � � � ��� � �� �� ����.

����: � � ������ � � ���� � � ��� ���. �� ��� ����

� � ��� ���.

URI� �� ���� ��� ���

QName� � � xmlns� ���� �� �� �� �, � � ���� � �(�� ��� �

��)� URI(� �� ���)� ���� � �����. �� �, � ���� � �

xmlns:metric = "http://example.org/metric/units"� � � metric� � ����

http://example.org/metric/units� �����.

� ���� � � � ��� � � �� URI� ����� ���� ���� ��� � �����

����, � �� ��� ��� � �� �� �����. � �� URI� �� � � �� �

� � ����� �� � ���� ��� ��� �� ����.

�� �, �� � ������� � ���� � � � ���� � � ��� � ��� �

��� � �����.

� 4 � ��� 91

Page 106: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

<box xmlns:metric = "http://example.org/metric/units"xmlns:english = "http://example.org/english/units">

<height> <metric:meters>3</metric:meters> </height><width> <english:feet>6</english:feet> </width><depth> <english:inches>18</english:inches> </depth>

</box>

��� ��/�� �� ���� �

QName� � �� �� xmlns � � ��� �/� � ����� ���� � �����.

�� �, � ���� � � xmlns = "http://example.org/animals"� ��� �/� �

����� http://example.org/animals� �����.

� ���� � � � ��� � � � ���� URI� �����. � URI� ����� �

��� ��� �/� � ����� ����, � �� �� ���� �����. URI� �� �

� �� � � � ����� � � �� ����, � �� � �� �� ��� � ���� �

� �����. � ���� URI� �� 0 �� � ����� ���� ��� �/�

� ����� ″none″�� �����.

�� �, �� � � ������� � ���� � � ��� �/� � �����

http://example.org/animals� �����.

<cat xmlns = "http://example.org/animals"><breed>Persian</breed>

</cat>

�� ��

15 ���� �XML � ���� � QName�

�� ��

94 ���� �� � �� � � � �����

�� �� ������� ��� �� ��

� � �������, ���� �� ��� �� �� �, � ����� �� �� �� ����

� �� ���� ��� �� ��� ������. �� �, ���� �� ����� ���� �

��� � ������ �� �� �� �� �� � ����.

�� �� ���� ��� ��� � � ������ ����.

<product>

</product>

<description> </description>{ " enclosed expression " }

92 IBM DB2 XQuery ���

Page 107: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� ��� ���� ���� �� ��� �����. product� description �� �� � ���

� ��� �� ��� �� �� � �, description �� �� �� ��� ��� �� ��

� �, ��� description �� �� � ��� �� �� � �, description �� ��

� ��� � ��� �� ��� �����.

���� ���� �� �� �� ���� ����.

v ����� � � ��

v �� ��(�: &#x20;) �� CDataSections� �� � � ��

v �� �� �� CDataSection� �� �� ��

���� �� �� ���� ��� � ������ �� ������ ��� �����. � ��

�� � �� boundary-space ��� �����. boundary-space �� strip�� ���� ����

�� �����. boundary-space �� preserve� ���� ���� �� �����. boundary-space

�� ���� ��� �� � � ���� �� ��� �� strip� ���.

v �� ��� � � cat � ���� breed� color�� �� � � ��� ����.

<cat><breed>{$b}</breed><color>{$c}</color>

</cat>

���� �� �� ���� strip���, � � � � �� � ������ �� �����.

v �� ��� ���� �� �� strip���. � �� <a>abc</a>� �����.

declare boundary-space strip;<a> {"abc"} </a>

v �� �� ��� ���� �� �� preserve���. � �� <a>abc</a>� �����.

declare boundary-space preserve;<a> {"abc"} </a>

���� �� ��� preserve��� ��� �� �� � ������� �����.

v �� ��� z � � �� ���� ��� ����. �� �� ����, � �� <a> z abc</a>

� �����.

<a> z {"abc"}</a>

v �� ��� �� �� � �� �� ��� �� � � �� ��� ���� �� ��� ����

�����. � �� <a> abc</a>� �����.

<a> &#x20;{"abc"}</a>

v ����� � � �� �� ���� ���� ���� ����, �� ��� ���� �

� ���� �� ��� ���� �����. � �� <a> </a>� �����.

<a>{" "}</a>

� 4 � ��� 93

Page 108: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

���� ����� � ������ �� ���� � � �� �� �� � ��� ��

���.

�� ��

18 ���� ����

�� ��

48 ���� �boundary-space ��

87 ���� �� � ������

��� ��� �� � �� ����

� � � ���� � ���� � ��� � �� � � � ���� �� ��� ����.

� � ���� � � ���� � �� URI� �����. � ���� � � � �

� QName� �� � �� � ���� � � ��� �����.

����: � ��� ����� �� ��� ��� ��� ���.

�� � �� �� ����

���� ��� � ����� ���� �� �����. � �� ��� XQuery��

���� ���� ���� �� � ���� � �� ���� � ���� �

��� �����. ��� � �� � � ��� ����.

� � �� ����

� � � ����� � ��� �� �����. � �� ��� � � ��

��� ��� � XQuery� ���� �� ����� �� �� �� � ��

�� � ��� �����. ��� � �� � � ��� � ����� �

��� ����� �� �� ����.

� � �� � � � ������ �� � ���� � � �� � ���� �� ���

��.

v �� ���� �� ��� � ��� �. � ���� � �� ������� �� � �

���� � � � �� � ���.

– �� � �����

– �� � � �����(� ���� � � � �� � ����� �� �� ������ �

� ������ �� �)

v ���� �� �� �. � ���� � �� ���� � ���.

– � � xml� � ���� URI http://www.w3.org/XML/1998/namespace� ���� �. �

� � � �� �� �� � ���.

– � � �� � �� � � �� ���� � � ����� ��( �� � � � �

���� � ���� �� �� ���� �� �). ��� �� � �� ���� �

�� � ���� �� �����. �� � �� ��� � � � �� �� � ��

94 IBM DB2 XQuery ���

Page 109: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�. ��� � �� �� � �� ��� ��� ���� �� �� ��� � �� ��

� � �� ���� ��� � �� �� � ���� �� � ���.

����: QName� ��� � �� ��� URI �� � �� �� � � � �����

�� � �� ��� ���� ���. QName� �� � ��� ���� � �

�����.

�� ��� � ���� �� �� � �� � � ������ �� ��� �����.

declare namespace p="http://example.com/ns/p";declare namespace q="http://example.com/ns/q";declare namespace f="http://example.com/ns/f";

<p:newElement q:b="{f:func(2)}" xmlns:r="http://example.com/ns/r"/>

� �� � ���� � ���� ��� ���� � ����� � ���� �� ���

��. �� � ���� � ������ QName� ��� � ����� ���� ��� �

� �� � � � ����� �����. ��� p:newElement� � � � ����� ��

� ���� ��� � ���.

v p = "http://example.com/ns/p" - � � ���� � QName p:newElement� � � p�

���� � � � ����� �����.

v q = "http://example.com/ns/q" - � � ���� � � QName q:b� � � q� ���

� � � � ����� �����.

v r = "http://example.com/ns/r" - � � ���� � � ���� � � � ���� �

��� � � � ����� �����.

v xml = "http://www.w3.org/XML/1998/namespace" - � � ���� � � � �� � �

�� �� ���� ���� � � � ����� �����.

� ���� f="http://example.com/ns/f"� ���� � � � ����� �� ���� �

���. � ������� � � f� ���� � �� � �� ���� �� �����.

(f:func(2)� � � q:b� ��� �� ���). ���, � � ���� � ���� �

�� � ����� �� ��� ���� ��� �� � �� ��� �� � � ���� ����.

�� ��

15 ���� �XML � ���� � QName�

�� ��

91 ���� �� ���� � � �

���� � ������

��� �� �����

��� � ������ ���� �� ��� ��� �� � ��� � ���.

� 4 � ��� 95

Page 110: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

��� � ������ �� � � ��� �� ID� �� ��� � �����. � � ��� �

� � � � � � ��� ����� ��� ����� �� ��� ID� �� � ��� ����.

���� element ElementName { }

ContentExpression��

element

� ��� � �� ���� �����.

ElementName

� �� QName. ElementName� � ���� � �� �� � � �� � ���� URI

� �� ���� ��� � ����� ���� �����. ElementName� � ���� � ��

�� �, � ��� �/� � ����� �� ����� �����. ElementName� �

� � �� QName � � � ��� �� ���.

ContentExpression

� � � ��� ��� � �� ���. ContentExpression� ��� ��� � �� �

� � ����. ContentExpression � � ��� �� � � � �� ���� � ��� � �

���. ContentExpression� ��� � ��� �� ��� �� � � ��� ��� � ���

�, �� �� ��� �����. ContentExpression� ��� � ��� �� ���� ���, �

� � � � � � � � � � � � � . ��� � � � � � � � � � � � � � .

ContentExpression� ��� �� �, �� �� �� ��� ��� �� � � ��� � � �

��. ContentExpression� ��� �� ��� ���� ��� ��� ����, � � ���

� � ���. �� ��� ��� �� ��� ��� �����.

�� ����� ��� � ������ �� �� ��� ��� � ���. �� $e� �� ���

�� �� �����. � ������ length�� �� � �� � ���. � �� $e� �

� � ���, $e ��� �� ��� ����.

element length {$e/@*, 2 * fn:data($e)}

� ��� $e ��� let $e := <length units="inches">{5}</length> ���� ����, �� �

�� � � � <length units="inches">10</length>� ���.

�� ��

86 ���� �������� ����

94 ���� �� � �� � � � �����

��� �� �����

��� � ������ ���� �� ���� � � � ��� � ���.

��� � ������ �� � � ��� �� ID� �� ��� � �����.

96 IBM DB2 XQuery ���

Page 111: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�: � ��� � � ��� � � ������� � � �� ���.

���� attribute AttributeName { }

AttributeValueExpression��

attribute

� ��� � �� ���� ��

AttributeName

� � � QName. AttributeName� � ���� � �� �� � � �� � ���� URI

� �� ���� ��� � ����� ���� �����. AttributeName� � ���� � �

� �� �, � � ����� �� ����. AttributeName� �� � �� QName

� � � ��� �� ���. � � � � � �� QName ��� ���. �� ���

���� � � ��� ���.

AttributeValueExpression

� ��� � � �� ���. ���� �� AttributeValueExpression� � � ���� ���

�, � ���� � �� ��� ������. ���� � ��� �� ��� ��

��� �����. ��� �� � � � ��� � ���.

��� ��� � ������ � ″7″ size�� � � � ���.

attribute size {4 + 3}

�� ��

11 ���� �� ���

�� ��

86 ���� �������� ����

87 ���� �� � ������

�� �� �����

�� �� �� ������ ��� ��������. �� �� ������ ���� �� ��

�� ��� �� ��� � ���. �� �� ������ ��� � � �� �� � �����.

�� �� ������ �� � � ��� �� ID� �� ��� �� �����.

����: � � �� ��� �� �� � ���� ����. XQuery �� �� ������ XML

��� ��� ���� XML 1.0 ��� � �� ����. �� �, �� ���� � ��

��� � ��� �� ����.

��

� 4 � ��� 97

Page 112: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� document { ContentExpression } ��

document

� �� ��� ���� �����.

ContentExpression

� � �� ��� ��� � �� ���. ContentExpression� � ��� ��� �� ��

� � �� � � � ����. �� ���� � ��� ��� ��� �����. �� ���

� �� ��� � � �����. ContentExpression� ��� � ��� �� ��� �� � �

��� ��� � ����, �� �� ��� �����. �� ���� ��� �� �

��� ���� ��� ��� ����, � � �� ��� � � ���. �� ��� ��� �

� ��� ��� �����.

�� �� �� ������ customer-list�� �� �� ���� XML ��� ���� �� ��

�� �����.

document{

<customer-list>{db2-fn:xmlcolumn(’MYSCHEMA.CUSTOMER.INFO’)/ns1:customerinfo/name}

</customer-list>}

�� ��

9 ���� ��� ���

�� ��

86 ���� �������� ����

��� �� �����

�� ��� �� ������ ��� ��������. ��� �� ������ ���� �� ��

�� ��� ��� ��� � ���.

��� �� ������ �� � � ��� �� ID� �� ��� ��� �����.

���� text { ContentExpression } ��

text

� ��� ��� ���� �����.

ContentExpression

� � ��� ��� ��� � �� ���. ���� �� ContentExpression� � � ���� �

98 IBM DB2 XQuery ���

Page 113: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

���, � ���� � �� ��� ������. ���� � ��� �� ��� �

� ��� �����. ��� �� � � ��� ��� ��� ���. ��� � � � ���

�� ��� ��� � �� ����.

�: ��� �� ������ �� 0 ��� ���� ��� ��� � �� � ��� � ����.

�� � ��� ��� � � � �� �� ��� ���� ���� �� ��� ��� ��

�� � ��� ��� �����.

�� ������ �� ″Hello″� ���� ��� ��� � ���.

text {"Hello"}

�� ��

11 ���� ���� ���

�� ��

86 ���� �������� ����

�� ��� �����

�� ��� ������ �� ��� ��� � ���. XQuery� �� ��� �� � � � � �

���� � ��� ������ �����.

� � ���� �� � �� �� ��� ����.

�� � ��

�� ���� �� ����� �����.

��� � ��

�� ���� ��� �����.

�� ��

12 ���� ��� ��� ���

�� �� ��� �����

� �� ��� ������ XML ��� ��� ���� �� ��� ��� � ���.

���� <? PITarget ?>

DirPIContents��

PITarget

�� ���� �� �� ����� �� ���� NCName. �� ���� PI ��� �� �

��� ���� �� ″XML″� � � � ����.

� 4 � ��� 99

Page 114: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

DirPIContents

�� ���� ��� ���� ��� ��. �� ���� ���� ?> ��� �� � ���

�.

�� ������ �� ��� ��� � ���.

<?format role="output" ?>

�� ��

12 ���� ��� ��� ���

�� ��

���� �� ��� ������

��� �� ��� �����

��� �� ��� ������ ���� �� ��� ��� ���� �� ��� ��� � ��

�.

��� �� ��� ������ �� � � ��� �� ID� �� ��� �� ��� �����.

���� processing-instruction PITarget { }

PIContentExpression��

�� ��

�� ��� ��� � �� ���� ��

PITarget

�� ���� �� �� ����� �� ���� NCName. � � Namespaces in XML

� �� ���� NCName� �� ��� ���.

PIContentExpression

�� ��� ��� ��� � �� ���. ���� �� PIContentExpression� � � ����

����, � ���� � �� ��� ������. ���� � ��� �� ���

�� ��� �����. � � �� ����, ��� �� �� ��� ��� ��� ���.

��� � � � ��� � ���� �� 0 ��� ����. �� ����� ″?>″ �

�� �� � ����.

�� ��� ������ �� ��� <?audio-output beep?>� � ���.

processing-instruction audio-output {"beep"}

�� ��

12 ���� ��� ��� ���

100 IBM DB2 XQuery ���

Page 115: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ��

99 ���� �� �� ��� ������

86 ���� �������� ����

�� �����

�� ������ �� ��� � ���. XQuery� �� �� � � � ���� ��� �����

� �����.

�� ��

12 ���� ��� ���

18 ���� ����

�� �� �����

� �� ������ XML ��� ��� ���� �� ��� � ���.

���� <!-- DirCommentContents --> ��

DirCommentContents

��� ��� ���� ��� ��. ��� ��� �� ���� ���� �� � ���, �

���� �� �� ����.

�� ������ �� ��� � ���.

<!-- This is an XML comment. -->

�� ��

12 ���� ��� ���

�� ��

���� �� ������

��� �� �����

��� �� ������ ���� �� ��� ��� �� �� ��� � ���.

��� �� ������ �� � � ��� �� ID� �� ��� �� �����.

���� comment { CommentContents } ��

��

�� ��� � �� ���� ��

� 4 � ��� 101

Page 116: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

CommentContents

��� ��� � �� ���. ���� �� CommentContents� � � ���� ����, ���

� ���� � �� ��� ������. ���� � ��� �� ��� �� ���

�����. ��� � � � ��� � ���� �� 0 ��� ����. �� ���

� �� �� ���� �� � ���, ����� �� �� ����.

�� ��� ������ <!--Houston, we have a problem.--> ��� � ���.

let $homebase := "Houston"return comment {fn:concat($homebase, ", we have a problem.")}

�� ��

12 ���� ��� ���

�� ��

101 ���� �� �� ������

86 ���� �������� ����

FLWOR ���

FLWOR ��� ���� �� ���� ��� �� � � �����. FLWOR ��� � ���

��� ��� ��, ��� ���� � � ��� �����.

FLWOR ���� ��

FLWOR ��� �� �(��� �)� ���� � ���. for, let, where, order by � return

�� � for clauselet clause where Expression

,ascending

order by Expressiondescending

� return Expression ��

for clause:

,

for $VariableName in Expressionat $PositionalVariableName

let clause:

102 IBM DB2 XQuery ���

Page 117: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

,

let $VariableName := Expression

for

for�� ���� ��. for� Expression� � � ����, VariableName� Expression� ���

� ��� �����.

let let�� ���� ��. let� VariableName� Expression� �� � � �����.

VariableName

Expression� � � ����� ��� �

PositionalVariableName

for�� � ��� �� ���� ��� �� �� � � ���� � ��� �

Expression

XQuery ���. ���� �� �� � ���� �� �, ��� �� �� � ��

���.

where

where�� ���� ��. where� for� let��� � � �� �� ��� �����.

order by

order by�� ���� ��. order by� return��� � ��� ��� �����.

ascending

�� � ����� ����� �����.

descending

�� � � ���� ����� �����.

return

return�� ���� ��. return�� ��� for, let, where � order by��� � � ���

��� � ��� �� � � ����. return�� �� � � � FLWOR ���� � ��

���� �����.

�� ��

104 ���� �for� let��

108 ���� �where��

109 ���� �order by��

111 ���� �return��

63 ���� ��� ���

111 ���� �FLWOR ���

� 4 � ��� 103

Page 118: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

for�� let�

FLWOR ����� for� �� let� �� ��� ��� FLWOR ���� � ��� �� � �

����.

�� ��

102 ���� �FLWOR ���� ���

109 ���� �order by��

for�

for� ���� � � �� ���� ���� � ��� ��� �����.

�� ��� �� for� ��� �� � ��� ���� �����. �� ��� for� $i�� ��

� ��� (1, 2, 3)� � �� ���� �����.

for $i in (1, 2, 3)return <output>{$i}</output>

for�� ��� � �� �� �� � ���(���� � ��� ��� �).

$i = 1$i = 2$i = 3

� ��� return� ��� � � ����. ���� � �� �� ����.

<output>1</output><output>2</output><output>3</output>

for��� �� ��� ��� � ���, ��� ���� � � ��� � ����. �� ��� for�

�� �� �� $a � $b� ��� 1 2 � 4 5� � �� ���� ����.

for $a in (1, 2), $b in (4, 5)return <output>{$a, $b}</output>

for�� ��� � � ��� �� �� �� ��� � ���. � � � �� �� � ���

��.

($a = 1, $b = 4)($a = 2, $b = 4)($a = 1, $b = 5)($a = 2, $b = 5)

� ��� return� � � ���� � � ����. ���� � �� �� ����.

<output>1 4</output><output>2 4</output><output>1 5</output><output>2 5</output>

� ���� � ���� �� ��� �, for �� � �� ��� ��� ���� ����.

104 IBM DB2 XQuery ���

Page 119: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

for�� �� ��

for��� ���� � ��� ��� ���� ��� ��� �� � ����. ��� �

�� �� at� ����. ���� ��� �� ��� ��� � ��� 1�� ���� ����

�� � ���� ��� �� �����.

�� ��� for� $cat�� ��� ��� ("Persian", "Calico", "Siamese")� � �� ����

�����. � � �� � ������� order � � � ���� � ���� �� $i�

�����.

for $cat at $i in ("Persian", "Calico", "Siamese")return <cat order = "{$i}"> { $cat } </cat>

for�� ��� � ��� �� ���� � �� �� � ��� � ���.

($i = 1, $cat = "Persian")($i = 2, $cat = "Calico")($i = 3, $cat = "Siamese")

� ��� return� � � ���� � � ����. ���� � �� �� ����.

<cat order = "1">Persian</cat><cat order = "2">Calico</cat><cat order = "3">Siamese</cat>

� �� �� �� � � ���� ��� FLWOR ���� order by�(�: order by $i)� ����

�� � �� �� ��� �� � ��� ���� ����. ��� �� ��� � ��

� ��� �� ��� � �� � ����.

�� ��

106 ���� ���� ���� for� let��

107 ���� �for � let� ���

107 ���� �for� let��� �� � �

let�

let� ��� ���� �� � � �����. let� ��� ���� ����.

�� ��� �� let� ��� �� � ��� ���� �����. �� ��� let� $j�� ���

��� (1, 2, 3)� � �� ���� �����.

let $j := (1, 2, 3)return <output>{$j}</output>

let�� �� � ���� �� � �� ���� �� �� �� � ���.

$j = 1 2 3

� ��� return� � ����. ���� � �� �� ����.

<output>1 2 3</output>

� 4 � ��� 105

Page 120: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

let� �� ��� �� � ����. �� for� � let� ���� �� ��� ���� � �

� ��� �����. �� ��� let��� �� �� $a � $b� ��� 1 2 � 4 5� � �� �

��� ����.

let $a := (1, 2), $b := (4, 5)return <output>{$a, $b}</output>

let�� ��� �� �� ��� �� � ���.

($a = 1 2, $b = 4 5)

� ��� return� ��� �� � ����. ���� � �� �� ����.

<output>1 2 4 5</output>

� ���� � ���� �� ��� �, � ���� � �� let �� � ���.

�� ��

���� ���� for� let��

107 ���� �for � let� ���

107 ���� �for� let��� �� � �

�� ���� for�� let�

FLWOR ���� for� let�� � � �� �, let�� � �� �� �� for�� � �� ��

�� �����.

�� ��� for� $a�� ��� ��� (1, 2, 3)� � �� ���� �����. let� $b�� �

�� ��� (4, 5, 6)� � �� ���� �����.

for $a in (1, 2, 3)let $b := (4, 5, 6)return <output>{$a, $b}</output>

� ��� for� let�� � � � �� � �����. ��� �� for��� �����.

($a = 1, $b = 4 5 6)($a = 2, $b = 4 5 6)($a = 3, $b = 4 5 6)

� ��� return� � � ���� � � ����. ���� � �� �� ����.

<output>1 4 5 6</output><output>2 4 5 6</output><output>3 4 5 6</output>

�� ��

107 ���� �for� let��� �� � �

107 ���� �for � let� ���

106 IBM DB2 XQuery ���

Page 121: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

for � let� ��

for� let� � � ��� ����� ��� ���� ��� ����.

�� ��� ��� for� let�� ���� FLWOR ���� �� � � ��� ����.

� 31. FLWOR ����� for� let� ��

�� �� FLWOR ��� ��

�� �� �� for $i in ("a", "b", "c")return <output>{$i}</output>

<output>a</output><output>b</output><output>c</output>

let $i := ("a", "b", "c")return <output>{$i}</output>

<output>a b c</output>

�� �� �� for $i in ("a", "b"), $j in ("c", "d")return <output>{$i, $j}</output>

<output>a c</output><output>b c</output><output>a d</output><output>b d</output>

let $i := ("a", "b"), $j := ("c", "d")return <output>{$i, $j}</output>

<output>a b c d</output>

�: � ���� ����� order by�� ���� �� �� ��� �������.

�� ��

�for� let��� �� � �

106 ���� ���� ���� for� let��

for�� let��� �� ��

for� �� let��� ��� ��� �� � ��� ��� FLWOR ���� �� �� ����

�� � ����. � for� �� let� ��� � �� � �� �� ��� ��� ��� ��

� ����.

�� ��� FLWOR ����� �� �� ����.

v �� $orders� ���� let�

v $orders� ���� �� $i� ���� for�

v $orders� $i� � � ���� �� $c� ���� �� let�

�� �� ���� ���� �� �� �� ��� ���� � �� �� �� �� �����.

let $orders := db2-fn:xmlcolumn("ORDERS.XMLORDER")for $i in fn:distinct-values($orders/order/itemno)let $c := fn:count($orders/order[itemno = $i])return<ordercount>

<itemno> {$i} </itemno><count> {$c} </count>

</ordercount>

����: FLWOR ���� for� let��� � �� � � � �� � ����.

�� ��

� 4 � ��� 107

Page 122: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

63 ���� ��� ���

107 ���� �for � let� ���

106 ���� ���� ���� for� let��

where�

FLWOR ����� where� for� � let��� � � �� �� ��� �����.

where� � �� �� ��� �� ��� �����. ��� true��(�, ���� � � ���

�� true �), �� ���� � return�� �� � �����. �� ���

�� �����.

�� ��� for� �� $x� $y� �� ���� �����.

for $x in (1.5, 2.6, 1.9), $y in (.5, 1.6, 1.7)where ((fn:floor($x) eq 1) and (fn:floor($y) eq 1))return <output>{$x, $y}</output>

for�� �� � �� �� �� � ��� � ���.

($x = 1.5, $y = .5)($x = 2.6, $y = .5)($x = 1.9, $y = .5)($x = 1.5, $y = 1.6)($x = 2.6, $y = 1.6)($x = 1.9, $y = 1.6)($x = 1.5, $y = 1.7)($x = 2.6, $y = 1.7)($x = 1.9, $y = 1.7)

where��� ��� ��� ���� �� �� ��� �����.

($x = 1.5, $y = 1.6)($x = 1.9, $y = 1.6)($x = 1.5, $y = 1.7)($x = 1.9, $y = 1.7)

return� ��� � ��� �� � � ����, ��� � � �� �� �����.

<output>1.5 1.6</output><output>1.9 1.6</output><output>1.5 1.7</output><output>1.9 1.7</output>

� �� ����� order by�� ����, �� �� ��� �������.

�� ��

60 ���� ���� �� �

�� ��

102 ���� �FLWOR ���� ���

107 ���� �for� let��� �� � �

108 IBM DB2 XQuery ���

Page 123: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

order by�

FLWOR ���� order by� return��� � ��� ��� �����. order by�� ��� FLWOR

���� � � ��� �� �� �����.

order by��� �� ��� �� ��� � ����. �� �� where��� ��� � ��� ��

�� ��� �� ���� � �����. � ��� return�� ��� ��� �����.

� �� �� ��� �� � � �� ��� �� � �� ��(��� �� � ��)� ��

�� �� ���� � ���. ��� ��� ��� �� � � ���� ���� ���� ��

���.

�� ��� FLWOR ����� product� price� � ���� ���� order by�� ����.

<price_list>{for $prod in db2-fn:xmlcolumn(’PRODUCT.DESCRIPTION’)/product/descriptionorder by xs:decimal($prod/price) descendingreturn<product>{$prod/name, $prod/price}</product>}

</price_list>

order by�� ���� �� �� ��� ��� for��� � � � ��� �� ����. � �

�� �� ��� xs:decimal($prod/price)� �� 9.99���. �� �� ��� �� ����

���, ��� 19.99� �����. �� �� ��� � ���� ���� �����, price�

19.99 product� price� 9.99 product�� � ���. � �� ����� �� ��� �� ���

� � �����. � �� return� �� ��� �� �� � � ��� �� � � ����.

� �� ��� SAMPLE ������� PRODUCT.DESCRIPTION ���� �� ��� ���� �

� �� ����.

<price_list><product>

<name>Snow Shovel, Super Deluxe 26"</name><price>49.99</price>

</product><product>

<name>Snow Shovel, Deluxe 24"</name><price>19.99</price></product>

<product><name>Snow Shovel, Basic 22"</name><price>9.99</price>

</product><product>

<name>Ice Scraper, Windshield 4" Wide</name><price>3.99</price>

</product></price_list>

� ��� �� ��� ��� price �� ����� xs:decimal � � ���. � � �� XML

���� price �� �� �� xs:string��� ����. ��� ���� ��� � � �� ��

� ��� �� ��� �����.

� 4 � ��� 109

Page 124: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� � �� �� xdt:untypedAtomic �, �� �� �� �� �� ���� ���

����� ����� ��� � ��� ���.

�: FLWOR ����� order by�� ���� �� � �� ���� ��� �� � ���

�. �� �, �� �� ��� �� ID(Cid)� 1000�� � customerinfo �� ��� ����

�.

db2-fn:xmlcolumn(’CUSTOMER.INFO’)/customerinfo[@Cid > "1000"]

�� �� �� ����� ��� ��� ����� order by�� ���� FLWOR ����

��� ���.

for $custinfo in db2-fn:xmlcolumn(’CUSTOMER.INFO’)/customerinfowhere ($custinfo/@Cid > "1000")order by $custinfo/name ascendingreturn $custinfo

�� � ��� ��� � ����. �� ��� �� �� ��� ��� � ���� � ���

��� �� ���� ����.

for $prod in db2-fn:xmlcolumn(’PRODUCT.DESCRIPTION’)/productorder by $prod/description/price descendingreturn $prod/name

�� �� �� ��

�� ��� � � �� ����� �� ��� ���� ���.

v �� ��� ���� ��� � � ���� �����. ��� � � �� �� ��� � ���

� ���. �� ��� ��� �����. �� ��� � � � �� �� ���.

v �� � �� xdt:untypedAtomic�� � xs:string ��� ������. �� �� ��

� ����� �� �� � �� �� ��� �� ��� �� ����� �� � ����.

v �� ��� �� � � � � ��� �� ��� ��� () �� � �� �� � �

�� �� �� ��� �����. � gt ���� ���� �� �� ��� ���� �����.

�� �, �� ��� xs:anyURI xs:string � � � ���� ��� � �� �, �

xs:string �� gt ���� ���� �����. ��� �� ��� �� � � �� � gt ���

� ���� �� �� ��� � � ��� ���.

v �� � ��� ��� ��� � return�� ��� ��� �����. ��� ��� �

� ��� ���� �� � ���� ���� ���� �����.

– �� ��� ��� �, �� � � ����� �� �����.

– �� ��� � �� �, �� � � ����� � �����.

�� � �� �(greater-than) ��� �� �� �����.

– � ���� � �� �� ���.

– NaN � ���� ��� � �� �� � �� �����.

– � � �� � gt ���� true� ���� � �� ���.

110 IBM DB2 XQuery ���

Page 125: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

– +0.0 gt -0.0 -0.0 gt +0.0 � � false���, ��� �� �� �� 0 �� �� 0

�� �� � ��� �� ����.

�: �� � �� �� �� ��� ascending �� � �� �� � � �� ����,

descending �� ��� � �� �� � � ��� �����.

�� ��

58 ���� �����

59 ���� ��� � ���

59 ���� �� ���

�� ��

102 ���� �FLWOR ���� ���

56 ���� �XQuery ����� � � ���

return�

return� FLWOR ���� � � � ���.

return� FLWOR ���� � ��� � � �� �� � ��� �� � � ����. ��

� �� � � ���� FLWOR ���� � � ���. return�� ��� ��� ��� ��

�� ��� FLWOR ���� order by�� ���� �� ��� �������.

�: return��� �� � � ���� ���� ��� �� �� ����. FLWOR ���

� ����� � � ����, ��� ���� ��� �� � � ���� � �� �

��� � � �� �� �� � � � � � ����.

�� ��

102 ���� �FLWOR ���� ���

109 ���� �order by��

FLWOR �

� ����� ��� ���� FLWOR ���� ���� �, �� � ��� ���� ��� ��

�����.

XML ���� ���� FLWOR ���

�� ��� SAMPLE ������� �� PRODUCT � PURCHASEORDER ����� XML ���

� ��� 2005�� ��� �� ���� ��� ��� �� ����.

�� �� � PurchaseOrder �� � � �� �� ��� � ����� ����, ��� ��� �

�� � �� �� ��� ��� � ����� ��� ��� �����. for� � ″2005″

� 4 � ��� 111

Page 126: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� ���� OrderDate � � �� �� ��� �� PURCHASEORDER.PORDER ��� ����

�. � �� ���� let� $parts ��� partid � �����. � �� return�� �� ��� �

�� �� �� ����.

declare default element namespace ’http://posample.org’;for $po in db2-fn:xmlcolumn(’PURCHASEORDER.PORDER’)

/PurchaseOrder[fn:starts-with(@OrderDate, "2005")]let $parts := $po/item/partidreturn

<ProductList PoNum = "{$po/@PoNum}">{ db2-fn:xmlcolumn(’PRODUCT.DESCRIPTION’)

/product[@pid = $parts]/description/name }</ProductList>

�� � � �� ����.

<ProductList xmlns="http://posample.org" PoNum="5001"><name>Snow Shovel, Deluxe 24 inch</name><name>Snow Shovel, Super Deluxe 26 inch</name><name>Ice Scraper, Windshield 4 inch</name></ProductList><ProductList xmlns="http://posample.org" PoNum="5003"><name>Snow Shovel, Basic 22 inch</name></ProductList><ProductList xmlns="http://posample.org" PoNum="5004"><name>Snow Shovel, Basic 22 inch</name><name>Snow Shovel, Super Deluxe 26 inch</name></ProductList>

��� ����� FLWOR ���

�� ��� SAMPLE ������� CUSTOMER ���� �� �� �� ���� �����. for

� customerinfo ��� ���� � �� $city ��� �����. � ���� let� $cust-names

��� �� ��� �� ���� � �� �� � ��� �����. ��� �� � �� ��

� ���� �� ��� ��� � �� ���� �� �� �����.

declare default element namespace ’http://posample.org’;for $city in fn:distinct-values(db2-fn:xmlcolumn(’CUSTOMER.INFO’)

/customerinfo/addr/city)let $cust-names := db2-fn:xmlcolumn(’CUSTOMER.INFO’)

/customerinfo/name[../addr/city = $city]order by $cityreturn <city>{$city, $cust-names} </city>

112 IBM DB2 XQuery ���

Page 127: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� � � �� ����.

<city xmlns="http://posample.org">Aurora<name>Robert Shoemaker</name>

</city><city xmlns="http://posample.org">Markham

<name>Kathy Smith</name><name>Jim Noodle</name>

</city><city xmlns="http://posample.org">Toronto

<name>Kathy Smith</name><name>Matt Foreman</name><name>Larry Menard</name>

</city>

���� ��� FLWOR ���

�� ��� 2005� � �� ���� � � � ��� ���� HTML ���� � ���.

��� 2005� �� �� � PurchaseOrder �� ���� �� for�� �� $po ��� ����

�. � �� $po/item/ �� ��� ���� � PurchaseOrder � �� � �� �� ���

��. �� ��� (price * quantity)��� �� ��� � ��� �����. fn:sum ��� � ��

� � ��� � ���� �����. let� fn:sum ��� � � �� $revenue� �����. order

by� � �� ��� � ��� ���� � � �����. ����� return���� � �� ���

�� ��� ����� � �� � ���.

declare default element namespace ’http://posample.org’;<html><body><h1>PO totals</h1><table><thead><tr><th>PO Number</th><th>Status</th><th>Revenue</th></tr></thead><tbody>{

for $po in db2-fn:xmlcolumn(’PURCHASEORDER.PORDER’)/PurchaseOrder[fn:starts-with(@OrderDate, "2005")]

let $revenue := sum($po/item/(price * quantity))order by $revenue descendingreturn<tr>

<td>{string($po/@PoNum)}</td><td>{string($po/@Status)}</td><td>{$revenue}</td>

</tr>}</tbody></table></body></html>

� ��� � � �� ����.

<html xmlns="http://posample.org"><body>

<h1>PO totals</h1><table>

<thead>

� 4 � ��� 113

Page 128: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

<tr><th>PO Number</th><th>Status</th><th>Revenue</th>

</tr></thead><tbody>

<tr><td>5004</td><td>Shipped</td><td>139.94</td>

</tr><tr>

<td>5001</td><td>Shipped</td><td>123.96</td>

</tr><tr>

<td>5003</td><td>UnShipped</td><td>9.99</td>

</tr></tbody>

</table></body></html>

���� �� �� �� �� �����.

PO totals

PO Number Status Revenue

5004 Shipped 139.94

5001 Shipped 123.96

5003 Unshipped 9.99

�� ��

102 ���� �FLWOR ���� ���

���

��� �� if, then � else� ���� ��� ���� � true� false�� �� ��� �

��� ����.

���� if ( TestExpression ) then Expression else Expression ��

if ��� ��� �� � ��

TestExpression

���� �� ��� �� ��� XQuery ���

114 IBM DB2 XQuery ���

Page 129: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

then

TestExpression� ��� �� � true�� � �� ��� ���� ����. ��� ���� �

�� �� � false�� ��� ���� ��� ��� ����.

else

TestExpression� ��� �� � false�� � �� ��� ���� ����. ��� ���� �

�� �� � true�� ��� ���� ��� ��� ����.

Expression

XQuery ���. ���� �� �� � ���� �� �, ��� �� �� � ��

���.

�� ��� ��� basic��� �� � � ���� product �� ��� � ���. basic � �

price �� � 10�� �� ��� �� ���� �����.

declare namespace ns1= "http://posample.org";for $prod in db2-fn:xmlcolumn(’PRODUCT.DESCRIPTION’)/ns1:product/ns1:descriptionreturn (if (xs:decimal($prod/ns1:price) < 10)then <product basic = "true">{fn:data($prod/ns1:name)}</product>else <product basic = "false">{fn:data($prod/ns1:name)}</product>)

� ��� � � �� ����.

<product basic="true">Snow Shovel, Basic 22"</product><product basic="false">Snow Shovel, Deluxe 24"</product><product basic="false">Snow Shovel, Super Deluxe 26"</product><product basic="true">Ice Scraper, Windshield 4" Wide</product>

� ���, ��� ��� price �� ���� xs:decimal � � ���. xs:decimal ��� ��

��� �����.

�� ��

60 ���� ���� �� �

�� ���

�� ��� �� ��� ���� � �� �� �� �� ��� �� ��� ���� ��� true

� �����. �� ���� �� true �� false���.

�� ��� ���(some �� every)� ���� ���� �� ��� ��� �� ��� ���

��� �����. ��� ���� ���� ��� ��� ��� ���� �� ��� �� ���.

� �� ��� ��� ��� ����� ���� �� �� �� ��� ��� �� ��� ����

�� ����.

� 4 � ��� 115

Page 130: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

��

�� �

,

some $VariableName in Expression satisfies TestExpressionevery

��

some

� ��� ���� �� ��� TestExpression� ��� �� � Expression� ��� �� ��

� ��� �� true � true� �����. �� ��� �� ��� false� �����.

every

� ��� ���� �� ��� TestExpression� ��� �� � Expression� ��� �� ��

� �� true � true� �����. �� ��� �� ��� false� �����.

VariableName

Expression � � � ��� �� ��� �. �� ����� ��� ��� �� �����

�� � ��� �� �� ���� �� � ����.

Expression

XQuery ���. ���� �� �� � ���� �� �, ��� �� �� � ��

���.

satisfies

��� ��� �� � ��

TestExpression

Expression� ��� ���� �� �� �� ��� ��� �� ��� ���� XQuery ���

�: ��� ���� � �� ��� � � �� �� ��� � � ����.

v �� �� �� ��� SAMPLE ������� CUSTOMER.INFO ��� �� �� ��� Canada

� ��� �� � true� �����.

every $cust in db2-fn:xmlcolumn(’CUSTOMER.INFO’)/customerinfosatisfies $cust/addr/@country = "Canada"

v �� ��� � �� ��� �� a� b(� 9�� ��� ��)� ��� � �� ��� �� �

�� ���� ����.

�� ���� � � true���.

some $a in (3, 5, 9), $b in (1, 3, 5)satisfies $a * $b = 27

�� ���� � � false���.

every $a in (3, 5, 9), $b in (1, 3, 5)satisfies $a * $b = 27

116 IBM DB2 XQuery ���

Page 131: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

v �� ���� �� ���� � � ��� � �� ���� ��� �����. ��� ���� �

�� �� ���� true� ���� � �� ���� ��� �����, � ��� true �

� ��� �����.

some $a in (3, 5, "six") satisfies $a * 3 = 9

�����, �� ��� false �� ��� �����.

every $a in (3, 5, "six") satisfies $a * 3 = 9

�� ��

60 ���� ���� �� �

�� ��

63 ���� ��� ���

��� ���

��� ��� �� � �� ��� �� � � � ���.

��� ���� ����� �(�� ��� �� �)���. ��� ���� ��� � ���� �

��� �� ���� � � �� �� � ���� �����. ��� � � �� � � �� ��

��� ��� �����. ��� ���� ��� ��� ��� �� � �� �� �� � � �

��� �����. �� � �� �� �� �� ���� ���� ����. � ��� ���

� �� �� �� ��� ��� 27 ���� �� ����� ������.

� ���� �� � ��� ���(?)� �� ��� ��� �� ���.

���� Expression cast as TargetType

?��

Expression

�� �� �� � ���� ���� XQuery ���. � ���� TargetType ��� ���( ? )

� �� ��� �����.

TargetType

Expression� � ��� �. TargetType �� ��� �� XML �� � �� ���

���. xs:NOTATION, xdt:anyAtomicType � xs:anySimpleType ��� � TargetType� �

� ��� �� ����.

? Expression� � � � ���� � � ��� �����.

�� ��� ��� ��� xs:string � price � � xs:decimal ��� ����� � ���

��.

� 4 � ��� 117

Page 132: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

for $price in db2-fn:xmlcolumn(’PRODUCT.DESCRIPTION’)/product/description/pricereturn $price cast as xs:decimal

� �� ��� SAMPLE ������� PRODUCT.DESCRIPTION ���� �� ��� ���� �

� �� ����.

9.9919.9949.993.99

�� ��

21 ���� � 2 � �� ����

58 ���� �����

�� ��

27 ���� �� ����

118 IBM DB2 XQuery ���

Page 133: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� 5 � �� ��

DB2 XQuery� XML ���� �� ���� �� ��� ����� �����. ��� �� ���

XQuery �� �� � DB2 �� ��� �����.

XQuery �� ��

XQuery �� ��� � � fn� ��� � ����� ����. � � ����� ���

�� � �������. � � ���� � �� ���� �� XQuery �� ��� �� �

����. � ��� �� � ����� �� � �� default function namespace ��� �

��� �, � � fn� ���� XQuery �� ��� ��� ���.

DB2 �� ��

�� DB2 �� ��� db2-fn:xmlcolumn db2-fn:sqlquery��, DB2 �������� XML

� ����� � �����. � � db2-fn ��� �� � ����� ����, ��� �

�� ���� ��� �� � ��� default function namespace ��� ��� � ��

��� ���� �� � � ���� � �� ��� ���.

�� ��

15 ���� �XML � ���� � QName�

�� ��

51 ���� �default function namespace ��

��� ��

�� �� �� ��� string, boolean, number, date, sequence, QName, node � �����.

String ��

�� ��

127 ���� �codepoints-to-string ��� fn:codepoints-to-string ��� ���� �� ��� ����

��� ��� �����.

127 ���� �compare ��� fn:compare ��� ��� �����.

128 ���� �concat ��� fn:concat ��� � ��� �� � ��� ��� ����

�.

129 ���� �contains ��� fn:contains ��� ��� ��� �� ��� ���� ��

� ����.

136 ���� �ends-with ��� fn:ends-with ��� ��� ��� �� ��� �����

��� ����.

145 ���� �lower-case ��� fn:lower-case ��� ��� ���� �����.

145 ���� �matches ��� fn:matches ��� ��� ��� �� ����� ���

����.

153 ���� �normalize-space ��� fn:normalize-space ��� �� �� �� ��� ���

��� � �� �� ���� �� �� ��� ����.

© Copyright IBM Corp. 2006 119

Page 134: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ��

154 ���� �normalize-unicode ��� fn:normalize-unicode ��� ��� �� ���� ���� �

����.

159 ���� �replace ��� fn:replace ��� �� �� � �� ��� ��� �� �

���, ��� ��� ��� � �� ��� ����.

167 ���� �starts-with ��� fn:starts-with ��� ��� ��� �� ��� �����

��� ����.

168 ���� �string ��� fn:string ��� � �� ��� �����.

169 ���� �string-join ��� fn:string-join ��� ���� ��� ��� ���� � �

��� �����.

169 ���� �string-length ��� fn:string-length ��� ��� �� �����.

170 ���� �string-to-codepoints ��� fn:string-to-codepoints ��� �� � ���� ���� �

� ��� ���� �����.

171 ���� �substring ��� fn:substring ��� ��� �� ��� �����.

172 ���� �substring-after ��� fn:substring-after ��� ��� � ��� � ����

� � ��� ���� ���� �� ��� �����.

173 ���� �substring-before ��� fn:substring-before ��� ��� � ��� � ���

� ��� ���� ���� �� ��� �����.

175 ���� �tokenize ��� fn:tokenize ��� ��� �� ��� ���� �����.

177 ���� �translate ��� fn:translate ��� ���� � ��� �� ��� ��

��.

179 ���� �upper-case ��� fn:upper-case ��� ��� ���� �����.

Boolean ��

�� ��

125 ���� �boolean ��� fn:boolean ��� ���� ��� �� � �����.

138 ���� �false ��� fn:false ��� xs:boolean false� �����.

155 ���� �not ��� fn:not ��� ���� ��� �� � true�� false� ��

��, ���� ��� �� � false�� true� �����.

178 ���� �true ��� fn:true ��� xs:boolean true� �����.

181 ���� �zero-or-one ��� fn:zero-or-one ��� �� ��� ��� ��� �� � �

�� � �� �����.

Number ��

�� ��

123 ���� �abs ��� fn:abs ��� �� � ��� �����.

124 ���� �avg ��� fn:avg ��� ���� ��� � �� �����.

126 ���� �ceiling ��� fn:ceiling ��� ��� �� �� ��� � � �� �

��� �����.

139 ���� �floor ��� fn:floor ��� ��� �� �� ��� � � �� �

��� �����.

147 ���� �max ��� fn:max ��� ���� � ��� �����.

120 IBM DB2 XQuery ���

Page 135: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ��

148 ���� �min ��� fn:min ��� ���� � ��� �����.

156 ���� �number ��� fn:number ��� � xs:double ��� ��� �����.

164 ���� �round ��� fn:round ��� ��� �� � �� � � ��� ����

�.

165 ���� �round-half-to-even ��� fn:round-half-to-even ��� ��� �� � �� � � ��

� ���� �� � �����.

174 ���� �sum ��� fn:sum ��� ���� �� � ��� �����.

date ��

�� ��

130 ���� �current-date ��� fn:current-date ��� UTC� ��� ����� �� ��� �

����.

131 ���� �current-dateTime ��� fn:current-dateTime ��� UTC� ��� ����� �� ��

� ��� �����.

131 ���� �current-time ��� fn:current-time ��� UTC� ��� ����� �� ��� �

����.

132 ���� �dateTime ��� fn:dateTime ��� xs:date xs:time �����

xs:dateTime � � ���.

140 ���� �implicit-timezone ��� fn:implicit-timezone ��� PTOS� ��� ���

(xs:dayTimeDuration �)� �����. PT0S� UTC� �

�� ����� �����.

Sequence ��

�� ��

130 ���� �count ��� fn:count ��� ���� �� � �� �����.

132 ���� �data ��� fn:data ��� � �� �� ���� ��� �� � ��

���� �����.

133 ���� �deep-equal ��� fn:deep-equal ��� ���� ���� �� ���� �

����� ��� ����.

135 ���� �distinct-values ��� fn:distinct-values ��� ����� ���� � �����.

136 ���� �empty ��� fn:empty ��� �� � ����� ��� �����.

137 ���� �exactly-one ��� fn:exactly-one ��� �� ��� ��� �� �� ���

��.

138 ���� �exists ��� fn:exists ��� ���� � ���� ���� ��� ����

�.

143 ���� �last ��� fn:last ��� �� �� � ���� �� � �� ����

�.

141 ���� �index-of ��� fn:index-of ��� ����� ��� ���� � ����

�.

142 ���� �insert-before ��� fn:insert-before ��� � ���� ��� � ����

�����.

� 5 � �� �� 121

Page 136: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ��

156 ���� �one-or-more ��� fn:one-or-more ��� �� �� ��� ��� �� �

�� �����.

157 ���� �position ��� fn:position ��� �� �� � ����� ���� ���

� �����.

158 ���� �remove ��� fn:remove ��� ����� ��� �����.

162 ���� �reverse ��� fn:reverse ��� ����� ��� ��� ����� ����.

171 ���� �subsequence ��� fn:subsequence ��� ���� �� ���� �����.

178 ���� �unordered ��� fn:unordered ��� ���� ��� ���� � ��� �

����.

QName ��

�� ��

140 ���� �in-scope-prefixes ��� fn:in-scope-prefixes ��� �� �� � � � ����

� � � ��� �����.

144 ���� �local-name-from-QName ��� fn:local-name-from-QName ��� xs:QName � �� ���

�����.

151 ���� �namespace-uri-for-prefix ��� fn:namespace-uri-for-prefix ��� �� � � � ���

�� �� � �� ��� � ���� URI� �����.

152 ���� �namespace-uri-from-QName ��� fn:namespace-uri-from-QName ��� xs:QName � � �

��� URI ��� �����.

158 ���� �QName ��� fn:QName ��� � ���� URI� �� QName(� �

�� ��)� � �� ����� �� �� �����.

161 ���� �resolve-QName ��� fn:resolve-QName ��� � ���� URI� �� � ��

�� � �� ���� � �� � � � ����� �

���, �� QName� � �� ��� �� QName��

�����.

Node ��

�� ��

143 ���� �local-name ��� fn:local-name ��� ��� �� � �� ��� �����.

149 ���� �name ��� fn:name ��� �� �� � � � �� � ��� ���

��.

150 ���� �namespace-uri ��� fn:namespace-uri ��� ��� �� ��� �� � ���

� URI� �����.

153 ���� �node-name ��� fn:node-name ��� ��� �� QName� �����.

163 ���� �root ��� fn:root ��� ��� ��� ��� �� ��� �����.

�� ��

�� ��

135 ���� �default-collation ��� fn:default-collation ��� ������� �� ��� ��� �

�� ���� URI� �����.

122 IBM DB2 XQuery ���

Page 137: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ��

166 ���� �sqlquery ��� db2-fn:sqlquery ��� �� ��� DB2 �������� SQL

fullselect� � ���� ����.

180 ���� �xmlcolumn ��� db2-fn:xmlcolumn ��� �� ��� DB2 ������� ��

�� ���� ����.

�� ��

51 ���� �default function namespace ��

abs ��

fn:abs ��� �� � ��� �����.

���� fn:abs(numeric-value) ��

numeric-value

�� �� � ���

numeric-value� �� �� �� � � �����.

v xs:float

v xs:double

v xs:decimal

v xs:integer

v � �� ��� ��� �

v xdt:untypedAtomic

numeric-value� xdt:untypedAtomic ��� ��� xs:double �� �����.

���

numeric-value� � ���� ��� �� numeric-value� �����.

numeric-value� � ����� fn:abs� � ���� �����.

��� ��� � numeric-value� ��� �� �� ����.

v numeric-value� xs:float, xs:double, xs:decimal �� xs:integer �, ���� numeric-value�

��� ����.

v numeric-value� xs:float, xs:double, xs:decimal �� xs:integer��� ��� ���, ����

numeric-value� �� � � ��� ����.

v numeric-value� xdt:untypedAtomic ��� ��� ���� � ��� � xs:double���.

� 5 � �� �� 123

Page 138: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ��� –10.5� ��� �����.

fn:abs(-10.5)

�� 10.5���.

�� ��

21 ���� � 2 � �� ����

avg ��

fn:avg ��� ���� ��� � �� �����.

���� fn:avg(sequence-expression) ��

sequence-expression

�� �� �� ��� ���� ��� �� � ���

v xs:float

v xs:double

v xs:decimal

v xs:integer

v xdt:untypedAtomic

v xdt:dayTimeDuration

v xdt:yearMonthDuration

v � �� ��� ��� �

xdt:untypedAtomic �� �� �� xs:double� ������. ��� ��� �� �� ���

� �� �� �� �� �� � ��� �� �� ��� �� �� ���. � � �

� ��� �����. �� �, �� ���� money(xs:decimal�� ���) � stockprice(xs:float

�� ���) �� �� �, � xs:float ��� �����.

���

sequence-expression � ���� ���, �� sequence-expression� �� � ����. ��

� ��� � sequence-expression� �� ��� ��� � ��� sequence-expression� �

�� ��� ��� ����.

sequence-expression� � ����� � ���� �����.

�� ��� ��� (5, 1.0E2, 40.5)� �� �����.

fn:avg((5, 1.0E2, 40.5))

124 IBM DB2 XQuery ���

Page 139: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

xs:double ��� ��� �����. ��� xs:double 4.85E1� ����, � ″48.5″� �

�����.

�� ��

5 ���� ���� � ���

59 ���� �� ���

boolean ��

fn:boolean ��� ���� ��� �� � �����.

���� fn:boolean(sequence-expression) ��

sequence-expression

�� �� ��� ��� ��� �� � ���

���

���� ��� �� sequence-expression� � �� ����.

� 32. XQuery�� �� �� � �� ���� EBV

� �� ���� EBV

� ��� false

��� �� ��� true

xs:boolean �(�� xs:boolean�� ��� �)� �� false - xs:boolean � false �

true - xs:boolean � true �

xs:string �� xdt:untypedAtomic �(�� ��� ��� �

�� �)� ��

false - � �� 0 �

true - � �� 0�� � �

�� �(�� �� ��� ��� �)� �� false - � NaN��� ����� 0 � �

true - � ����� 0 �� � �

� �� ��

�: �� ��� ��� �� ��� �� � ���� ���� ��� �� ��� �� � �� ����� �� � �

���.

�� � � ��� �: �� ��� 0� ��� �� � �����.

fn:boolean(0)

�� false���.

�� �� ���� ��� �: �� ��� (<a/>, 0, <b/>)� ��� �� � �����.

fn:boolean((<a/>, 0, <b/>))

� 5 � �� �� 125

Page 140: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� true���.

�� ��

60 ���� ���� �� �

5 ���� ���� � ���

ceiling ��

fn:ceiling ��� ��� �� �� ��� � � �� � ��� �����.

���� fn:ceiling(numeric-value) ��

numeric-value

�� �� � ���

numeric-value� �� �� �� � � �����.

v xs:float

v xs:double

v xs:decimal

v xs:integer

v xdt:untypedAtomic

v � �� ��� ��� �

numeric-value� xdt:untypedAtomic ��� ��� xs:double �� �����.

���

numeric-value� � ���� ��� �� numeric-value�� ��� � � �� � �����.

��� ��� � numeric-value� ��� �� �� ����.

v numeric-value� xs:float, xs:double, xs:decimal �� xs:integer � ���� numeric-value�

��� ����.

v numeric-value� xs:float, xs:double, xs:decimal �� xs:integer��� ��� ���, ����

numeric-value� �� � � ��� ����.

numeric-value� � ����� �� � ������.

�� ��� �: �� ��� 0.5� �� � �����.

fn:ceiling(0.5)

�� 1���.

�� ��� �: �� ��� (-1.2)� �� � �����.

126 IBM DB2 XQuery ���

Page 141: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

fn:ceiling(-1.2)

�� -1���.

�� ��

21 ���� � 2 � �� ����

codepoints-to-string ��

fn:codepoints-to-string ��� ���� �� ��� ���� ��� ��� �����.

���� fn:codepoints-to-string(codepoint-sequence) ��

codepoint-sequence

���� �� ��� ���� �� ���� �� � ���

���

codepoint-sequence� � ���� �� � �� codepoint-sequence� �� ��� ��� ��

� �����. codepoint-sequence� �� ���� �� ��� �� ��� ��� ��� ����

�.

codepoint-sequence� � ����� �� �� 0 �����.

�� ��� UTF-8 �� �� (88,81,117,101,114,121)� ��� ��� �����.

fn:codepoints-to-string((88,81,117,101,114,121))

�� ‘XQuery’���.

�� ��

170 ���� �string-to-codepoints ���

compare ��

fn:compare ��� ��� �����.

���� fn:compare(string-1,string-2) ��

string-1 , string-2

�� xs:string

� 5 � �� �� 127

Page 142: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

���

string-1 � string-2� � ���� ��� �� � ��� �����.

-1 string-1� string-2�� � �

0 string-1� string-2� � �

1 string-1� string-2�� � �

string-1 string-2� �� ��(�� 0 � ��) �� �� ��� ��� ��� ��� ����.

string-1 string-2� �� ��� �� ��(�� �� � ��)� ��� � �� ��� �� ����

� ��� � �� ���� ����. � ��� ��� ���� � ���.

string-1� string-2�� �� string-2� �� ��� string-1� � ��� ��� string-1� string-2��

���.

string-1 �� string-2� � ����� � ���� �����.

�� ��� ��� ��� ���� ‘ABC’� ‘ABD’� �����.

fn:compare(’ABC’, ’ABD’)

‘ABC’� ‘ABD’�� ����. �� -1���.

concat ��

fn:concat ��� � ��� �� � ��� ��� �����.

����

fn:concat(atomic-value,atomic-value ),

, atomic-value

��

atomic-value

�� �� � ���. �� � ��� �, �� �� 0 ��� �����.

atomic-value� xs:string � �� ��� ���� �� xs:string�� ������.

���

�� atomic-value �� � ����� �� �� 0 �����. �� ��� ��

atomic-value �� ��� ���� � xs:string � �����.

128 IBM DB2 XQuery ���

Page 143: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ��� �� ‘ABC’, ‘ABD’, � ��� � ‘ABE’� �����.

fn:concat(’ABC’, ’ABD’, (), ’ABE’)

�� ‘ABCABDABE’���.

�� ��

6 ���� ��� �

�� ��

175 ���� �tokenize ���

contains ��

fn:contains ��� ��� ��� �� ��� ���� ��� ����.

���� fn:contains(string,substring) ��

string substring� � ��

string xs:string ��� ���� � ������. string� � ��� � string �� 0

��� �����.

substring

string�� � ����

substring xs:string ��� ���� � ������.

���

�� �� � ��� ���� � �� xs:boolean true���.

v substring� string �� ���� �� �

v substring� � ������ �� 0 �� �

�� ��� �� false���.

�� ��� �� ‘Test literal’� ‘lite’�� ��� ����� ��� ����.

fn:contains(’Test literal’,’lite’)

�� true���.

�� ��

136 ���� �ends-with ���

167 ���� �starts-with ���

� 5 � �� �� 129

Page 144: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

count ��

fn:count ��� ���� �� � �� �����.

���� fn:count(sequence-expression) ��

sequence-expression

�� �� ��� ��� ��� �� � ���

���

sequence-expression� � ���� ��� sequence-expression� �� �����. sequence-expression

� � ����� 0� �����.

�� ��� ��� (5, 1.0E2, 40.5)� �� �� �����.

fn:count((5, 1.0E2, 40.5))

�� 3���.

�� ��

5 ���� ���� � ���

current-date ��

fn:current-date ��� UTC� ��� ����� �� ��� �����.

���� fn:current-date() ��

���

�� �� ��� ���� xs:date ���.

�� ��� �� ��� �����.

fn:current-date()

2005� 12� 2�� � ��� ���� �, �� 2005-12-02Z���.

�� ��

131 ���� �current-dateTime ���

131 ���� �current-time ���

130 IBM DB2 XQuery ���

Page 145: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

132 ���� �dateTime ���

140 ���� �implicit-timezone ���

current-dateTime ��

fn:current-dateTime ��� UTC� ��� ����� �� �� � ��� �����.

���� fn:current-dateTime() ��

���

�� �� �� � ��� ���� xs:dateTime ���.

�� ��� �� �� � ��� �����.

fn:current-dateTime()

2005� 12� 2� 6� 25�� ���(��� -PT5H)�� � ��� ���� � , ��

2005-12-02T011:25:30.864001Z���.

�� ��

130 ���� �current-date ���

�current-time ���

132 ���� �dateTime ���

140 ���� �implicit-timezone ���

current-time ��

fn:current-time ��� UTC� ��� ����� �� ��� �����.

���� fn:current-time() ��

���

�� �� ��� ���� xs:time ���.

�� ��� �� ��� �����.

fn:current-time()

� 5 � �� �� 131

Page 146: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ���� 6� 31�� � ��� ���� �, �� 06:31:35.519001Z� ���.

�� ��

130 ���� �current-date ���

131 ���� �current-dateTime ���

�dateTime ���

140 ���� �implicit-timezone ���

data ��

fn:data ��� � �� �� ���� ��� �� � �� ���� �����.

���� fn:data(sequence-expression) ��

sequence-expression

� ���� ��� �� ���

���

sequence-expression� � ��� � �� � ������.

sequence-expression� �� �� � �� sequence-expression���.

sequence-expression� �� �� � �� sequence-expression� � ���.

sequence-expression� � ��� ���� � ��� �, sequence-expression� ���� �� ��

�� �����. sequence-expression� � �� ���� �� �� ����. sequence-expression�

� ��� 0� ��� �� ��� � �� ����.

�� ��� ���(<x xsi:type=″string″>ABC</x>,<y xsi:type=″decimal″>1.23</y>)� �� � ��

� ���� ���� �����.

fn:data((<x xsi:type="string">ABC</x>,<y xsi:type="decimal">1.23</y>))

�� (″ABC″,1.23)���.

�� ��

13 ���� ���� � � �� �

dateTime ��

fn:dateTime ��� xs:date xs:time ����� xs:dateTime � � ���.

132 IBM DB2 XQuery ���

Page 147: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

���� fn:dateTime(date-value,time-value) ��

date-value

xs:date

time-value

xs:time

���

�� �� � �� date-value� �� �� � �� time-value� � xs:dateTime ���. �

� ���� �� �� �����.

v � � ���� �� �, � � ���� ����.

v � �� ���� ��� �� ��� ���� ��� � � ������.

v �� � ���� ��� ��� �����.

�� ��� xs:date xs:time �� xs:dateTime� �����.

fn:dateTime((xs:date("2005-04-16")), (xs:time("12:30:59")))

�� xs:dateTime 2005-04-16T12:30:59���.

�� ��

130 ���� �current-date ���

131 ���� �current-time ���

140 ���� �implicit-timezone ���

deep-equal ��

fn:deep-equal ��� ���� ���� �� ���� ������ ��� ����.

���� fn:deep-equal(sequence-1,sequence-2) ��

sequence-1, sequence-2

�� ���. � ���� �� �� �� �� �� ��� � � ����.

���

�� sequence-1 sequence-2� ��� � xs:boolean true���. �� ��� �� false

���.

sequence-1 sequence-2� � ����� �����.

� 5 � �� �� 133

Page 148: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

���� �� �� �� �� ��� � � ���� � ���� �����.

v sequence-1� �� �� sequence-2� �� �� ����.

v sequence-1� � ��(item-1) sequence-2� �� ��(item-2) ��� ��� ��� ��� �

��. item-1 � item-2� �� �� � ��� �� � �����.

– item-1 item-2� � � �� �� �� ��� �����.

- ��� item-1 eq item-2� true� �����.

- item-1 item-2� � xs:float �� xs:double NaN� ����.

– item-1 item-2 � � � ��� ���� �� ����� �� ��� �����.

� 33. ����� �� ��

item-1 � item-2� �� �� �� ��

�� item-1� ��� � � � � ���� item-2� ��� � � � � ���� �����.

� �� ��� � true�� ���.

v item-1 item-2� �� ����. � � ���� URI � �� �� ����. � �

���� � �� �����.

v item-1 item-2� � �� ��� item-1� �� � item-2� �� � � �����.

v �� �� � ��� true�� ���.

– �� � �� �� �� ��� �� ��(��� � � � � �)� ���

��� �� �� ��, item-1� ��� � � � � ���� item-2� ��� �

� � � ���� �����.

– �� � �� �(xs:decimal �) �� �� ��� �� �(��� xs:decimal

″temperature″ �)��, item-1� � � item-2� � �����.

– �� � ��(���� � � � )� ���� �� ��� �� ����.

– �� � � �� ��(��� ��)�� ��� �� ���, item-1� � �

�� ���� item-2� � � �� �����.

� �� ��� � true�� ���.

v item-1 item-2� �� ����. � � ���� URI � �� �� ����. � �

���� � �� �����.

v item-1� � � item-2� � �����.

��� �� �� �� eq ���� ���� ��� �� � �����.

�� �� �� �� eq ���� ���� ��� �� � �����.

�� ��� �� ��� � true�� ���.

v item-1 item-2� �� �����.

v �� �� �� eq ���� ���� ��� �� � �����.

�� ��� ��� (1,‘ABC’)� (1,‘ABCD’)� ���� �����. �� ��� ��� ��� ���

��.

fn:deep-equal((1,’ABC’), (1,’ABCD’))

134 IBM DB2 XQuery ���

Page 149: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� false���.

�� ��

13 ���� ���� � � �� �

9 ���� ��� ���

�� ��

82 ���� ��� ���

default-collation ��

fn:default-collation ��� ������� �� ��� ��� ��� ���� URI� �����.

���� fn:default-collation() ��

���

�� xs:anyURI ��� ������� ��� �����.

DB2 ������� ��� �� UCA400_NO� � ���. � ������� �� � �� ���

http://www.ibm.com/xmlns/prod/db2/sql/collations?name=UCA400_NO� �����.

fn:default-collation()

distinct-values ��

fn:distinct-values ��� ����� ���� � �����.

���� fn:distinct-values(sequence-expression) ��

sequence-expression

�� ��� �� � ���

���

sequence-expression� � ���� ��� �� sequence-expression� ���� � ���� ���

���. value1 value2� ���� value1 eq value2� false���. eq ���� � �� ��

�� ��� ��� ���� ��� �����.

xdt:untypedAtomic �� ���� �� xs:string �� �� �����.

xs:float � xs:double � � sequence-expression� �� NaN � ���� ��� �� NaN �

�����.

� 5 � �� �� 135

Page 150: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

xs:dateTime, xs:date �� xs:time � � ���� �� � ��� ��� �����. ���� ��

��� ���(UTC)� �����.

sequence-expression� � ����� � ���� �����.

�� ���� � eq ���� ��� � � ��� �� � ��� � � � � ��

�� �����. � ������ �� ���� ��� ���� ����.

�� ��� ���� ��� ���� � ����� ���� � �����.

fn:distinct-values((1, ’a’, 1.0, ’A’, <greeting>Hello</greeting>))

�� (1, ‘a’, ‘A’, ‘Hello’) �� (1.0, ‘A’, ‘a’, ‘Hello’)� ���.

�� ��

79 ���� � ���

empty ��

fn:empty ��� �� � ����� ��� �����.

���� fn:empty(item) ��

item ��� �� ��� �� � ���

���

item� � ����� �� true���. �� ��� �� false���.

�� �� empty ��� ���� �� $seq� ���� � ����� ��� ����.

let $seq := (5, 10)return fn:empty($seq)

�� false���.

�� ��

5 ���� ���� � ���

ends-with ��

fn:ends-with ��� ��� ��� �� ��� ����� ��� ����.

136 IBM DB2 XQuery ���

Page 151: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

���� fn:ends-with(string,substring) ��

string substring� � ��

string xs:string ��� ���� � ������. string� � ��� � string �� 0

��� �����.

substring

string� ��� � �� ��

substring xs:string ��� ���� � ������.

���

�� �� � ��� ���� � �� xs:boolean true���.

v substring� string� �� �� �

v substring� � ������ �� 0 �� �

�� ��� �� false���.

�� ��� �� ‘Test literal’� ‘literal’��� ��� ����� ��� ����.

fn:ends-with(’Test literal’,’literal’)

�� true���.

�� ��

129 ���� �contains ���

167 ���� �starts-with ���

exactly-one ��

fn:exactly-one ��� �� ��� ��� �� �� �����.

���� fn:exactly-one(sequence-expression) ��

sequence-expression

� ���� ��� �� ���

���

sequence-expression� ��� ��� �� � sequence-expression� �����. �� ��� ��� �

����.

� 5 � �� �� 137

Page 152: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� �� exactly-one ��� ���� �� $seq� ��� ��� � ���� ��� ����.

let $seq := 5return fn:exactly-one($seq)

5� �����.

�� ��

5 ���� ���� � ���

�� ��

156 ���� �one-or-more ���

181 ���� �zero-or-one ���

exists ��

fn:exists ��� ���� � ���� ���� ��� �����.

���� fn:exists(sequence-expression) ��

sequence-expression

�� ��� �� ��� �� � ���

���

sequence-expression� � ���� ��� �� true���. �� ��� �� false���.

�� �� exists ��� ���� �� $seq� ���� � ���� ���� ��� ����.

let $seq := (5, 10)return fn:exists($seq)

true� �����.

�� ��

5 ���� ���� � ���

false ��

fn:false ��� xs:boolean false� �����.

��

138 IBM DB2 XQuery ���

Page 153: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� fn:false() ��

���

�� xs:boolean false���.

false ��� ���� false� �����.

fn:false()

false� �����.

�� ��

178 ���� �true ���

floor ��

fn:floor ��� ��� �� �� ��� � � �� � ��� �����.

���� fn:floor(numeric-value) ��

numeric-value

�� �� � ���

numeric-value� �� �� �� � � �����.

v xs:float

v xs:double

v xs:decimal

v xs:integer

v xdt:untypedAtomic

v � �� ��� ��� �

�� � xdt:untypedAtomic ��� ��� xs:double �� �����.

���

numeric-value� � ���� ��� �� numeric-value�� � � �� � �����. ���

��� � numeric-value� ��� �� �� ����.

v numeric-value� xs:float, xs:double, xs:decimal �� xs:integer �, ���� numeric-value�

��� ����.

v numeric-value� xs:float, xs:double, xs:decimal �� xs:integer��� ��� ���, ����

numeric-value �� � � ��� ����.

� 5 � �� �� 139

Page 154: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

numeric-value� � ����� �� � ������.

�� ��� �: �� ��� 0.5� ��� �����.

fn:floor(0.5)

�� 0���.

�� ��� �: �� ��� (-1.2)� ��� �����.

fn:floor(-1.2)

�� -2���.

implicit-timezone ��

fn:implicit-timezone ��� PTOS� ��� ��� (xs:dayTimeDuration �)� �����. PT0S�

UTC� ��� ����� �����.

���� fn:implicit-timezone() ��

���

�� xs:dayTimeDuration ��� �� UTC PTOS���.

�� ��� xdt:dayTimeDuration(″PT0S″)� �����.

fn:implicit-timezone()

�� ��

130 ���� �current-date ���

131 ���� �current-dateTime ���

131 ���� �current-time ���

132 ���� �dateTime ���

in-scope-prefixes ��

fn:in-scope-prefixes ��� �� �� � � � ����� � � ��� �����.

���� fn:in-scope-prefixes(element) ��

140 IBM DB2 XQuery ���

Page 155: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

element

� � � ����� � �� � �

���

�� element� �� � � � ����� � � xs:NCName � ������. ��� � �

���� element� � ���, ��� � ���� � �� ��� �� �� 0 �����. �

���� ″xml″ �� � � � ����� �� �����.

�� ��� � emp� � � � ����� �� � �� ���(NCName��)� �����.

declare namespace d="http://www.example.org";let $department := document {<comp:dept xmlns:comp="http://www.mycompany.com" id="A07"><comp:emp id="31201" />

</comp:dept> }return fn:in-scope-prefixes($department/d:dept/d:emp)

�� (″xml″, ″comp″)��, ��� �� � ����.

�� ��

94 ���� �� � �� � � � �����

index-of ��

fn:index-of ��� ����� ��� ���� � �����.

���� fn:index-of(sequence-expression,search-value) ��

sequence-expression

�� �� ��� �� � ���

search-value

sequence-expression�� ��

���

�� sequence-expression�� eq ���� ��� ���� �� � search-value� ��� ���

� ���� xs:integer � ������. eq ����� ���� � ���� �� � �� �

� search-value� ��� �� ��� ����� � ���� ����. ���� � ���

� 1���.

sequence-expression� ��� ��� search-value� ��� sequence-expression� � ����� ��

� � ���� �����.

� 5 � �� �� 141

Page 156: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ��� ����� ‘ABC’� ���� � �����.

fn:index-of((’ABC’,’DEF’,’ABC’,’123’), ’ABC’)

�� ��� (1,3)���.

�� ��

5 ���� ���� � ���

insert-before ��

fn:insert-before ��� � ���� ��� � ���� �����.

���� fn:insert-before(source-sequence,insert-position,insert-sequence) ��

source-sequence

���� �� ���

source-sequence� �� ��� � ��� ������ � ������.

insert-position

source-sequence�� �� � ���� �� . insert-position� ��� � xs:integer�

��. insert-position<=0 � insert-position 1� �����. insert-position� source-sequence

� �� ��� �� insert-position source-sequence� �� ��� 1�� � �� �����.

insert-sequence

source-sequence� �� ���

insert-sequence� �� ��� � ��� ������ � ������.

���

source-sequence� � ���� �� �

v insert-sequence� � ���� �� �, �� �� ��� ���� ��� ������.

– source-sequence�� insert-position � ��

– insert-sequence� ��

– source-sequence�� insert-position ��� ��

– source-sequence�� insert-position ��� ��

v insert-sequence� � ����� �� source-sequence���.

source-sequence� � ��� �

v insert-sequence� � ���� ��� �� insert-sequence���.

v insert-sequence� � ����� �� � ������.

142 IBM DB2 XQuery ���

Page 157: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ��� ��� (1,2,3,7)� 4 � ��� (4,5,6)� ��� � ���� �����.

fn:insert-before((1,2,3,7),4,(4,5,6))

�� (1,2,3,4,5,6,7)���.

�� ��

5 ���� ���� � ���

last ��

fn:last ��� �� �� � ���� �� � �� �����.

���� fn:last() ��

���

�� �� � ���� � ���� ��� �� ���� ��� � ����. �� �� � ��

�� � ����� �� � ������.

�� ��� �� ��� (5, 1.0E2, 40.5)� �� �� �����.

fn:last()

�� 3���.

�� ��

5 ���� ���� � ���

�� ��

55 ���� ��� ���� � ��

local-name ��

fn:local-name ��� ��� �� � �� ��� �����.

���� fn:local-name( )

node��

node � �� �� �� �����. node� ���� ��� fn:local-name �� ���� ��

� �� ����.

� 5 � �� �� 143

Page 158: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

���

�� node� ��� ��� �� � node� � �� ����.

v node� ���� ��� ���� ��� �� �� �����.

v node� �� � �� ��� ��� ���� �� 0 ��� �����.

– node� � ������.

– node� � ��, � �� �� �� ��� ��� ����.

v node� �� � �� ��� ��� ���� ��� �����.

– node� ���� �����.

– node� ��� ����.

v � ��� ���� ��� node� �� �� �� �� � ��� ���� xs:string � ��

���.

�� ��� �� emp� �� �� �����.

declare namespace a="http://posample.org";fn:local-name(<a:b/>)

�� b���.

�� ��

9 ���� ��� �� ���

local-name-from-QName ��

fn:local-name-from-QName ��� xs:QName � �� ��� �����.

���� fn:local-name-from-QName(qualified-name) ��

qualified-name

�� ��� � ��� � � �� ���� ��� �

qualified-name xs:QName ��� ���� � ������.

���

qualified-name� � ���� �� �, �� qualified-name� �� �� xs:NCName ���.

qualified-name� � ����� � ���� �����.

144 IBM DB2 XQuery ���

Page 159: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ��� ��� �� �� ��� �����.

fn:local-name-from-QName(fn:QName("http://www.mycompany.com/", "ns:employee"))

�� ″employee″���.

�� ��

15 ���� ���� �(QNames)�

lower-case ��

fn:lower-case ��� ��� ���� �����.

���� fn:lower-case(source-string) ��

source-string

���� �� ��

source-string xs:string ��� ���� � ������.

���

source-string� � ���� ��� �� � ��� ���� ��� ��� ���� ���� ���

source-string���. ���� ���� �� �� ��� ��� � �� �����.

source-string� � ����� �� �� 0 �����.

�� ��� �� ″Wireless Router TB2561″� ���� �����.

fn:lower-case("Wireless Router TB2561")

�� ″wireless router tb2561″���.

matches ��

fn:matches ��� ��� ��� �� ����� ��� ����.

���� fn:matches(source-string,pattern )

,flags��

source-string

��� �� ��

� 5 � �� �� 145

Page 160: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

source-string xs:string �� � ������.

pattern

source-string� �� ���. ��� � ��� �� �� �� �� ���� ��, �

�� � � ��� �����.

pattern xs:string ���.

flags pattern� source-string� ����� ���� �� � ��� �� � �� xs:string

s ���(.)� �� ��� ��� �����.

s �� ���� ��� ���(.)� � ��� ��(X‘0A’)� ��� �� ��� �

���.

m ��(^)� �� ��(� ��� �� �� ) ���, � ��($)� �� �(� ��

� �� � ) ��� �����.

m �� ���� ��� ��(^) ��� �� ��� � ��($)� ��� �

����.

i �� ����� ���� ��� �����.

i �� ���� ��� ����� ���� �� �����.

x pattern �� �� ��� ���� �����.

x �� ���� ��� �� ��� �� �����.

���

source-string� � ���� ��� source-string� pattern ��� �� �� true���.

source-string� pattern ��� ��� �� false���.

pattern� �� �� �� �� � �� �� ��(^)� ���� ��� �� � �� �� � � ��

($)� ���� �� �, source-string� �� ��� pattern� ��� source-string pattern� �

���. pattern� �� �� �� �� � �� �� ��(^)� �� �, source-string source-string

� �� �� source-string�� � �� ���� source-string� pattern ��� ��� pattern �

���. pattern� �� � �� �� � � �� � ��($)� �� �, source-string source-string

� � �� source-string�� � �� ��� source-string� pattern ��� ��� pattern �

���. m �� ��� �� �� �� ���� �� ���� ��� ����.

source-string� � ����� �� false���.

��� � �� ���� ��� ��� �: �� ��� �� ″abbcacadbdcd″� ����� �� ″ac″

�� ″bd″� ��� ����.

fn:matches("abbcacadbdcd","(ac)|(bd)")

146 IBM DB2 XQuery ���

Page 161: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� true���.

�� ���� ��� ��� �: �� ��� �� ″bd″� �� ″ac″ �� ″bd″� ����� ��

��.

fn:matches("bd","^(ac)|(bd)$")

�� true���.

�� ��

���

��� ��� ��� ���� � ���� ���� �� ������. ��� �� XQuery

���� �����. fn:matches, fn:replace � fn:tokenize. DB2 XQuery ��� �� W3C

Recommendation XML Schema Part 2: Datatypes Second Edition�� ��� XML �� ��� �

�� ���� �� W3C Candidate Recommendation XQuery 1.0 and XPath 2.0 Functions and

Operators�� ��� �� ��� ���.

max ��

fn:max ��� ���� � ��� �����.

���� fn:max(sequence-expression) ��

sequence-expression

�� �� �� ��� ���� ��� �� � ���

v xs:float

v xs:double

v xs:decimal

v xs:integer

v xs:string

v xs:date

v xs:time

v xs:dateTime

v xdt:untypedAtomic

v xdt:dayTimeDuration

v xdt:yearMonthDuration

v � �� ��� ��� �

xdt:untypedAtomic �� �� �� xs:double� ������. ��� ��� �� �� ���

� �� �� �� �� �� � ��� �� ge ���� ���� �� ��� �� ��

���. �� � �� ��� �����. �� �, �� ���� money(xs:decimal��

���) � stockprice(xs:float�� ���) �� �� �, �� xs:float ��� ����

�.

� 5 � �� �� 147

Page 162: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

date, time �� dateTime � ����� �� ���� ���� ���. ��� ���

� �� �� datetime ��� ��� UTC� �����.

���

sequence-expression� � ���� ��� �� sequence-expression� �� � �����. ��

� ��� � sequence-expression� �� ��� ��� � ��� sequence-expression� ��

� ��� �� ��� ����.

sequence-expression� � ����� � ���� �����. ���� NaN� ���� � NaN� �

����.

�� ��� ��� (500, 1.0E2, 40.5)� ��� �����.

fn:max((500, 1.0E2, 40.5))

xs:double ��� ��� �����. ��� xs:double 5.0E2� ����, � ″500″�� �

�����.

�� ��

�min ���

min ��

fn:min ��� ���� � ��� �����.

���� fn:min(sequence-expression) ��

sequence-expression

�� �� �� ��� ���� ��� �� � ���

v xs:float

v xs:double

v xs:decimal

v xs:integer

v xs:string

v xs:date

v xs:time

v xs:dateTime

v xdt:untypedAtomic

v xdt:dayTimeDuration

v xdt:yearMonthDuration

v � �� ��� ��� �

148 IBM DB2 XQuery ���

Page 163: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

xdt:untypedAtomic �� �� �� xs:double� ������. ��� ��� �� �� ���

� �� �� �� �� �� � ��� �� le ���� ���� �� ��� �� ��

���. �� � �� ��� �����. �� �, �� ���� money(xs:decimal�� �

��) � stockprice(xs:float�� ���) �� �� �, �� xs:float ��� �����.

date, time �� dateTime � ����� �� ���� ���� ���. ��� ���

� �� �� datetime ��� ��� UTC� �����.

���

sequence-expression� � ���� ��� �� sequence-expression� �� � �����. ��

� ��� � sequence-expression� �� ��� ��� � ��� sequence-expression� �

�� ��� �� ��� ����.

sequence-expression� � ����� � ���� �����.���� NaN� ���� � NaN� �

����.

� ��� �: �� ��� ��� (500, 1.0E2, 40.5)� ��� �����.

fn:min((500, 1.0E2, 40.5))

xs:double ��� ��� �����. ��� xs:double 4.05E1� ����, � ″40.5″� �

�����.

��� ��� �: �� ��� ��� ��� ���� ��� (″x″, ″y″, ″Z″)� ��� �����. ��

� �� ����� ���� �� �����.

fn:min(("x", "y", "Z"))

�� ″x″���.

�� ��

147 ���� �max ���

name ��

fn:name ��� �� �� � � � �� � ��� �����.

���� fn:name( )

node��

node � �� �� ��� ��� �. node� ���� ��� fn:name �� ���� ���

�� ����.

� 5 � �� �� 149

Page 164: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

���

�� node� � �� ����.

v node� �� � �� ��� ��� ���� �� 0 ��� �����.

– node� � ������.

– node� � ��, � �� �� �� ��� ��� ����.

v node� �� � �� ��� ��� ���� ��� �����.

– node� ���� �����.

– node� ��� ����.

v � ��� ���� ��� � �(�� �)� node� �� �� ���� xs:string � ����

�.

�� ��� ″comp:emp″� �����.

declare namespace d="http://www.example.org";let $department := document {<comp:dept xmlns:comp="http://www.mycompany.com" id="A07"><comp:emp id="31201" />

</comp:dept> }return fn:name($department/d:dept/d:emp)

�� ��� ″comp:emp″� �����.

declare namespace d="http://www.example.org";let $department := document {<comp:dept xmlns:comp="http://www.mycompany.com" id="A07"><comp:emp id="31201" />

</comp:dept> }return $department/d:dept/d:emp/fn:name()

�� ��

9 ���� ��� �� ���

namespace-uri ��

fn:namespace-uri ��� ��� �� ��� �� � ���� URI� �����.

���� fn:namespace-uri( )

node��

node � ���� URI� � ��� ��� �. node� ���� ��� fn:namespace-uri� ��

���� ��� �� ����.

150 IBM DB2 XQuery ���

Page 165: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

���

�� node� � �� ����.

v node� �� � �� ��� ��� ���� �� 0 ��� �����.

– node� � ������.

– node� � �� �� � ��� ����.

– node� � �� �� � ����� node� �� ��� �� � ����� �� ����.

v node� �� � �� ��� ��� ���� ��� �����.

– node� ���� �����.

– node� ��� ����.

v � ��� ���� ��� node� �� �� �� � ���� URI� ���� xs:string �

�����.

�� ��� ″http://www.mycompany.com″� �����.

declare namespace d="http://www.example.org";let $department := document {<comp:dept xmlns:comp="http://www.mycompany.com" id="A07"><comp:emp id="31201" />

</comp:dept> }return fn:namespace-uri($department/d:dept/d:emp)

�� ��� ″http://www.mycompany.com″� �����.

declare namespace d="http://www.example.org";let $department := document {<comp:dept xmlns:comp="http://www.mycompany.com" id="A07"><comp:emp id="31201" />

</comp:dept> }return $department/d:dept/d:emp/fn:namespace-uri()

�� ��

15 ���� �XML � ���� � QName�

namespace-uri-for-prefix ��

fn:namespace-uri-for-prefix ��� �� � � � ����� �� � �� ��� � ���� URI

� �����.

���� fn:namespace-uri-for-prefix(prefix,element) ��

prefix �� � ����� �� � �

prefix� xs:string ��� �(�� 0� � ��)��� � ������.

� 5 � �� �� 151

Page 166: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

element

prefix� ����� � � � ����� �� �

���

�� prefix� � �� ����.

v element� � � � ����� � � � prefix� ��� �� � ����� � ��

�� URI� �����.

v element� � � � ����� � � � prefix� ��� ��� � ���� �����.

v prefix� �� 0 ����� � ����� ��� � ����� � ���� URI� ����

�.

�� ��� ″http://www.mycompany.com″� �����.

declare namespace d="http://www.example.org";let $department := document {<comp:dept xmlns:comp="http://www.mycompany.com" id="A07"><comp:emp id="31201" />

</comp:dept> }return fn:namespace-uri-for-prefix("comp", $department/d:dept/d:emp)

�� ��

15 ���� �XML � ���� � QName�

namespace-uri-from-QName ��

fn:namespace-uri-from-QName ��� xs:QName � � ���� URI ��� �����.

���� fn:namespace-uri-from-QName(qualified-name) ��

qualified-name

� � ���� URI ���� ��� �

qualified-name xs:QName ��� ���� � ������.

���

qualified-name� � ���� �� �, �� qualified-name� � ���� URI �� xs:string

���. qualified-name� � ����� �� ��� �� 0 ��� �����. qualified-name

� � ����� � ���� �����.

152 IBM DB2 XQuery ���

Page 167: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ��� �� ″http://www.mycompany.com″� �����.

fn:namespace-uri-from-QName(fn:QName("http://www.mycompany.com", "comp:employee"))

�� ��

15 ���� �XML � ���� � QName�

node-name ��

fn:node-name ��� ��� �� QName� �����.

���� fn:node-name(node) ��

node �� �� � �����.

���

�� node� �� QName� ���� xs:QName ���. node� � ����� � ���� ���

��.

�� ��� URI http://www.mycompany.com � �� QName comp:emp� ���� �� QName�

�����.

declare namespace d="http://www.example.org";let $department := document {<comp:dept xmlns:comp="http://www.mycompany.com" id="A07"><comp:emp id="31201" />

</comp:dept> }return fn:node-name($department/d:dept/d:emp)

�� ��

9 ���� ��� �� ���

normalize-space ��

fn:normalize-space ��� �� �� �� ��� ��� ��� � �� �� ���� �� �� �

�� ����.

���� fn:normalize-space( )

source-string��

source-string

��� ��� ��

� 5 � �� �� 153

Page 168: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

source-string xs:string �� � ������.

source-string� ���� ��� fn:normalize-space� �� �� ���� ����, fn:string �

�� ���� xs:string �� �����.

���

�� source-string� �� �� ��� ��� � xs:string ���.

v �� �� �� ��� �����.

v �� ��� �� �� ��� �� ���� �� ����(X‘20’) ��� ����.

�� ��� ����(X‘20’), �(X‘09’), � ���(X‘0A’) � ��� ��(X‘0D’)���.

source-string� � ����� �� 0 ��� �����.

�� ��� �� ″ a b c d ″�� ��� �� ��� �����.

fn:normalize-space(" a b c d " )

�� ″a b c d″���.

�� ��

18 ���� ����

normalize-unicode ��

fn:normalize-unicode ��� ��� �� ���� ���� �����.

���� fn:normalize-unicode(source-string )

,normalization-type��

source-string

�� ���� ����

source-string xs:string �� � ������.

normalization-type

�� ���� ���� �� ���� xs:string . �� �� ����.

NFC ���� ��� �� C. normalization-type� ���� ��� NFC ���� �����.

NFD ���� ��� �� D

NFKC

���� ��� �� KC

154 IBM DB2 XQuery ���

Page 169: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

NFKD

���� ��� �� KD

�� 0 ��� ���� ���� ���� ����.

���

source-string� � ���� �� �, �� normalization-type�� ��� ���� ���� source-string

� �� ��� � xs:string ���. normalization-type� ���� � �, source-string� ��

���� ��� �� C(NFC)� �����. ���� ���� ���� Character Model for the World

Wide Web 1.0� ���� ����.

source-string� � ����� �� 0 ��� �����.

�� ��� �� &#x6d;&#x323;″(�� � �� ��� ��� m)� �� ���� ��� �� C

� �����.

fn:normalize-unicode("&#x109;&#x803;","NFC")

�� ″&x7747;″���.

not ��

fn:not ��� ���� ��� �� � true�� false� ����, ���� ��� �� � false�� true

� �����.

���� fn:not(sequence-expression) ��

sequence-expression

�� �� ��� ��� ��� �� � ���

���

sequence-expression� � ���� ��� �� ���� ��� �� � false � true���. �

��� ��� �� � true � �� false���.

sequence-expression� � ����� �� true���.

�� ��� ��� ��� �� � true��� false� �����.

fn:not(<employee />)

�� ��

� 5 � �� �� 155

Page 170: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

60 ���� ���� �� �

number ��

fn:number ��� � xs:double ��� ��� �����.

���� fn:number( )

atomic-value��

atomic-value

�� �� � ���. atomic-value� ���� ��� fn:number� �� ���� ��� ��

����.

���

atomic-value� � ���� ��� �� atomic-value� xs:double� ���� � ���. atomic-value

� xs:double ��� ��� ��� � ��� NaN� �����.

numeric-value� � ����� NaN� �����.

xs:decimal �� xs:double� ��� �: �� ��� xs:decimal 2.75� xs:double� �����.

fn:number(2.75)

�� 2.75E0���.

xs:boolean �� xs:double� ��� �: �� ��� boolean false()� xs:double� �����.

fn:number(false())

�� 0.0E0���.

�� ��

34 ���� �double ��� ��

one-or-more ��

fn:one-or-more ��� �� �� ��� ��� �� � �� �����.

���� fn:one-or-more(sequence-expression) ��

sequence-expression

� ���� ��� �� ���

156 IBM DB2 XQuery ���

Page 171: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

���

sequence-expression� �� ��� ��� �� � sequence-expression� �����. �� ��� �

�� �����.

�� �� fn:one-or-more ��� ���� �� $seq� �� ��� ��� � ��� ����.

let $seq := (5,10)return fn:one-or-more($seq)

(5,10)� �����.

�� ��

5 ���� ���� � ���

�� ��

137 ���� �exactly-one ���

181 ���� �zero-or-one ���

position ��

fn:position ��� �� �� � ����� ���� ��� � �����.

���� fn:position() ��

���

�� �� �� � ����� ���� ��� � ���� xs:integer ���. ���� ���

���� � � ��� �����. position ��� ���� ��� ���� ���� ��� ��� �

� ��� ��� � � �����. position ��� ����� ��� �����.

�� ����� position ��� 10�� ���� � �� ���� � ��� �� �����. � ���

�� position ��� ��� ��� ��� � �����. �� position() eq 5� ���� ��

� ��� ���� true���.

(11 to 20)[position() eq 5]

� ���� �� 15���.

�� ��

12 ���� ���� �� ���

5 ���� ���� � ���

� 5 � �� �� 157

Page 172: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ��

55 ���� ��� ���� � ��

QName ��

fn:QName ��� � ���� URI� �� QName(� � �� ��)� � �� �����

�� �� �����.

���� fn:QName(URI,QName) ��

URI �� ��� � ���� ��

URI� xs:string ��� ���� � �� �� ������.

QName

xs:QName ��� �� �� �� ��(lexical form)

QName� ��� � xs:string���.

���

�� URI� ��� � ���� URI� �� QName� ��� � � � �� �� �� �� �

xs:QName ���.

fn:QName ��� QName� � ���� � �� URI� ��� ��. QName� � ���� �

�� �� �, URI� �� 0 ���� � ���� � � ����. QName� �� �� ��

� �� �� �, URI� �� 0 ���� � ���� � � ����.

�� ��� � ���� URI � �� QName� ���� ��� ����, �� xs:QName �

���.

fn:QName("http://www.mycompany.com", "comp:employee")

�� � ���� URI ″http://www.mycompany.com″, � � ″comp″ � �� � ″employee″�

� �� xs:QName ���.

�� ��

15 ���� �XML � ���� � QName�

remove ��

fn:remove ��� ����� ��� �����.

158 IBM DB2 XQuery ���

Page 173: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

���� fn:remove(source-sequence,remove-position) ��

source-sequence

��� �� ���. ����� ��� ��

source-sequence� �� ��� � ��� ������ � ������.

remove-position

source-sequence�� ��� �� . remove-position� ��� � xs:integer���.

���

source-sequence� � ���� �� �

v remove-position� 1�� ��� source-sequence� ��� �� �� source-sequence���.

v remove-position� 1�� ��� �� source-sequence� ��� ��� ��� �� �� ����

�� ���� � �� ������.

– source-sequence�� remove-position � ��

– source-sequence�� remove-position ��� ��

v source-sequence� � ����� �� � ������.

�� ��� ��� (1,2,4,7)�� � � � �� ��� ��� � ���� �����.

fn:remove((1,2,4,7),3)

�� (1,2,7)���.

�� ��

5 ���� ���� � ���

replace ��

fn:replace ��� �� �� � �� ��� ��� �� ����, ��� ��� ��� � ��

��� ����.

���� fn:replace(source-string,pattern,replacement-string )

,flags��

source-string

�� ��� ���� ��

source-string xs:string �� � ������.

� 5 � �� �� 159

Page 174: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

pattern

source-string� �� ���. ��� � ��� �� �� �� �� ���� ��, �

�� � � ��� �����.

pattern xs:string ���.

replacement-string

source-string�� pattern ��� ��� �� ��� ���� ��

replacement-string xs:string ���.

replacement-string �� $0�� $9 �� �� � ����. $0 pattern� �� ��� �

���. �� $1�� $9 �� pattern�� �� 9��� ��� �� ���� ����. ($1

� �� ���, $2� � �� ��� �� ����.)

replacement-string�� ��� � ��($)� ����� �� ″₩$″� ������ .

replacement-string�� ��� � �(₩)� ����� �� ″₩₩″� ������.

flags pattern� source-string� ���� �� � �� � �� � �� xs:string

s ���(.)� �� ��� ���� �����.

s �� ���� ��� ���(.)� � ��� ��(X‘0A’)� ��� �� ��� ��

���.

m ��(^)� �� ��(� ��� �� �� )� ���� � ��($)� �� �(� ��

� �� � )� ���� �����.

m �� ���� ��� ��(^) ��� ��� ���� � ��($)� ���

�� �����.

i �� ����� ���� ��� �����.

i �� ���� ��� ����� ���� �� �����.

x pattern �� �� ��� ���� �����.

x �� ���� ��� �� ��� �� �����.

���

source-string� � ���� ��� �� source-string� �� �� ��� ��� � ����

�.

v source-string�� pattern� ��� ��� ����. pattern� � ��� �� �� ��� ���

pattern�� source-string� ��� ��� � �� ��� ��� ���� �����.

v source-string�� pattern ��� � �� ��� replacement-string�� ����. replacement-string

� �� $0�� $9 �� ��� �� �, ��� ��� ���� pattern� �� ��� ���

source-string� �� �� replacement-string� ��� �����. � �� ��� replacement-string

160 IBM DB2 XQuery ���

Page 175: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� source-string� �����. �� ���� ��� ��� �� ��� source-string ���

�� ��� ��� ��� pattern� ���� �� ��� ��� �� 0 ���

replacement-string� ��� �����.

source-string�� pattern� ���� ��� ��� �����.

source-string� � ����� �� 0 ��� �����.

�� ���� � �� ���� �� �: �� ��� �� ″abbcacadbdcd″�� �� ″a″ ����

″ba″� ����.

fn:replace("abbcacadbdcd","a","ba")

�� ″babbcbacbadbdcd″���.

��� �� ���� �� �� ���� �� �: �� ��� ″a″ � ″a″ ��� ���

″abbcacadbdcd″�� ″a″ ��� �� ���� ����.

fn:replace("abbcacadbdcd","a(.)","$1$1")

�� ″bbbcccddbdcd″���.

�� ��

177 ���� �translate ���

���

��� ��� ��� ���� � ���� ���� �� ������. ��� �� XQuery

���� �����. fn:matches, fn:replace � fn:tokenize. DB2 XQuery ��� �� W3C

Recommendation XML Schema Part 2: Datatypes Second Edition�� ��� XML �� ��� �

�� ���� �� W3C Candidate Recommendation XQuery 1.0 and XPath 2.0 Functions and

Operators�� ��� �� ��� ���.

resolve-QName ��

fn:resolve-QName ��� � ���� URI� �� � ���� � �� ���� � �� � �

� ����� ����, �� QName� � �� ��� �� QName�� �����.

���� fn:resolve-QName(qualified-name,element-for-namespace) ��

qualified-name

��� � � ��

qualified-name xs:string ��� ���� � ������.

� 5 � �� �� 161

Page 176: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

element-for-namespace

qualified-name� � � � ����� ���� �

element-for-namespace� � �����.

���

qualified-name� � ���� ��� �� �� �� � �� �� ����.

v �� QName� � � � �� � qualified-name�� ����.

v qualified-name� � �� �� � �� element-for-namespace� � � � ����� � �

� ��� �, � � �� ��� � ���� URI� ��� � ���� URI���.

v qualified-name� � �� �� ��� � ���� URI� element-for-namespace� � � � �

����� ��� �, � ��� � ���� URI� ��� � ���� URI���.

v qualified-name� � �� �� element-for-namespace� � � � ������ ��� ��� �

���� URI� �� �, ���� � ���� URI� ����.

v qualified-name� � �� element-for-namespace� � � � ����� � ���� � �� �

�� ��� qualified-name� ��� �� ��� ��� ��� ��� �����.

qualified-name� � ����� � ���� �����.

�� ��� URI http://www.mycompany.com � �� QName comp:dept� ���� �� QName�

�����.

declare namespace d="http://www.mycompany.com";let $department := document {<comp:dept xmlns:comp="http://www.mycompany.com" id="A07">

<comp:emp id="31201" /></comp:dept> }return fn:resolve-QName("comp:dept", $department/d:dept/d:emp)

�� ��

15 ���� �XML � ���� � QName�

reverse ��

fn:reverse ��� ����� ��� ��� ����� ����.

���� fn:reverse(source-sequence) ��

source-sequence

����� �� ���

source-sequence� �� ��� � ��� ������ � ������.

162 IBM DB2 XQuery ���

Page 177: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

���

source-sequence� � ���� ��� �� source-sequence� �� ��� ���� �� �����

�.

source-sequence� � ����� � ���� �����.

�� ��� ��� (1,2,3,7)� ��� ��� ��� �����.

fn:reverse((1,2,3,7))

�� (7,3,2,1)���.

�� ��

5 ���� ���� � ���

root ��

fn:root ��� ��� ��� ��� �� ��� �����.

���� fn:root( )

node��

node �� �� � ��� node� ��� ���� �����.

���

node� � ���� ��� �� node� ��� ��� �� �����. node� ��� �� ����

�� node���.

node� � ����� �� � ������.

�� XQuery ��� �� �� ����� �����.

let $f := <first>Laura</first>let $e := <emp> {$f} <last>Brown</last> </emp>let $doc := document {<emps>{$e}</emps>}

��� �� ��� ��� �: �� ��� last�� �� �� ��� �����.

fn:root($e/last)

�� <emp><first>Laura</first><last>Brown</last></emp>���.

�� �� ��� ��� �: �� ��� �� $doc� ��� ��� �� ��� �����.

� 5 � �� �� 163

Page 178: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

fn:root($doc)

�� �� �����.

�� ��

7 ���� ��� �� ���

round ��

fn:round ��� ��� �� � �� � � ��� �����.

���� fn:round(numeric-value) ��

numeric-value

�� �� � ���

numeric-value� �� �� �� � � �����.

v xs:float

v xs:double

v xs:decimal

v xs:integer

v xdt:untypedAtomic

v � �� ��� ��� �

numeric-value� xdt:untypedAtomic ��� ��� xs:double �� �����.

���

numeric-value� � ���� ��� �� numeric-value� �� � � ����� . �

fn:round(numeric-value)� fn:floor(numeric-value+0.5)� ����. ��� ��� � numeric-value

� ��� �� �� ����.

v numeric-value� xs:float, xs:double, xs:decimal �� xs:integer �, ���� numeric-value�

��� ����.

v numeric-value� xs:float, xs:double, xs:decimal �� xs:integer��� ��� ���, ����

numeric-value �� � � ��� ����.

numeric-value� � ����� �� � ������.

�� ��� �: �� ��� 0.5� �� � �����.

fn:round(0.5)

�� 1���.

164 IBM DB2 XQuery ���

Page 179: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ��� �: �� ��� (-1.5)� �� � �����.

fn:round(-1.5)

�� -1���.

�� ��

�round-half-to-even ���

round-half-to-even ��

fn:round-half-to-even ��� ��� �� � �� � � ��� ���� �� � �����.

���� fn:round-half-to-even(numeric-value )

,precision��

numeric-value

�� �� � ���

numeric-value� �� �� �� � � �����.

v xs:float

v xs:double

v xs:decimal

v xs:integer

v xdt:untypedAtomic

v � �� ��� ��� �

numeric-value� xdt:untypedAtomic ��� ��� xs:double �� �����.

precision

numeric-value� �� �� ��� ���. precision xs:integer ���. precision� �

�� 0���.

���

numeric-value� � ���� ��� precision� 0��� ���� � �, �� numeric-value� �

� � � �����. numeric-value� ��� ��� � � �� �� �����.

numeric-value� � ���� ��� precision� 0� �� �, �� ��� ���� numeric-value

� �� � � precision ������. numeric-value� � ��� � � �� �� �� ��

���� �� ���.

��� ��� � numeric-value� ��� �� �� ����.

v numeric-value� xs:float, xs:double, xs:decimal �� xs:integer �, ���� numeric-value�

��� ����.

� 5 � �� �� 165

Page 180: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

v numeric-value� xs:float, xs:double, xs:decimal �� xs:integer��� ��� � �, ����

numeric-value �� � � ��� ����.

numeric-value� � ����� �� � ������.

precision ��� �� �: �� ��� 0.5� �� � �����.

fn:round-half-to-even(0.5)

�� 0���.

0� �� precision ��� �: �� ��� 1.5432� �� ��� �� � � �����.

fn:round-half-to-even(1.5432,2)

�� 1.54���.

�� precision� �: �� ��� 35600� �����.

fn:round-half-to-even(35612.25, -2)

�� ��

164 ���� �round ���

sqlquery ��

db2-fn:sqlquery ��� �� ��� DB2 �������� SQL fullselect� � ���� ����.

���� db2-fn:sqlquery(string-literal) ��

string-literal

fullselect� �����. fullselect� �� ��� � ��� ��� ��, ��� ��� �

XML�� ���.

fullselect� ����� ���� �(�: �� �� ��), �� �� ���� �� �

���. �:

"select c1 from t1 where c2 = ’Hello’"

fullselect� ����� ���� �(�: �� ID ��), �� �� ���� �� ���

�. �:

’select c1 from "t1" where c2 = 47’

fullselect� ����� ����� � � ���� �, �� �� ���� �� � ��

� � ����� �� �� ����� ������. �:

’select c1 from "t1" where c2 = ’’Hello’’’

166 IBM DB2 XQuery ���

Page 181: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

���

�� string-literal� fullselect � ������. DB2� �� �� � � ��� �� ��� �

� SQL ��� ��� SQL��� fullselect� �����. fullselect�� ���� XML ���� �

�� � � ���. �(NULL) � ���� � � ���� ��� �� ����. fullselect�

�� ���� ��� �(NULL) � ���� �, ��� � � � ������.

fullselect� ���� ��� �(NULL) � ��� �� �� �� ��� ���� �� �� ����,

db2-fn:sqlquery ��� ���� ���� �� �� fullselect� ���� � �� �� � ����.

� ���� ��� fullselect� �: �� �� ��� PRODUCT� ��� �� ���� ���� �

� �� ��� �����. ��� �� DESCRIPTION� ����.

�� ��� � � � � � ���.

db2-fn:sqlquery(’select description from product’)db2-fn:sqlquery(’SELECT DESCRIPTION FROM PRODUCT’)db2-fn:sqlquery(’select "DESCRIPTION" from "PRODUCT"’)

�� �� ��� fullselect� �: �� �� ��� PRODUCT� �� �� ���� �����. ��

� �� DESCRIPTION� ��� �� PID ’100-103-01’� �����.

�� ��� � � � � � ���.

db2-fn:sqlquery(’select Description from Product where pID=’’100-103-01’’’)db2-fn:sqlquery("select description from product where pid=’100-103-01’")db2-fn:sqlquery("select ""DESCRIPTION"" from product where pid=’100-103-01’")

�� ��

3 ���� �XQuery ��� ���� DB2 ��� ��

�� ��

180 ���� �xmlcolumn ���

starts-with ��

fn:starts-with ��� ��� ��� �� ��� ����� ��� ����.

���� fn:starts-with(string,substring) ��

string substring� � ��

string xs:string ��� ���� � ������. string� � ��� � string �� 0

��� �����.

� 5 � �� �� 167

Page 182: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

substring

string� ���� � �� ��

substring xs:string ��� ���� � ������.

���

�� �� � ��� ���� � �� xs:boolean true���.

v substring� string� ��� �� �

v substring� � ������ �� 0 �� �

�� ��� �� false���.

�� ��� �� ‘Test literal’� ‘lite’�� ��� ����� ��� ����.

fn:starts-with(’Test literal’,’lite’)

�� false���.

�� ��

129 ���� �contains ���

136 ���� �ends-with ���

string ��

fn:string ��� � �� ��� �����.

���� fn:string( )

value��

value ��� ���

value� �� �� �� ��� � ������.

value� ���� ��� fn:string �� ���� ��� �� ����. �� ���� ��� �

��� � � ��� �����.

���

value� � ���� �� �

v value� ���� �� ��� �� ���.

v value� �� �� �� value� xs:string ��� ���� � ���.

value� � ����� � � �� 0 �����.

168 IBM DB2 XQuery ���

Page 183: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ��� 123� �� ��� �����.

fn:string(xs:integer(123))

�� ‘123’���.

string-join ��

fn:string-join ��� ���� ��� ��� ���� � � ��� �����.

���� fn:string-join(sequence,separator) ��

sequence

��� ��� �� �� ���

sequence� xs:string � ��� �� � ������.

separator

� ��� sequence �� ��� ���� ����

separator� ��� � xs:string���.

���

�� sequence� ��� ��� ���� separator� �����. separator� �� 0 ���

� sequence� �� ��� �� �����. sequence� � ����� �� 0 ��� ����

�.

�� ��� �� ��� ���� ���� ��� (″I″, ″made″, ″a″, ″sentence!″)� ��� ��� �

��� �����.

fn:string-join(("I" , "made", "a", "sentence!"), " ")

�� �� ″I made a sentence!″���.

string-length ��

fn:string-length ��� ��� �� �����.

���� fn:string-length(source-string) ��

source-string

�� �� ��

� 5 � �� �� 169

Page 184: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

source-string xs:string ��� ���� � ������.

���

source-string� � ���� ��� �� source-string� �� ����. �� 16�� � ��

��� ���� xFFFF�� � �� ��� �� ��� � ��� �����. source-string

xs:integer ���.

source-string� � ����� �� 0���.

�� ��� �� ‘Test literal’� �� �����.

fn:string-length(’Test literal’)

�� 12���.

string-to-codepoints ��

fn:string-to-codepoints ��� �� � ���� ���� �� ��� ���� �����.

���� fn:string-to-codepoints(source-string) ��

source-string

� ��� ���� �� �� �� � ���� �� ��

���

source-string� � ���� ��� �� 0� ��� �� source-string� �� ��� �� ���

���� xs:integer � ������.

source-string� � ������ �� 0�� �� � ������.

�� ��� �� ‘XQuery’� �� ��� ���� �� ��� ���� �����.

fn:string-to-codepoints("XQuery")

�� (88,81,117,101,114,121)���.

�� ��

127 ���� �codepoints-to-string ���

170 IBM DB2 XQuery ���

Page 185: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

subsequence ��

fn:subsequence ��� ���� �� ���� �����.

���� fn:subsequence(source-sequence,start )

,length��

source-sequence

�� ���� � ���

source-sequence� � ���� ��� �� ������.

start source-sequence�� �� ���� �� . source-sequence� � � 1���. start<=0

�� start� 1� �����.

start� ��� � xs:double���.

length �� ���� �� �. length� ��� source-sequence� �� ����. start + length - 1�

source-sequence� ��� �� length� (source-sequence� �) - start + 1� �����.

length� ��� � xs:double���.

���

source-sequence� � ���� ��� �� start�� ���� length�� ��� ����

source-sequence� �� ������.

source-sequence� � ����� � ���� �����.

�� ��� ��� (’T’,’e’,’s’,’t’,’ ’,’s’,’e’,’q’,’u’,’e’,’n’,’c’,’e’)�� �� � ���� � �� ��� �

����.

fn:subsequence((’T’,’e’,’s’,’t’,’ ’,’s’,’e’,’q’,’u’,’e’,’n’,’c’,’e’),6,3)

�� (‘s’,‘e’,‘q’)���.

�� ��

5 ���� ���� � ���

substring ��

fn:substring ��� ��� �� ��� �����.

���� fn:substring(source-string,start )

,length��

� 5 � �� �� 171

Page 186: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

source-string

�� ��� � ��

source-string xs:string ��� ���� � ������.

start source-string�� �� ��� �� �� . source-string� � � 1���. start< =

0 � start� 1� �����. �� 16�� � �� ��� ���� xFFFF�� � ��

��� � ��� �����.

start� ��� � xs:double���.

length �� ��� �. length� ��� source-string� ����. start + length - 1� source-string

� ��� �� length� (source-string� �) - start + 1� �����. �� 16�� �

�� ��� ���� xFFFF�� � �� ��� �� ��� � ��� �����.

length� ��� � xs:double���.

���

source-string� � ���� ��� �� �� start�� ���� length�� ��� ����

source-string� �� �����. source-string� � ����� � � �� 0 �����.

�� ��� �� ‘Test literal’� �� � ���� ���� �� �� ��� �����.

fn:substring(’Test literal’,6,7)

�� ‘literal’���.

�� ��

�substring-after ���

173 ���� �substring-before ���

substring-after ��

fn:substring-after ��� ��� � ��� � ����� � ��� ���� ���� �� �

�� �����.

���� fn:substring-after(source-string,search-string) ��

source-string

�� ��� � ��

source-string xs:string ��� ���� � ������. source-string� � ��� �

source-string �� 0 ��� �����.

172 IBM DB2 XQuery ���

Page 187: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

search-string

source-string�� � ��

search-string xs:string ��� ���� � ������.

���

source-string� � ���� ���� �� 0 �� �

v source-string� �� n � m<n�� �����. search-string� source-string�� ���� source-string

�� search-string� � ����� �� m� �� �, �� source-string� m+1

�� ���� n�� ��� �� �����.

v source-string� �� n�� �����. search-string� source-string�� ���� source-string��

search-string� � ����� �� n� �� �, �� �� 0 �����.

v search-string� � ����� �� 0 ���� �� source-string���.

v search-string� source-string�� ���� ��� �� �� 0 �����.

source-string� � ����� �� 0 ���� �� �� 0 �����.

�� ��� ��� ��� ���� �� ‘DEFABCD’�� ‘ABC’ ��� ��� ����.

fn:substring-after(’DEFABCD’, ’ABC’)

�� ‘D’���.

�� ��

�substring-before ���

171 ���� �substring ���

substring-before ��

fn:substring-before ��� ��� � ��� � ���� ��� ���� ���� �� ��

� �����.

���� fn:substring-before(source-string,search-string) ��

source-string

�� ��� � ��

source-string xs:string ��� ���� � ������. source-string� � ��� �,

source-string �� 0 ��� �����.

search-string

source-string�� � ��

� 5 � �� �� 173

Page 188: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

search-string xs:string ��� ���� � ������.

���

source-string� � ���� ���� �� 0 �� �

v search-string� source-string� m �� ���� m>1�� �� 1�� ���� source-string

� m �� ��� �� �����.

v search-string� source-string� 1�� ���� ��� �� �� 0 �����.

v search-string� � ������ �� 0 ���� �� source-string���.

v search-string� source-string�� ���� ��� �� �� 0 �����.

source-string� � ����� �� 0 ���� �� �� 0 �����.

�� ��� ��� ��� ���� �� ‘DEFABCD’�� ‘ABC’ ��� ��� ����.

fn:substring-before(’DEFABCD’, ’ABC’)

�� ‘DEF’���.

�� ��

172 ���� �substring-after ���

171 ���� �substring ���

sum ��

fn:sum ��� ���� �� � ��� �����.

���� fn:sum(sequence-expression )

,empty-sequence-replacement��

sequence-expression

�� �� �� ��� ���� ��� �� � ���

v xs:float

v xs:double

v xs:decimal

v xs:integer

v xdt:untypedAtomic

v xdt:dayTimeDuration

v xdt:yearMonthDuration

v � �� ��� ��� �

174 IBM DB2 XQuery ���

Page 189: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

xdt:untypedAtomic �� �� �� xs:double� ������. ��� ��� �� �� ���

� �� �� �� �� �� � ��� �� �� ��� �� �� ���. ��� � �

� ��� �����. �� �, �� ���� money(xs:decimal�� ���) � stockprice(xs:float

�� ���) �� �� �, ��� xs:float ��� �����.

empty-sequence-replacement

sequence-expression� � ��� � ���� . empty-sequence-replacement�

sequence-expression� �� ��� � � ��� � ����.

���

sequence-expression � ���� ���, �� sequence-expression� �� � �����. ��

� ��� � sequence-expression� �� ��� ��� � ��� sequence-expression� ��

� ��� ��� ����.

sequence-expression� � ����� empty-sequence-replacement� ���� ��� fn:sum 0.0E0� �

����. sequence-expression� � ����� empty-sequence-replacement� ���� fn:sum

empty-sequence-replacement� �����.

�� ��� ��� (500, 1.0E2, 40.5)� ��� �����.

fn:sum((500, 1.0E2, 40.5))

xs:double ��� ��� �����. ��� xs:double 6.405E2� ����, � ″640.5″�

� �����.

�� ��

5 ���� ���� � ���

tokenize ��

fn:tokenize ��� ��� �� ��� ���� �����.

���� fn:tokenize( source-string , pattern )

, flags��

source-string

�� ��� ���� �� ��

source-string xs:string �� � ������.

pattern

source-string� �� �� ��� ����

� 5 � �� �� 175

Page 190: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

pattern ���� ���� xs:string ���. ��� � ��� �� �� �� ��

���� ��, ��� � � ��� �����.

flags pattern� source-string� ����� ���� ���� �� � �� � �� xs:string

s ���� ���(.)� � ��� ��(X’0A’)� ��� �� ��� ��� �����.

s �� ���� ��� ���(.)� � ��� ��(X‘0A’)� ��� �� ��� �

���.

m ��(^)� �� ��(� ��� �� �� ) ���, � ��($)� �� �(� ��

� �� � ) ��� �����.

m �� ���� ��� ��(^) ��� �� ��� � ��($)� ��� �

����.

i �� ����� ���� ��� �����.

i �� ���� ��� ����� ���� �� �����.

x pattern �� �� ��� ���� �����.

x �� ���� ��� �� ��� �� �����.

���

source-string� � ��� �� �� 0 ��� ��� �� source-string� �� �� ��� �

�� � ������.

v source-string�� pattern� ��� ��� ����.

v pattern� � ��� �� �� ��� ��� pattern�� source-string� ��� ��� � ��

��� ��� ���� �����.

v pattern� ��� �� � �� ��� � ���� ��� ���.

v pattern� source-string� �� �� ��� ���� ���� � �� �� 0 ��

���.

v source-string�� �� pattern ��� �� 0 ��� ���� �����.

v pattern� source-string� � �� ��� ���� ���� ��� �� �� 0 ����

�.

source-string�� pattern� ���� ��� ��� �����.

source-string� � ������ �� 0 ���� � � � ������.

�� ��� �� ″Tokenize this sentence, please.″�� ���� � ���. ″₩s+″� �� ��� ��

��� ���� ������.

fn:tokenize("Tokenize this sentence, please.", "₩s+")

176 IBM DB2 XQuery ���

Page 191: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ��� (″Tokenize″, ″this″, ″sentence,″, ″please.″)���.

�� ��

128 ���� �concat ���

���

��� ��� ��� ���� � ���� ���� �� ������. ��� �� XQuery

���� �����. fn:matches, fn:replace � fn:tokenize. DB2 XQuery ��� �� W3C

Recommendation XML Schema Part 2: Datatypes Second Edition�� ��� XML �� ��� �

�� ���� �� W3C Candidate Recommendation XQuery 1.0 and XPath 2.0 Functions and

Operators�� ��� �� ��� ���.

translate ��

fn:translate ��� ���� � ��� �� ��� ����.

���� fn:translate(source-string,original-string,replacement-string) ��

source-string

�� ��

source-string xs:string ��� ���� � ������.

original-string

�� ��� ���� ��

original-string� ��� � xs:string���.

replacement-string

original-string� ��� �� ��� ���� ��

replacement-string� ��� � xs:string���.

replacement-string� �� original-string� ��� �� replacement-string� �� ��� �

����.

���

source-string� � ���� ��� �� �� ��� ��� � xs:string ���.

v original-string� ��� source-string� � ��� ��� source-string� ��� original-string�� �

� ��� replacement-string� ��� ����.

original-string� �� replacement-string� ��� � �, original-string� ��� source-string

� � ��� ���� original-string�� �� � replacement-string�� ���� � ���

�.

� 5 � �� �� 177

Page 192: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

original-string�� � ��� �� ���� �, original-string�� �� ��� � ���

�� � replacement-string�� ��� ��� ����.

v original-string� ���� �� source-string� � ��� �� ��� .

source-string� � ����� �� 0 ��� �����.

�� ��� �� ‘Test literal’�� e� o� ��� l� m�� �� � ��� �����.

fn:translate(’Test literal’,’el’,’om’)

�� ‘Tost mitoram’���.

�� ��� �� ��� ‘Another test literal’�� A� B�, t� f�, e� i� � r� m�� �� �

��� �����.

fn:translate(’Another test literal’, ’Ater’, ’Bfim’)

�� ‘Bnofhim fisf lifimal’���.

�� ��

159 ���� �replace ���

true ��

fn:true ��� xs:boolean true� �����.

���� fn:true() ��

���

�� xs:boolean true���.

true ��� ���� true� �����.

fn:true()

true� �����.

�� ��

138 ���� �false ���

unordered ��

fn:unordered ��� ���� ��� ���� � ��� �����.

178 IBM DB2 XQuery ���

Page 193: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

���� fn:unordered(sequence-expression) ��

sequence-expression

� ���� ��� �� ���

���

�� ��� ���� � sequence-expression� �����. � ����� ��� ��� ��

�� ��� ��� �� � �� ������ �����.

�� ��� ��� (1,2,3)� ��� ��� �� �� �����.

fn:unordered((1,2,3))

�� ��

5 ���� ���� � ���

�� ��

56 ���� �XQuery ����� � � ���

upper-case ��

fn:upper-case ��� ��� ���� �����.

���� fn:upper-case(source-string) ��

source-string

���� �� ��

source-string xs:string ��� ���� � ������.

���

source-string� � ���� ��� �� � ��� ���� ��� source-string���.

source-string� � ���� ��� �� � ��� ���� ���� ��� �� ���� ���

source-string���. ���� ���� �� �� ��� ��� � �� �����.

source-string� � ����� �� �� 0 �����.

�� ��� �� ‘Test literal 1’� ���� �����.

fn:upper-case(’Test literal 1’)

� 5 � �� �� 179

Page 194: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ‘TEST LITERAL 1’���.

�� ��

lower-case ��

xmlcolumn ��

db2-fn:xmlcolumn ��� �� ��� DB2 ������� ���� ���� ����.

���� db2-fn:xmlcolumn(string-literal) ��

string-literal

���� � �� �� �����. �� � ��� �, � �� �� �� ��

���� XML ��� �� ��� ��� ���. SQL �� � ����. SQL �

� �� ���� � �, CURRENT SCHEMA �� ����� ��� �� � ���

���� �����. string-literal ����� �����. string-literal ������� �� �

� ���� ��� ��� ��� ���.

���

�� string-literal� ���� ���� �(NULL)� �� XML � ��� ������. ��� ��

��� �� �� �, db2-fn:xmlcolumn � ���� �����.

��� �� �� ��� �� ��� �(NULL) � ��� �� �� �� ��� ���� �� ��

���� db2-fn:xmlcolumn ��� ���� ���� �� �� ��� �� �� ��� �� �� ��

� ����.

db2-fn:xmlcolumn ��� db2-fn:sqlquery ��� ����, � � ��� � � � � ����. �

� ��� �� ���� ���� ����. db2-fn:xmlcolumn ��� �� XQuery� �����

����� �����. DB2�� ��� � �� � ���� ������ db2-fn:xmlcolumn�

�� ����� ������. db2-fn:sqlquery ��� �� SQL� ����� ID� ���� ����

�����.

�� �� �� ����, � � � �����.

db2-fn:xmlcolumn(’SQLSCHEMA.TABLENAME.COLNAME’)db2-fn:sqlquery(’select colname from sqlschema.tablename’)

� ���� ��� �: �� ��� PRODUCT�� ���(� ���� SQL �� SAMPLE� �

�)� DESCRIPTION � XML� ��� XML �� ���� �����.

db2-fn:xmlcolumn(’SAMPLE.PRODUCT.DESCRIPTION’)

180 IBM DB2 XQuery ���

Page 195: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

��� SQL ���� ��� �: �� ��� DB2� CURRENT SCHEMA �� ����� SAMPLE

� ����� � ��� � �� ��� � � �����.

db2-fn:xmlcolumn(’PRODUCT.DESCRIPTION’)

SQL �� ID� ��� �: �� ��� ″Student″ ���(�� CURRENT SCHEMA� ��� ��

� ��� ���)� ″Thesis″ ��� ��� �� ���� �����. ��� � � �� �� ���

� � ���� db2-fn:xmlcolumn ��� �� ��� �� �� ���� �� � ����.

v SQL �� ID� ��(���� ��):

db2-fn:xmlcolumn(’"Student"."Thesis"’)

v SQL �� ID �� �� ��� ��:

db2-fn:xmlcolumn(’Student.Thesis’)

��, db2-fn:sqlquery�� ���� ��� ��� � ��� �� � SQL �� ID� ��� �

��.

db2-fn:sqlquery(’select "Thesis" from "Student"’)

�� ��

3 ���� �XQuery ��� ���� DB2 ��� ��

�� ��

166 ���� �sqlquery ���

zero-or-one ��

fn:zero-or-one ��� �� ��� ��� ��� �� � ��� � �� �����.

���� fn:zero-or-one(sequence-expression) ��

sequence-expression

� ���� ��� �� ���

���

sequence-expression� ��� ��� ��� � ��� � sequence-expression� �����. �� �

�� ��� �����.

�� �� fn:zero-or-one ��� ���� �� $seq� ���� 1� ��� ��� � ��� ���

�.

let $seq := (5,10)return fn:zero-or-one($seq)

���� �� ��� � ��� ��� �����.

� 5 � �� �� 181

Page 196: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ��

5 ���� ���� � ���

�� ��

137 ���� �exactly-one ���

156 ���� �one-or-more ���

182 IBM DB2 XQuery ���

Page 197: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� 6 � ��

DB2 XQuery�� �� ��� ��� � ��� ����.

XQuery ��� ��� ��

� ����� �� DB2 XQuery ��� ��� ���� � � � �����.

� 34. XQuery �� ��� �� ��

��� �� �� ��

xs:float �� -3.4028234663852886e+38

�� +3.4028234663852886e+38

�� �� +1.1754943508222875e-38

�� �� -1.1754943508222875e-38

xs:double �� -1.7976931348623158e+308

�� +1.7976931348623158e+308

�� �� +2.2250738585072014e-308

�� �� +2.2250738585072014e-308

xs:decimal �� 10�� ��� 31��

xs:integer �� -9 223 372 036 854 775 808

�� +9 223 372 036 854 775 807

xs:nonPositiveInteger �� -9 223 372 036 854 775 808

�� 0

xs:negativeInteger �� -9 223 372 036 854 775 808

�� -1

xs:long �� -9 223 372 036 854 775 808

�� 9 223 372 036 854 775 807

xs:int �� -2 147 483 648

�� +2 147 483 647

xs:short �� -32 768

�� +32 767

xs:byte �� -128

�� +127

xs:nonNegativeInteger �� 0

�� +9 223 372 036 854 775 807

xs:unsignedLong �� 0

�� +9 223 372 036 854 775 807

xs:unsignedInt �� 0

�� 4 294 967 295

xs:unsignedShort �� 0

�� +65 535

© Copyright IBM Corp. 2006 183

Page 198: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� 34. XQuery �� ��� �� �� (��)

��� �� �� ��

xs:unsignedByte �� 0

�� +255

xs:positiveInteger �� +1

�� +9 223 372 036 854 775 807

� 35. XQuery ��, �� � ���� ��� �� ��

��� �� �� ��

xs:duration �� -P83333333333333Y3M11574074074DT1H46M39.999999S

�� P83333333333333Y3M11574074074DT1H46M39.999999S

xdt:yearMonthDuration �� -P83333333333333Y3M

�� P83333333333333Y3M

xdt:dayTimeDuration �� -P11574074074DT1H46M39.999999S

�� P11574074074DT1H46M39.999999S

xs:dateTime1, 2 �� 0001-01-01T00:00:00.000000Z

�� 9999-12-31T23:59:59.999999Z

xs:date1 �� 0001-01-01Z

�� 9999-12-31Z

xs:time2 �� 00:00:00Z

�� 23:59:59Z

xs:gDay1 �� 01Z

�� 31Z

xs:gMonth1 �� 01Z

�� 12Z

xs:gYear1 �� 0001Z

�� 9999Z

xs:gYearMonth1 �� 0001-01Z

�� 9999-12Z

xs:gMonthDay1 �� 01-01Z

�� 12-31Z

�: DB2 XQuery� �� ��� ���� ����.

�� ��

21 ���� � 2 � �� ����

�� ��

27 ���� �� ����

184 IBM DB2 XQuery ���

Page 199: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� ��

�� ��� � ��� �� DB2 XQuery� ���� ��� ����.

�� ���� �� ��� 32672������.

�� �� �� ��� 2 097 152������.

�� ��

61 ���� �����

� 6 � �� 185

Page 200: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

186 IBM DB2 XQuery ���

Page 201: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

DB2 �� �����(PDF ��)

�� ������ IBM® Publications Center(www.ibm.com/shop/publications/order)� �� DB2 ��

��� �����.

����� � �� �� ��� ��� ���, �� �� �� ���� �� �� ��� �� �

����.

� �� �� ��� �� DB2 ����� ��� ��, DB2 Connect™ �� �� DB2 ��� ���

� ���, ������ ���� ����� �����.

� 36. DB2 �� ��

�� � � �� �� ��

�� ���: �� SA30-2857 �

�� ���: � SA30-2859 �

Administrative API Reference SC10-4231 �

�� SQL �� � SA30-2895 ���

Call Level Interface Guide and Reference,

Volume 1

SC10-4224 �

Call Level Interface Guide and Reference,

Volume 2

SC10-4225 �

Command Reference SC10-4226 ���

��� �� ���� �� � ��� SA30-2863 �

��� �� � ��� �� � ��� SA30-2860 �

ADO.NET � OLE DB ���� �

SA30-2866 �

Embedded SQL ���� �� SA30-2870 �

Java™ ���� �� SA30-2869 �

Perl � PHP ���� �� SA30-2867 ���

������ ���� �� ���� SA30-2868 �

Linux® � Windows®�� DB2 � � �

� ����

GA30-2875 �

��� ��� �� 1 SA30-2880 ���

��� ��� �� 2 SA30-2881 ���

�� ��� GA30-2876 �

Net Search Extender �� � ��� ��

�: � ��� �� HTML HTML ��

CD�� ��� ����.

SA30-3022 �

��� SA30-2858 �

Query Patroller �� � ��� ��� GA30-2865 �

DB2 Client � �� GA30-2877 ���

DB2 Server � �� GA30-2874 �

© Copyright IBM Corp. 2006 187

Page 202: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� 36. DB2 �� �� (��)

�� � � �� �� ��

Spatial Extender � Geodetic Data

Management Feature ��� ��� � �

��

SA30-3019 �

SQL ��� SA30-2871 �

SQL ���, �� 1 SA30-2871 �

SQL ���, �� 2 SA30-2873 �

��� ��� �� � ��� SA30-2862 �

�� �� ��� GA30-2864 ���

Visual Explain ��� SA30-3234 ���

��� � SA30-2882 �

XML Extender �� � ��� SA30-3020 �

XML ��� SA30-2861 �

XQuery ��� SA30-3021 �

� 37. DB2 Connect �� �� ��

�� � � �� �� ��

DB2 Connect ��� ��� SA30-2879 �

DB2 Connect Personal Edition � �� GA30-3199 �

DB2 Connect Server � �� GA30-2878 �

� 38. WebSphere Information Integration �� ��

�� � � �� �� ��

WebSphere® Information Integration:

Administration Guide for Federated

Systems

SC19-1001 �

WebSphere Information Integration:

ASNCLP Program Reference for

Replication and Event Publishing

SC19-1000 �

WebSphere Information Integration: ��

���� ��� ��� � ���

�� � �� ���

WebSphere Information Integration: SQL

�� �� � ���

SC19-1002 �

�: DB2 ��� ��� �� ��� � Fixpack �� �� ��� �����.

188 IBM DB2 XQuery ���

Page 203: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

��� DB2 � ��

�� DB2 �� �, ���� �� � ����. (�� �� �� ��� ���� ����.)

���� �� ��� IBM ������ �� DB2 �� �� � ����. DB2 PDF �� CD�� �

� ��� � � �� � ����(�: DB2 ��� ���).

DB2 PDF �� CD� �� �� DB2 �� �� �� IBM� �� ���� �� � ����. �

��� ��� �� IBM Publications Center�� ���� �� �� �� ����. �� �� ��

���� �� ��� �� ���� ���� �� ��� IBM ������ �� DB2 �� ��

� ����. DB2 PDF �� CD� �� �� � �� �� � ����.

�: �� � ��� DB2 ��� DB2 �� ��(http://publib.boulder.ibm.com/infocenter/db2help/)�� �

������.

�� DB2 � ����:

1. �� �� �� ���� �� DB2 �� ���� �� � ��� ��� ���� IBM

Publications Center � ���(http://www.ibm.com/shop/publications/order)� �����. �� ��

��� ������ ��/��/��� � �� �� �� �� ����� �����.

2. �� IBM ������ �� DB2 �� ����� �� � ��� � ���� �� �� ��� �

�� �����.

a. IBM Worldwide Directory of Contacts(http://www.ibm.com/planetwide)

b. IBM Publications Center � ���(http://www.ibm.com/shop/publications/order). �� ��� �

� �� �� � ���� ������ ��/��/��� � ���. � ����� ″� ��

� ��″ ��� ������.

3. ��� �� �, ����� DB2 ��� ������.

4. ����� ����� �� �� � �� �� ������.

© Copyright IBM Corp. 2006 189

Page 204: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

190 IBM DB2 XQuery ���

Page 205: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

DB2 ��� �� ��

�� � �� �� � �� � ��� DB2 ��� ���� �� � ����.

�� ��� �� ����.

DB2 �

�� �� ��� DB2 �� �� ��� �� DB2 �� ��� �� � �� �� ���

�� � ����. ���� �� ��� �� ��� �� DB2 �� �� � ����, ��

� ���� ��� ���� ���� ��� �� �� � DB2 ��� ����� �� � �

� ��� ���� ��� �� �� ������ �� � ����.

DB2 �� � � ���

��� �� �, �� � � ��� �� � �� ���� ��� DB2 �� �� � ��

�� ������. �� �� ����� �� DB2 ��, TechNotes, APAR(Authorized Program

Analysis Report) �� � ��, Fixpack ��� ��� �� ��� ����. ��� �� �

�� ��� ��� �� �� ��� �� � ����.

DB2 �� �� � ���(http://www.ibm.com/software/data/db2/udb/support.html)� ������

�.

© Copyright IBM Corp. 2006 191

Page 206: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

192 IBM DB2 XQuery ���

Page 207: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

���

IBM � ���� � �� ��� ��, ��� �� �� ���� �� �� ����. �� ��

� �� �� � ���� �� ��� �� IBM ����� ������. � ��� IBM ��, ��

�� ���� ����� �� �� IBM ��, �� �� ����� �� � ��� �� ����

� ����. IBM� �� ���� ���� �� �, ���� ��� ��, �� �� ���� ��

�� �� ����. �� �IBM ��, �� �� ���� ��� �� � � � ���� �

����.

IBM � ��� ��� �� �� ��� �� ��� ���� ��� �� �� �� �� � ����.

� �� ����� �� ��� �� ���� � ���� � ����. ����� �� ���� �

��� ������.

135-270

����� ��� ��� 467-12, ������

�� ��.�.� ����

������

���: 080-023-8080

2 ���(DBCS) ��� �� ���� ��� �� IBM ������� ����� �� ��� �� ��

��� ���.

IBM World Trade Asia Corporation

Licensing

2-31 Roppongi 3-chome, Minato-ku

Tokyo 106, Japan

�� ��� ���� ��� ���� �� ���� ���� ����. IBM �� �� ���, �

� � �� ���� �� � �� ��� ��� ����(�, �� ��� ��) ����� �����

��� ��� ���� � �� ������� �����. �� ����� �� �� ��� ��� ��

��� ��� ����� ���� ���� � ��� ���� �� �� ����.

� ���� ����� ���� ���� ��� ��� �� � ����. � ��� ����� ���

�, ��� �� ��� �����. IBM � ��� ��� �� �/�� ��� �� ���� �

��� � �/�� �� � ����.

� ���� ���� �IBM� � ���� �� ��� ��� ���, �� ����� � � ����

����� �� � ����. �� � ���� ��� � IBM �� ��� ��� ���� �� � �

�� ���� � � ��� �� ��� ���.

IBM ��� ��� ���� �� � ��� ����� ���� ���� ��� ��� ��� ��

��� � � ����.

© Copyright IBM Corp. 2006 193

Page 208: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

(i) ����� � � �� � ��(� �� ��) �� �� �� � (ii) ��� ��� �

� ��� ���� � ��� �� ��� ��� �� ���� ���� �� ��� ������.

135-270

����� ��� ��� 467-12, ������

�� ��.�.� ����

������

��� ��� �� ��(�� �, ��� �� �)� �� �� � ����.

� ��� ��� ����� �� �� � ��� �� �� �� �� ����� ��� ���

IBM� IBM �� ��, IBM �� ���� ��(IPLA) �� �� ��� ��� �� ��� ���

�.

� ��� ��� �� ���� ��� ���� ��� ����. ��� � �� ���� ���

� � �� �� � ����. �� ��� �� � ����� � � � � ���, ��� ���

��� ����� ���� �� ������ ���� ��� ����� �� � ����. ��, �

� ��� �� ��� � �� ���� � � � �� � ����. � �� ���� �� �

��� ���� �� ���� �� ���.

�IBM ��� �� ��� �� ��� ����, �� �� �� �� �� ����� � ����. IBM

��� ��� �IBM ��� ����� �����, � �� ��� � �� , �� �� ��

��� ���� � � ����. �IBM ��� � �� ���� �� ��� ����� ���

���.

IBM� ���� �� �� ��� �� ��� ��� ��� ���� ��� � ����.

� ���� ��� ���� ���� ���� �� � ���� �� ��� � ����. � ����

�� ���� ��� ���� � �, ��, �� � ��� �� ��� � ����. � �

� ��� ���, � ��� � � ��� ������ �� ���� ����.

���:

� ���� �� �� �� ������ ��� ��� ���� �� ��� � �� �����

� ����. ��� ��� �� ��� � ��� � �� ���� ���� ��� �

���(API)� ���� ����� ��, ��, � �� �� ���� �� ���� �� �� �

�� ��� ��� ��, �� � � � ����. ��� �� �� �� ����� ��

���� � ����. ��� IBM � �� ��� � , ��� � �� �� ���

�� ���� ����.

��� �� �� �� �� ��� � ���� ���� ��� �� � ��� ��� ����

���.

194 IBM DB2 XQuery ���

Page 209: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

© (��� ���) (��). � ��� ��� IBM Corp.� �� ���� �����. © Copyright IBM

Corp. _ ��_. All rights reserved.

��

DB2 �� 9 �� ����� ���� ���� ��, �� � ��� � IBM(International Business

Machines) Corporation �� �� ��� �� �� �������. �� �� �� ���� ���� IBM

Corporation� ��� �� ��� http://www.ibm.com/legal/copytrade.shtml� ����.

�� ��� �� ��� �� �� ������, DB2 �� ����� �� ��� ��� ���� �

����.

Microsoft®, Windows, Windows NT® � Windows ��� �� �� �� ���� ���� Microsoft

Corporation� �����.

Intel®, Itanium®, Pentium® � Xeon™ �� �� �� ���� ���� Intel Corporation� ����

�.

Java � �� Java �� ��� �� �� �� ���� ���� Sun Microsystems, Inc.� �����.

UNIX®� �� �� �� ���� ���� Open Group� �������.

Linux� �� �� �� ���� ���� Linus Torvalds� �����.

�� ��, �� � ��� � ��� �� �� �������.

���� 195

Page 210: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

196 IBM DB2 XQuery ���

Page 211: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

IBM� ��

�� �� �� ��� IBM� ����� IBM Directory of Worldwide Contacts(http://www.ibm.com/

planetwide)� �����.

DB2 ��� �� ��� ��� ��� http://www.ibm.com/software/data/db2/� ������.

© Copyright IBM Corp. 2006 197

Page 212: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

198 IBM DB2 XQuery ���

Page 213: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

��

���, �� 6

�� ��, ��� � 21

��, �� � 55

��� �(QName)

� 15

��, �� 161

����� ��� �, ����� 26

�� ID 13

������� ��, �� �� 17

�� ����, ��� 55

����� ��� �, �� 23

��� ���, � �� 52

�����(setters), � � 47

�� ��� �, �� 24

����� ��� �, �� 23

������, ��� � 27

����� QName

�� 161

�� QName (��)

�� 15

Aabs �� 123

and ��� 84

anyAtomicType ��� � 30

anySimpleType ��� � 30

anyType ��� � 30

anyURI ��� � 30

avg �� 124

Bbase64Binary ��� � 30

boolean ��� � 31

boolean �� 125

boolean ��, �� 120

boundary-space � 48

byte ��� � 31

Cceiling �� 126

codepoints-to-string �� 127

compare �� 127

concat �� 128

construction � 49

contains �� 129

copy-namespace � 49

count �� 130

current-date �� 130

current-dateTime �� 131

current-time �� 131

DDB2 �� �� 119

DB2 XQuery ��

�� ��, �� 122

�� � 153

QName 158

© Copyright IBM Corp. 2006 199

Page 214: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

DB2 XQuery �� (��)

QName ��, �� 122

abs 123

avg 124

boolean 125

boolean ��, �� 120

ceiling 126

codepoints-to-string 127

compare 127

concat 128

contains 129

count 130

current-date 130

current-dateTime 131

current-time 131

data 132

date ��, �� 121

dateTime 133

deep-equal 133

default-collation 135

distinct-values 135

empty 136

ends-with 137

exactly-one 137

exists 138

false 139

floor 139

implicit-timezone �� 140

in-scope-prefixes 141

index-of 141

insert-before 142

last 143

local-name 143

local-name-from-QName 144

lower-case 145

matches 145

max 147

min 148

name 149

namespace-uri 150

namespace-uri-for-prefix 151

namespace-uri-from-QName 152

node ��, �� 122

normalize-space 153

normalize-unicode 154

DB2 XQuery �� (��)

not 155

number 156

number ��, �� 120

one-or-more 156

position 157

remove 159

replace 159

resolve-QName 161

reverse 162

root 163

round 164

round-half-to-even 165

sequence ��, �� 121

sqlquery 3, 166

starts-with 167

string 168

string ��, �� 119

string-join 169

string-length 169

string-to-codepoints 170

subsequence 171

substring 172

substring-after 172

substring-before 173

sum 174

tokenize 175

translate 177

true 178

unordered 179

upper-case 179

xmlcolumn 3, 180

zero-or-one 181

DB2 XQuery, � 1

data �� 132

date ��� � 31

date ��� �, �� 24

date ��, �� 121

dateTime ��� � 32

dateTime �� 133

dayTimeDuration ��� � 33

decimal ��� � 34

deep-equal �� 133

default element/type namespace � 50

default function namespace � 51

200 IBM DB2 XQuery ���

Page 215: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

default-collation �� 135

distinct-values �� 135

double ��� � 34

duration ��� � 35

duration ��� �, �� 24

EENTITY ��� � 36

empty �� 136

empty order � 52

ends-with �� 137

exactly-one �� 137

exists �� 138

FFLWOR ���

� 102

�� 102

� 111

for� let�

� 104

��� ����� 106

�� 107

�� � 107

for� 104

let�

�� 105

order by� 109

return� 111

where� 108

false �� 139

float ��� � 36

floor �� 139

for�

�� 104

GgDay ��� � 37

gMonth ��� � 37

gMonthDay ��� � 38

gYear ��� � 38

gYearMonth ��� � 39

HhexBinary ��� � 39

IID ��� � 39

IDREF ��� � 39

if-then-else ���

�� 114

implicit-timezone �� 140

in-scope-prefixes �� 141

index-of �� 141

insert-before �� 142

int ��� � 39

integer ��� � 40

Llanguage ��� � 40

last �� 143

let�

�� 105

local-name �� 143

local-name-from-QName �� 144

long ��� � 40

lower-case �� 145

Mmatches �� 145

max �� 147

min �� 148

NNCName ��� � 40

NMTOKEN ��� � 41

NOTATION ��� � 42

Name ��� � 40

name �� 149

namespace-uri �� 150

namespace-uri-for-prefix �� 151

namespace-uri-from-QName �� 152

negativeInteger ��� � 41

node-name �� 153

� 201

Page 216: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

nonNegativeInteger ��� � 41

nonPositiveInteger ��� � 41

normalize-space �� 153

normalize-unicode �� 154

normalizedString ��� � 41

not �� 155

number �� 156

number ��, �� 120

Oone-or-more �� 156

or ��� 84

order by� 109

ordering mode � 52

Pposition �� 157

positiveInteger ��� � 42

QQName ��� � 42

QName �� 158

QName(��� �)

� 15

��, �� 161

Rremove �� 159

replace �� 159

resolve-QName �� 161

return� 111

reverse �� 162

root �� 163

round �� 164

round-half-to-even �� 165

Ssequence ��, �� 121

short ��� � 42

sqlquery �� 3, 166

starts-with �� 167

string ��� � 43

string �� 168

string ��, �� 119

string-join �� 169

string-length �� 169

string-to-codepoints �� 170

subsequence �� 171

substring �� 172

substring-after �� 172

substring-before �� 173

sum �� 174

Ttime ��� � 43

time ��� �, �� 24

timezone, implicit 140

token ��� � 43

tokenize �� 175

translate �� 177

true �� 178

UURI

� ���� � � � 91

unordered �� 179

unsignedByte ��� � 44

unsignedInt ��� � 44

unsignedLong ��� � 44

unsignedShort ��� � 44

untyped ��� � 44

untyped ��� �, �� 23

untypedAtomic ��� � 44

upper-case �� 179

Wwhere�

�� 108

XXML ���

DB2 �������� �� 2

XMLEXISTS �� 3

202 IBM DB2 XQuery ���

Page 217: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

XMLQUERY �� 3

XMLTABLE �� 3

XQuery

� 1

�� 19

SQL�� �� 3

XQuery � XPath ��� �� 5

XQuery �� �� 119

xmlcolumn �� 3, 180

YyearMonthDuration ��� � 45

Zzero-or-one �� 181

�� 79

���� �� 56

� � �� 56

�� ���

�� 66

�� 66

� �� 68

�� � ��� �� 71

��� � ����� 96

��� �����

�� 86

�� 96

� 96

�� 101

�� ��� 100

�� �� �� 12

��

���� 48

�� 18

� � ������� 92

�� �� ��� 64

��

FLWOR ��� 102

�� 71

�� ��

XQuery 19

�� ��� 61

�� ���� 187

�� �� 119

��

ID 13

� 7, 9

�� �� 12

�� �� 9

��

�� 9

� 97

�� 13

�� 83

� 11

��� �� 76

� 10

� 13

��

� , � 101

��� ����� 101

�� 12

� ����� 101

�� 13

�� ���

�� 12

� 99

���

�� 11

� 98

�� ��� 69

��� �� 13

��� � 13

��� 84

��� ��

XQuery � XPath 5

��� �

��, �� 25

��, ����� 26

��, �� 23

��, �� 24

��, �� 23

date, time � duration, �� 24

untyped, �� 23

xdt:anyAtomicType 30

xdt:dayTimeDuration 33

� 203

Page 218: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

��� � (��)

xdt:untyped 44

xdt:untypedAtomic 44

xdt:yearMonthDuration 45

xs:ENTITY 36

xs:ID 39

xs:IDREF 39

xs:NCName 40

xs:NMTOKEN 41

xs:NOTATION 42

xs:Name 40

xs:QName 42

xs:anySimpleType 30

xs:anyType 30

xs:anyURI 30

xs:base64Binary 30

xs:boolean 31

xs:byte 31

xs:date 31

xs:dateTime 32

xs:decimal 34

xs:double 34

xs:duration 35

xs:float 36

xs:gDay 37

xs:gMonth 37

xs:gMonthDay 38

xs:gYear 38

xs:gYearMonth 39

xs:hexBinary 39

xs:int 39

xs:integer 40

xs:language 40

xs:long 40

xs:negativeInteger 41

xs:nonNegativeInteger 41

xs:nonPositiveInteger 41

xs:normalizedString 41

xs:positiveInteger 42

xs:short 42

xs:string 43

xs:time 43

xs:token 43

xs:unsignedByte 44

xs:unsignedInt 44

��� � (��)

xs:unsignedLong 44

xs:unsignedShort 44

� 21

�� 59

�� 23

�� 23

�� � � 55

�� 59

��� 27

�� 183

��� � �� �� 21

��� 61

���

������� 86

�� ��

�� 9

� 97

�� �� 12

�� �� 63

�� ��� 61

�� � 191

�� ��

�� 191

���� ��

� 48

� � ������� 92

�� � 48

� � � ���� 94

� ��� 74

�� ���� 193

��

for� let��� � � 107

for�� 105

�� 63

�� � �� 59

�� ���

79

� 79

�� 83

�� 82

�� ��� 77

� � 69

copy-namespaces 49

204 IBM DB2 XQuery ���

Page 219: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

� (��)

default element/type namespace � 50

��� �� � ���� 51

���� �� 48

�� 48

� �� 52

�� �� 52

� ���� 53

���� 49

� � 47

��� �����

�� 96

� ���� � 91

� 96

� �� 11

� � 68

�� ��� 115

��

����� 73

�� ��� 61

�� �� 73

���

��, �� 76

� 52

�� 5

��� 58

��� �� 60

� 74

��� � �� 5

��� ��� 73

��� �� 62

��� � 68

���

� 55

��� ����� 96

� � � ���� 94

� ����� 87

� �� 10

���� ��� 55

�� � ��� 27

�� 6

�� � 21

��� 58

�� 73

���� �� 63

��� � �� 23

� �� �� 21

� �� 59

� ��� 27

��� �� 60

� ����

��� �/� 50, 92

��� �� 91

� � 94

� 53

� � � 91

�� ��� 51

� ���� � 53

� ���� � � 91

� ��� 69

�� �� 82

��

XQuery 19

�� � 69

��� � 68

���� ��� � ���� 94

��� 114

�� ��� 70

��

� 189

��

� , � 101

�� ��, �� 18

��� ����� 101

� ����� 101

�� �� 12

� �����

�� 86

�� 87

��� �� 92

�� 101

�� ��� 99

�� ��� ��

�� 12

� 99

� 205

Page 220: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� �� 109

�� ����� 68

�� �� 71

� ��

�� ����� 68

�� ��� 69

�� �� 71

��� ��� 117

�����

XML 86

��� � 96

��� � 96

��� �� 101

��� �� ��� 100

�� � 26

��� 86

�� �� 97

� � � ���� 94

�� 96

� ���� � � 91

� �

�� 87

� �� 101

� �� ��� 99

�� ��� 99

��� �� 98

���� �� ��� 64

��

�� 1

�� ��

XML ��� 2

���� �� 17

�� 18

��� ��

�� 11

� 98

���

FLWOR

� 102

�� 102

� 111

for� let�, � 104

for� let�, �� � 107

��� (��)

FLWOR (��)

for� let�, �� 107

for� let�, �� 106

for� 104

let� 105

order by� 109

return� 111

where� 108

� 55

� � �� 56

��

�� 66

�� 66

�� �� 71

��

� 61

�� 64

��� 61

�� �� 63

�� �� 63

��� �� 62

���� �� 64

�� �� 64

�� ��� �� 76

��� 84

�� ���� 55

� 74

�� � �� 59

��

79

� 79

�� 83

�� 82

�� 77

�� 73

��� 73

� 55

��� 58

� �� 59

��� �� 60

� ��� 74

�� 115

�� 114

�� 55

206 IBM DB2 XQuery ���

Page 221: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

��� (��)

� 55

��� 117

�����

��� � 96

��� � 96

��� �� 101

��� �� ��� 100

�� �� 97

� � � ���� 94

�� 86

� ���� � � 91

� � 87

� �� 101

� �� ��� 99

�� ��� 99

��� �� 98

������� �� 86

� 75

��� � 55

���� � 55

���� ���� 55

� �

boundary-space � 48

construction � 49

copy-namespace � 49

default element/type namespace � 50

default function namespace � 51

empty order � 52

ordering mode � 52

�� 47

�� � 48

� ���� � 53

� ��� 75

��� � � �� �� � 69

� � � � 68

� � 68

��

XQuery ��� � 183

�� 185

��

DB2 XQuery

�� ��, �� 122

�� � 153

�� 119

�� 119

QName 158

QName ��, �� 122

abs 123

avg 124

boolean 125

boolean ��, �� 120

ceiling 126

codepoints-to-string 127

compare 127

concat 128

contains 129

count 130

current-date 130

current-dateTime 131

current-time 131

data 132

date ��, �� 121

dateTime 133

deep-equal 133

default-collation 135

distinct-values 135

empty 136

ends-with 137

exactly-one 137

exists 138

false 139

floor 139

implicit-timezone 140

index-of 141

ins-scope-prefixes 141

insert-before 142

last 143

local-name 143

local-name-from-QName 144

lower-case 145

matches 145

max 147

min 148

name 149

� 207

Page 222: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

�� (��)

DB2 XQuery (��)

namespace-uri 150

namespace-uri-for-prefix 151

namespace-uri-from-QName 152

node ��, �� 122

normalize-space 153

normalize-unicode 154

not 155

number 156

number ��, �� 120

one-or-more 156

position 157

remove 159

replace 159

resolve-QName 161

reverse 162

root 163

round 164

round-half-to-even 165

sequence ��, �� 121

sqlquery 166

starts-with 167

string 168

string ��, �� 119

string-join 169

string-length 169

string-to-codepoints 170

subsequence 171

substring 172

substring-after 172

substring-before 173

sum 174

tokenize 175

translate 177

true 178

unordered 179

upper-case 179

xmlcolumn 180

zero-or-one 181

�� �� 64

208 IBM DB2 XQuery ���

Page 223: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36
Page 224: public.dhe.ibm.compublic.dhe.ibm.com/.../letter/nlv/ko_KR/db2xqrk90.pdf · duration ................................35 ENTITY ................................36 float .................................36

���

SA30-3021-00