IBM DB2 9.7
Linux f" UNIX fM Windows f
pureXML 8O
S151-1180-00
IBM DB2 9.7
Linux f" UNIX fM Windows f
pureXML 8O
S151-1180-00
"b
9CKE"0d'VDz 70,k HDAZ 447 3 D=< E, :yw ; BD#f E"#
^)fyw
K D5|, IBM D yP(E"# | ZmI -iPa),R\f(( D #$# > vfoP|,DE"; | (TNNz7D
#$,Ra)DNNod<;h* gKbM#
zIZ_r(}1XD IBM zm&) : IBM vfo#
v *Z_):
vfo,k*A IBM vfoPD,x 7 *:www.ibm.com/shop/publications/order
v *iR1XD IBM zm &,k*A IBM + r*5K?< ,x7* :www.ibm.com/planetwide
*S@zrSC sD DB2 P!Mz [?): DB2 vfo,kB g 1-800-IBM-4YOU(426-4968)#
1 zr IBM "ME "1,4,b Z h IBM @;^ ~ D (&T
|O*J1R;aTzlI NN0lD==9 CrV" C
E"#
© Copyright International Business Machines Corporation 2006, 2009.
?<
XZ>i ..............vii
Z 1 B pureXML Ev - DB2 w*
XML }]b .............1
XML }]`M ..............3
XML dkM dvE v ...........3
H O XML #MMX5 # M .........7
XQuery M XPath }]#M .........8
r PMn...............8
-S5 ...............9
ZccN a9 .............10
ZctT ..............11
ZcV` ..............12
ZcD D53r ............14
Zcj6 ..............14
ZcD `M5MV{. 5 .........15
'V XML D$_ ............15
pureXML D*O'V ...........17
pureXML D4F
X Z XML 'VDDB...........17
M B~"<'V .......17
Z 2 B pureXML LL ........19
NL 1:4( ITf" XML }]D DB2 }] bM
m .................20
NL 2:4(yZ XML }]Dw} ......20
NL 3:+ XML D5ek = XML `MPP ...21
NL 4:|Bf" Z XML PPD XML D5 ...22
NL 5:> } XML }] ..........23
NL 6:i/ XML }] ..........24
NL 7:kT XML #=i$ XML D
NL 8:9C XSLT y=mxP d; ......29
5 ....27
Z 3 B XML f"w .........33
XML f"Ts .............33
XML y >mP f"w ...........33
XML D 5Df"*s ...........34
Z 4 B ek XML }] .......37
4 (_P XML PDm...........37
+ XML PmSAVPm ..........38
e k= XML PP ............38
XML bv ...............39
XML }]j{T ............43
XML PDli<x ...........43
XML }]D%"w &m .........45
XML i$ ..............46
XSR_GET_PARSING_DIAGNOSTICS f" }L ..49
T > j8 D XML bvMi$m s ......51
v?Dms{" 'V D ErrorLog XML #=(e 53
ZG Unicode }]bP 9C
XML.......56
Z 5 B i/ XML }] .......61
XQuery ri ..............61
9C XQuery / }lw DB2 }] .......62
9C SQL i/ XML }]ri ........63
XQuery k SQL DHO ..........64
HOCZ i/ XML }]D=(........64
8( XML {FUd ...........65
> }:|D *XD{FUd0: ........67
XMLQUERY /}E v ...........69
XMLQUERY 5XD GUrP .......69
XMLQUERY 5XDUrP ........70
+ XMLQUERY a {D}]`M*;*
`M ................71
} ]`M.dD? F *; .........72
XMLQUERY.............79
XMLTABLE /}E v ...........82
>}:ek XMLTABLE P5XD 5 .....83
>}: 9C XMLTABLE T3nD?v 5}5X;
P ................84
>}: 9C XMLTABLE &m XML D5P`v
wy|,D* X ............85
>}: 9C XMLTABLE &mVc }] ....87
XMLTABLE.............89
i / XML }] 1 D XMLEXISTS =J
XMLEXISTS =JC> ..........93
XMLEXISTS =J ...........94
Z SQL od k XQuery mo=.d + ]N} ...96
+]A XMLEXISTS M XMLQUERY D#?MN
}jG ...............96
9C XMLEXISTS"XMLQUERY r XMLTABLE
+]D r%P{ ............97
+ N}S XQuery + ]A SQL.......99
9C XQuery lw }]...........99
CZ %dw}ki/D<rEv .......101
w}(eD^F............102
8( text() Zc1
V f5D}]`M ...........105
,S=J*; ............105
# }i/s5 ............107
XML D5P D+ D> Qw .........108
+ XML PPD}]lw A O gf>D DB2 M'z 108
CZ 9l XML 5D SQL/XML "</} ....109
"< XML 5D>} ..........110
9 C XSLT y = mxP d ; .......114
SQL/XML "</}PDX bV {&
XML rP/ .............123
f" Mlw s XML D5P D np .....125
i 5 XML D 5D }]`M ........126
D"bBn .......104
G XML
.....92
m ....122
Z 6 B * XML }]("w} ....127
w } XML #=mo = ..........128
© Copyright IBM Corp. 2006, 2009 iii
XML {FUdy w ...........129
k w} XML #=mo = X*D } ]`M ....130
y Z XML }]Dw} D } ]`M* ; .....131
^' XML 5 ............132
D5b\r CREATE INDEX o d'\ ....134
X Z*;*w} XML }]`MD \ am ...134
XML #=Mw}|zI ..........135
UNIQUE X|Voe ...........136
k * XML }]("w}`
y Z XML }]D_-w}Mom w } ....137
k XML PX *Dd{}]bTs .....138
X B4(yZ XML }]Dw} ......139
CREATE INDEX ............139
k TyZ XML }]Dw} D y>i / .....156
TyZ XML }]Dw} D^F .......158
#{ XML ("w}Jb .........160
o O INSERT r UPDATE od"
SQL20305N {" ...........160
o O CREATE INDEX od T ndDm" v D
SQL20306N {" ...........162
X *D}]bTs ...137
vD
Z 7 B |B XML }] .......165
Z d;m o=P 9 C|BYw ........166
9Cd{mPDE"| B XML D 5 ......169
S mP>} XML }] ..........170
Z 8 B XML #=f"b .......171
XSR Ts ..............171
XSR Ts"a .............171
(}f" }L"a XSR Ts .......172
(}|nP&mw"a XSR Ts ......173
T XML #="aM>}D Java ' V ....174
D d"aD XSR Ts ..........176
]x XML #= ...........176
]x XML #=Df]T*s .......176
= 8:]x XML #= .........183
i! XML #=E"D >} .........185
P>Qr XSR
lwQr XSR "aD XML #= D yPiI?
V ................185
lw XML D5D XML #= .......186
"aD XML #= .....185
Z 9 B XML }]F/ .......187
PXF/ XML }]DX *"bBn ......188
i/M XPath }]#M ..........189
< kM < v1 D LOB M XML D~P * ....189
XML }]5w{ ............190
<v XML }] ............191
<k XML }] ............193
0k XML }] ............194
b v0k XML } ] 1"zD ("w}ms . . 195
Z 10 B &CLr` L oT'V ....203
CLI.................204
CLI &C LrPD XML }]&m - E v . . 204
CLI &C LrPD XML PekM|B ....205
Z CLI &C LrPlw XML }] .....206
|D CLI &CLrPD1! XML `M& m . . 206
6 k= SQL..............207
Z 6k= SQL &C LrPyw XML w d? 207
>}:}C6k = SQL &C LrPD XML w
d? ...............208
4P6k=
X Z9 C XML M XQuery *"6k= SQL &
CLrD(i ............211
j 6 SQLDA PD XML 5 .......211
Java ................211
JDBC...............211
SQLJ...............219
PHP ................223
IBM }]~qwD PHP &C Lr*" ....223
9 C PHP &C Lrlw XML } ] .....224
PHP BXM `XJ4 ..........224
Perl .................224
pureXML M Perl ...........224
Perl PD}]b,S ..........227
Perl ^F ..............228
} L ................228
SQL }L ..............228
SQL /} ..............230
b ?}L ..............232
}LDT\ .............246
y >&C Lr .............251
pureXML y> ............251
pureXML - \my> .........252
pureXML - &C Lr*"y> ......254
SQL &CLrPD XQuery mo= 209
Z 11 B XML T\ .........261
pureXML &\?~M}]i/=8 ......261
Z Vx}]b7 3 P 9 C XQuery d;D > } ...261
+QywY1mk XML }]dO 9C .....263
+E/<r k XML }]M XQuery mo =dO 9
C .................265
9 C XML } ]DE/<r D > } .....266
CZ pureXML }] f"T\D DMS mUdDW!
n .................271
Z 12 B XML }]`k .......273
Z?`kD XML }] ..........273
f"r+] XML }] 1D`k"b Bn ....274
+ XML }] dk }]b 1D`k"b Bn . . 274
S}]bPlw XML }] 1D`k"b Bn 274
Z }LN}P+] XML } ] 1 D`k"b B n 275
JDBC"SQLJ M .NET &C LrPD XML }]
`k"bBn
XML `kMrP/TZ}]* ;D0l .....276
`kiv:+Z? `kD XML }] dk =}]
bP ...............276
` kiv:+b? ` kD XML }] d k = }]
bP ...............277
` kiv:(}~=DrP/Yw4lw XML
}] ...............279
............275
iv pureXML 8O
` kiv:9CT = D XMLSERIALIZE 4lw
XML }] .............281
3 dZ?`kD XML }]M CCSID .....283
+ `k{3dAQf" D XML }] D P '
CCSID ...............283
+ CCSID 3dArP/ XML dv } ]D`k
{ ................295
Z 13 B x"M D XML #=Vb ...301
x "MD XML # = VbDE c .......301
9Cx" MD XML # =4Vb XML D5 ...301
"a XML #= "Tdt CVb ......302
`v XML D5Vb>} ........303
x "MD XML # = VbM]i XML D 5 . . 303
{Cx"MD XML # =V b ........308
CZ x"MD# = VbD xdbDecompXML }L . . 309
DECOMPOSEXMLDOCUMENT.......312
x"MD# =Vb
XDB_DECOMP_XML_FROM_QUERY f" }L . . 313
XML Vb"M .............316
XML Vb"M - f 6Mw Cr ......316
XML Vb"M - \a .........317
db2-xdb:defaultSQLSchema Vb"M .....318
db2-xdb:rowSet Vb"M .........319
db2-xdb:table Vb"M .........323
db2-xdb:column Vb"M ........326
db2-xdb:locationPath Vb"M .......328
db2-xdb:expression Vb"M ........331
db2-xdb:condition Vb"M ........334
db2-xdb:contentHandling Vb"M ......337
db2-xdb:normalization Vb"M .......341
db2-xdb:order Vb"M .........343
db2-xdb:truncate Vb"M ........345
db2-xdb:rowSetMapping V
db2-xdb:rowSetOperationOrder Vb"M ....350
x"MD XML # =VbDX| V .....351
x"MD XML # =VbPgNNI Vba { ...352
T XML Vba {xPi$DwC .....353
x "MD XML # = VbPT CDATA ? V D &
m ................353
x"MD XML # =VbPDU 5MU V{ . 354
CZ x"MD XML #=V
* xPx"MD XML # = V b xT IzD4S
`MmSD"M............355
Vb&\D XML #= 9l (i ......358
x"MD XML # =VbPD3d >} .....359
x"MD XML # =VbPDP/ .....359
Vb"M> }:3dA XML P ......362
Vb"M> }:;v53d A% v
Vb"M> }:;v53d A% vmazz` vP 364
Vb"M> }:;v53d A` vm .....366
Vb"M> }: +3dA%vm D`v 5 xP Vi 367
Vb"M> }: +;,OBDPD`v 53 dA%
vm ...............369
x"MD# =VbD
x"MD XML # =VbD^F .......374
D
b"M ......347
bDKTm .....355
m azz%vP 363
XML #== SQL `Mf] T 370
x "MD XML # = VbDJOo O "bBn ...376
XML Vb"MD# = ...........377
Z 14 B T pureXML D^F ....379
T pureXML &\D^F ..........379
=< A. ` k3d ..........383
+`k{3dAQf" D XML }] D P' CCSID 383
+ CCSID 3dArP/ XML dv }]D`k{ 394
=< B. SQL/XML "</} .....399
XMLAGG...............399
XMLATTRIBUTES............400
XMLCOMMENT ............401
XMLCONCAT.............402
XMLDOCUMENT............403
XMLELEMENT .............404
XMLFOREST .............408
XMLGROUP..............411
XMLNAMESPACES ...........413
XMLPI ...............415
XMLROW..............416
XMLTEXT ..............418
XSLTRANSFORM ............419
=< C. XSR f"}LM|n .....423
XSR f"}L .............423
XSR_REGISTER ...........423
XSR_ADDSCHEMADOC.........424
XSR_COMPLETE ...........425
XSR_DTD .............426
XSR_EXTENTITY ...........427
XSR_UPDATE ............428
XSR |n ..............430
REGISTER XMLSCHEMA ........430
ADD XMLSCHEMA DOCUMENT .....431
COMPLETE XMLSCHEMA ........432
REGISTER XSROBJECT .........433
UPDATE XMLSCHEMA .........435
=< D. DB2 <uE" Ev ......437
2=4r PDF q=D DB2 < u b ......437
):!"fD DB2 i. ..........440
S|nP &mwT> SQL 4,oz ......441
CJ;,f>D DB2 E"P D .......441
Z DB2 E"P DPTzDW!o TT> wb ...441
| B20ZzDFczr Z ?x~qwOD DB2 E
"PD................442
V/|B20Z
DB2 E"P D .............443
DB2 LL ...............444
DB2 J OoOE" ............445
u nM u ~ ..............445
zDFczr Z?x~qwOD
=< E. yw ............447
?< v
w } ...............451
vi
pureXML 8O
XZ>i
pureXML™8 OhvgNZ DB2 ®} ]bP9C XML } ]#|+f_zPX XML }
]`MM XML f" wD*6,g N9C SQL M XQuery oT 49C XML } ],
T 0gN*T\("w } XML }]#d{wb|( pureXML &C Lr"9, } ] F
/ MQ XML }]Vb*`Xq = #
© Copyright IBM Corp. 2006, 2009 vii
viii pureXML 8O
Z 1 B pureXML Ev - DB2 w* XML }]b
pureXML &\?~Jm z+q=<CD XML D5f" Z_P XML }]`MD }]
b mPP#(}+ XML }]f" Z XML PP, } ]I#Vd>zVca9N=,x
;G+dw*D >f" r3d* d{ }]#M#
r* pureXML }]f" Qj+/I,y TI{CV P DB2
M\mf" D XML }]#
+ XML }]Td>zVc a 9N=4f" IT 9 XML DQw "lwM| B' J|
_#XQuery "SQL rOv~_DiOICZ i/ M |B XML }]#5X XML }]
r IC XML Td?D SQL /}(F* SQL/XML / }) 9 \y]
5 49lr"< XML }]#
}]b~qw&\4 CJ
S }]bPlwD
i/M|B
I9CBP=( i/M|Bf" Z XML PPD XML D 5:
XQuery
XQuery GCZ b M"lwM^Di/ XML }]D(Co T# DB2 }]b~
q wJm1SwC XQuery rS SQL w C XQuery#r * XML }]f" Z
DB2 mMS<P,yTa)K ;) /}, CZ(}1S |{mrS< r(}
( SQL i/S8 (DmMS<Pi! XML }]#XQuery 'Vw V CZ &m
XML }]"|B*XMtT.`D XML TsM9lB XML Ts Dmo=#
XQuery D`LSZa)K`FZ SQL D&\,CZ 4Pi/ "lwa {#
SQL odM SQL/XML /}
m` SQL od'V XML }
{ }]bYw,}g ,4( _ P XML PDm"+ XML P m S AVPm"4
(yZ XML PDw}"T_ P XML PDm4 (%"wT0ek"|Br>
} XML D5# DB2 }]b~qw' V D;i SQL/XML /}"mo =
6{C XML }] `M#
] `M#b9Cz\ ;T XML } ] 4Pm `#
8
Mf
ITS SQL i/PwC XQuery #Zb Vi vB,SQL i/IT+}]Ts(
d?DN=+ ]A XQuery#
&CLr*"
m``LoT(} SQL M b?} La)K T&C L r*"D'V:
`LoT' V
TBD pureXML &\ D&CL r*"'V9C&C L r\;iO XML M X
5}]DCJMf" # BP`LoT' V XML }]`M:
v C r C++(6k= SQL r DB2 CLI)
v COBOL
™
v Java
v C# M Visual Basic(IBM
v PHP
© Copyright IBM Corp. 2006, 2009 1
(JDBC r SQLJ)
®
} ]~qw .NET a)Lr)
v Perl
SQL Mb?}L
(}Z CREATE PROCEDURE N}Xw{P|, XML } ]`M N },I+
XML }]+]A SQL }LMb? }L#VPD }L &\'V'F SQL od
5 V}L_-w,|Gzzr{C XML 5T 0 d?PD XML } ]5Y 1 f
"w#
\m
pureXML &\a )CZ \ m XML D 5D URI @5X5D f"b"Jm CZ}]b\
mD XML }]F/:
XML #=f" b( XSR)
XML #=f" b( XSR )GCZ fEZ & m XML PPf" D XML 5}D
51yh DyP XML $~ Df" b#|f" XML D 5P}C D XML #
="DTD Mb? 5e#
<k" <vM0k5C Lr
<k" <vM0k5C LrQ| B*' V>z XML }]`M#b ) 5C Lr
s &m LOB }];y 4 & m XML }]:b=V ` MD}]< f" Z5JD
m .b#Q|BD db2Import "db2Export M db2Load API 9a)KCZ < k"
<vM0k XML }
f" Z XML PPD XML D5}],b`FZTX5 } ] D }]F/'V#
]D&C Lr*"' V#b)Q| B D5CLrJ mF/
T\
9Cf" Z XML PPD XML D5 1,I 9Ca_T\D& \?~:
yZ XML }]Dw}
Tf" Z XML PPD}]a) Kw}'V#9Cy Z XML }]D w}Ia
_ kT XML D5"vDi/ D 'J#kX5w}`F,XML }] w }TP(
"w}# +G,
w };GT?VP(" w }#(}8( XML #=( | G\^D XPath mo
=),I8w*T XML PDD)?V( "w }#
E /w |BKE/w,T'VkT XML }]MX5 } ] T SQL /}"XQuery
M6kK XQuery D SQL/XML /}xPs5#E/wI C(} XML }]T
0 4TyZ XML }]Dw} D } ]y U / D3 F E"zIP 'Di/4 P F
.#
5wM Visual Explain
Q |B5wh)M Visual Explain GUI $_, T c'VCZ i/ XML }]D
SQL v?&\"'V XQuery mo=#
_ Db)| B J m zlYi 4 DB2 } ] b~qwkT XML } ] Ti/o d
xPs5D==#
|GDxpZZX5 w}GT{vP(" w},xXML }]
T5wh)M Visual Explain GUI $
$_
/}
2 pureXML 8O
;)$_'V XML }]`M,b )$ _|(XFP D"|nP&mw"IBM Data Stu-
dio M DB2 Development Add-In for Microsoft
®
Visual Studio .NET#
XML }]`M
x "MD XML # = Vb
pureXML 9z\ ;+ICV cq =D XML }]w* XML f" MCJ,+P1I\
h *+ XML }]w*X5 } ]4CJ#x" M D XML #=V b y] XML #=P
8(D"M4VbD 5#
K }]`MCZ (emPf" XML 5 DP,b) P P f" DyP XML 5 X kGq=
<CD XML D 5#}kK>z XML }]`M\;+q = <CD XML D 5f" Z
}]bPd{X5 }]T_D >zVcq =P#
9CZ?m >4& m XML 5,Z?m >;GV
O #(}9C XMLSERIALIZE / } r + XML 5s( A `M* XML "V{.r~ x
FD&C Lrd?,IT+ XML 5d;I m> XML D5D QrP/V{. 5#,
y ,(}9C XMLPARSE / } r+&CLrV{."~xFr XML &C Lr
(A XML 5,IT+m> XML D5D V{. 5d;* XML 5#Zf0 XML P
D SQL }]|D o d (g INSERT )P ,(} 9 CQek D XMLPARSE /}+m >
XML D5D V{.r~xF5 d ;I XML 5#k&C LrV{.M~x F}]`M
;;1,IT~ = bvrrP /
Z a9OT}]bPD XML 5 Ds!;P^ F #+ G ,k"b ,k DB2 } ]b~q
w ;;DQrP / XML }]Ds!^F* 2GB #
I9C SQL }]Ywo dek"|BM>} XML D5 #XML # =f" b(XSR )
'V(#Zekr|BZdkT XML
K CZ 9lMi/ XML 5T0<v M <k XML }] D zF#ITT XML P (e
XML }]w},SxDF XML }]DQw T\#IT(}wV&C L rSZ +mr
S <PPD XML } ]w*QrP/D V {. } ]lw
XML dkM dvE v
DB2 }]b~qw CZ\m X5}]M XML } ] , |a ) K w V =(4 d k M dv
XML D5#
{.,"R ;\1SkV{.5xPH
`Ms
XML 5#
# =i$ XML D5# DB2 } ]b539a)
#
XML D5 f"Z(e* XML }]`MDPP#;v XML PPD?;P< f"%v
q=<CD XML D 5#f" DD 5Vc#f, "R#tK XML }]#M;D5 4f
"*D >
I TZ|,d{`MDP(b) P #fX5}])DmP(e XML P;I T *%vm
(e `v XML P#
r3dAm;}]#M#
dk
Z 4 3 D< 1 T>KICZ + XML }]Ek }]b5 3P DwV=( #
Z 1 B pureXML Ev 3
4 pureXML 8O
<1.CZdk
XML
}]D=(
9CD dk=( !vZ*jID Nq:
ekr|B
I9C INSERT SQL od+q =<CDD 5ek = XML PP#g{\ ;I
&VvD 5,G45 wD 5Dq=<C#Z4Pekr |BYw ZdG qi$
XML D5G I! D #g{ 4Pi $ ,G 4XkW Hr XML #= f"b
(XSR )"a XML #=#D5 G9C UPDATE SQL odr 9C XQuery |
Bmo=| BD#
x"MD XML # =Vb
I 9Cx" M D XML # = Vb4 V b XML D5P D } ],r_+C } ]f
"ZX5PM XML
P P#Vbay]mS A XML #=D5D " M + } ]f
"ZPP#b)"M+ XML D5 PD}]3d Am P#
V b&\y}CD XML # =D5f"Z XML # =f"b(XSR )P#
<k I9C<k 5CLr+ XML D5< k= XML PP#Z < k XML D5 1G
qxP
i $GI !D #g{4 P i $,G4XkWHr XML # =f" b
(XSR )"ai$D51y 9C D XML #=#
XML #=f" b( XSR)"a
XML #=f" b( XSR)f"CZ i$rVb XML D5D XML #=#*
T @5Zb)#=D XML D 5 4 P d{Nq,(# h * H"
a XML #=#
XML #=G9 Cf" }Lr|nr XSR "aD#
dv
Z 6 3 D< 2 T>KICZ S }]b 5 3Plw XML }] DwV=( #
Z 1 B pureXML Ev 5
6 pureXML 8O
<2.CZdv
XML
}]D=(
9CD dv=( !vZ*j IDNq:
XQuery
XQuery G;VI CZZ XML D5ZxPi/DoT#|zcKi/a9d/
G #sD XML }] D X(hs,ki/a9I$ b D X5}] G ;, D #
XQuery ITT:wCT:,2IT(} XQuery /} db2-fn:xmlcolumn M db2-
fn:sqlquery w C
SQL 4 i/ f"Z DB2 } ]b PD XML# db2-
fn:xmlcolumn +lw{v XML P,x db2-fn:sqlquery +lwyZ SQL +i
/ D XML 5#
SQL 19C SQL +i/4 i / XML } ] 1 ,+ZP6p x Pi/#rK ,Ci
/;\5X{v XML D5;vv 9C SQL G;I \5X XML D5|, D
,ND#
* Z XML D5ZxPi/,X k 9C XQuery#I T 9C SQL/
XML /} XMLQUERY r XMLTABLE r_9C XMLEXISTS =J"(}
w C SQL 4 w C XQuery#XMLQUERY /}+ XQuery mo = Da{T XML
r P N =5X#XMLTABLE / } + XQuery mo = Da{Tm D N =5X#
XMLEXISTS SQL =J7( XQuery mo=G qa 5X GUrP#
9 I9CtI"</ } (}f" Z DB2 } ] b ~qwPD XML }]49l
XML 5#9Cb)"</ }9lD XML 5;XGq =<CD XML D5#
< v I9C<v 5 CLrS XML PP< v XML D5#Q < v D XML } ]kw
}]D~P|,DQ <vDX5}]f" Z;,;C#PX?vQ<v D XML
D 5Dj8 E";P1Sf" ZQ<v D w }] D ~P#Z w }] D ~P,b
)j8E"GI XML }
HO XML #MMX5 #M
h F}]b 1 ,h*7( } ]| J O XML #M9 G X5#M# h FI{C DB2 }
]bDlOX c,4 ,,1Z;v } ]bP' VX5} ]M XML } ]D\;#
d;>V[bMKb =v#M.dD w*x pT0JCZ ?v#MD r X,+9P\
`rXIozz!qnOJD 5V#+>V[ w* ;v<r,KbI\a0lX (5
VDyPr X#
XML }]kX5 }].dD w*xp
XML }] GVc }];X5 }]C_-X5#Mm >
XML D5TcNa9N=|,PX}]n.dDX5 DE"#TZX5#M,
IT(eD( ;X5`MG8mMS tm X5#
]5w{(XDS )m>D#
XML }]\;Th v;xX5 }];\
XML D5;v|,}]
T P;,`MD}]#T Z X5#M,}]D Z ] I d P( e (e #PPDy
P}]Xk G`,`MD }] #
XML }]_ PL(Er; xX5 }];P
TZ XML D5,Y (8 (D}]n
=( 48(D5ZD3r#TZX5}],}GT;Pr` P 8( ORDER BY
S d,qr;\#$PD3 r #
,9|,PXCZ 5w}]DEn DjG#%vD5I
3rGD5P }]D 3r#(#;Pd {
0l}]#M!qDrX
f" D}]V`Io z z7( f" ==#}g,g { } ]lz G V cRThvD,G
4IT+|f" * XML }]#+ G,d { rX 2 I\a0l zv(*9CD #M#
h*nsin T1
X5mq-G# OqD#M#}g,+; v m f6/*
f6/*;vmI\G#'Q#g{-#|D } ]hF,G4+|m>* XML
}] GOCD!q#}g,XML # =If 1d]x#
}]lwh*nC T\ 1
r P/MbM XML } ] a zz; )*z#g{ T \Hin T |
5}]I\ GOCD!q#
m `mr+ m `m4r
X*,G4X
}]Tsw*X5 }]&m 1
g{T}]Dsx&m !vZ*f" ZX5} ]bPD} ] ,G49CVb+
?V}]w*X5 }]f" I\OO J#+*z Vv&m(OLAP )&CZ }
Z 1 B pureXML Ev 7
] VbPD} ]M Gby;v > }#Kb,g{h*+T XML D5D d{ &
mw*;v{e,G4Z bVivB,OOJD=( G +? V}] w*X5}
]f" "f" {v XML D5#
}]i~ZcNa9b _Pbe 1
}]>mI\PL PDVcq =
)%I\|,?~E#nC+xP?~EDI:)%T XML D 5D N=m > #
+G,?v?~E<P; vk|X* D?~hv#nC + ?~hv|(ZX5
m P,r*?~EM ? ~hv .dDX
%^X#
}] tT JCZ yP }],rv JCZ ;!?V }] 1
;)}]/I\Ps? t T ,+;P ;!?Vt T JCZ N NX( } ]5#}
g,Zc[?<P ,I\Pm`}] t T ,} g,s! "
y ="/( "g4hsr<O h s # TZC?<PDN N x (n,;P;?V
tT`X:g4 hsTZgb Pbe ,+ TZ:;Pbe #\Q CX 5# Mm
>MQw bV`MD}],+9C XML #M4m >MQw M`T*]
}]4STk]?.HO _ 1
Z m`ivB,Y?}]P|, K _ H a9/D E "# 9CX 5 # M m>C }
]+f04SDGM #=, Z C#=P? v,m, SAm` v,m,"Rd P
s `}m;PY?P# m > K }]D;V
m,"RTC m4(S<,?v S< m>;v,#
,+Si ~;h*8i ~a)5#}g ,I:
5Z_-Ok9 Cb)? ~EDI:)
OC=(G9 C_ P XML PD% v
U+"X? "DO "
W;)#
h*} Cj{ T1
;\+ XML P(e* }C<xD ; ?V#rK,g{ XML D5P D5h *
Nk} C<x,G4 &+}]w*X5 }]f" #
h*-#| B}] 1
\ (}f;{vD54 | B XML PPD XML }]#g { h*51| B G
;
# sDD 5 PO!,NZ|, D s ?P,G4+}] f" ZG XML PPI\
a 'J|_ #+G,g{}Z| B DD 5 \ !"R;N;| B Y?D5,G4
w* XML }]f" 'J
XQuery M XPath }]#M
XQuery mo=T XQuery M XPath }]#M( XDM )D5}xPKc"5X } ]#
MD5}#XDM GT;vr `v XML D 5r,N Dis m># }]# Ma(e
XQuery PDmo= D Jm 5 ,|( P dF cZd9CD 5 #
+ XML }] bv* XDM ,"Z XQuery &m}].0k
z I}]#MZd,+b vdk XML D5,"+|*; * XDM D 5 }#ZbvD 5
1,ITxPi$ ,2I T;xPi$#
XDM G4U-S5MZcrP4 x Ph v D#
2a\_#
T#=4i$b) }]#Z
rPMn
8 pureXML 8O
XQuery M XPath }]#M( XDM)D5}*rP#
n
O #;v
;vrPI T|,Zc"-S5r_G Zc M-S5DN biO#}g,BfPmP
D ?vu?<G; v rP:
MG;v-S5r ;vZc#
rP
G 0 vnr` v nDPr/
v 36
v <dog/>
v (2, 3, 4)
v (36, <dog/>, "cat")
v ()
}PmPDu? .b,f" Z DB2 }]bD XML PPD XML D 5G;vr P#
>}PC 4m >rPDm >(,kC 49l XQuery PDrP Do (G;BD:
v rPPD?n .dC:EVt#
v {vrPGC2(E (p 4D#
v ;TUD2(Em> ;vUrP#
v g{;vnZ|TmO =v V,G4 `1Z ;v;|, ;nDrP#
}g,rP (36) k-S5 36 ;Pxp#
;\TrPx P 6W#1iO=v r P1,qCD a{ < U G ZcM-S5 D =L r
P#}g
*v;avV6WrP,yT ,iOb )rP1 ";azI (3, 5, 6, (2, 3))#
;|,N NnDrPF*
,+rP (2, 3) 7SA rP (3, 5, 6) 1 +zI%vrP (3, 5, 6, 2, 3)#r
UrP
# I9C U rP4m>1YD E "r4* E " #
-S5
-S5
String"Integer"Decimal"Date Md{-S`M#b ) `M<;hv* -S`M, -r
G|G^(Y8 VK#
k Zc;,D G,-S5; P j6#-S5D?v5}(} g,
?v5}<j+` ,#
BP>} G;)zI-S5D=( :
v (};vF*“-S/ ”D }LSZcP i!#?1h* -S5 rP1,mo =Ma
v 8(*}Vr V{. DV#XQuery a+ DVbM *-
v I9l/}FcqC#}g,TB 9l/}+y]V{.“2005-01-01” 4 9(`M*
v IZC/} fn:true() M fn:false() 5X#b) /}+5X<{ 5 true M false#b
v I`Vmo=(}g ,c u mo=M_- mo=)5X#
GI XML # =(eDdP ;VZ C-S }]`MD 5}#b) }]`M| (
{} 7)kC5Dd{
9 C-S/#
S5#}g,BPD VMa;
b M*-S5:
– “this is a string”(`M* xs:string)
–45(`M* xs:integer )
– 1.44(`M* xs:decimal)
xs:date D5:
xs:date("2005-01-01")
)5;\m>*D V#
Z 1 B pureXML Ev 9
ZccN a9
iI;vr` v
cNa 9 rw
D Z c rP,b )cNa9rwI;vy Z c MISC
yZc1 Srd SCJDyP ZciI#? vZc;tZ; vcNa9,x? vcN
a9;P;vy Zc#DB2 'VTB 6 V Zc:D 5"*X "tT "D> "&m8>
E"M"M#
TB XML D5 products.xml |( ;vy *X products,Cy *XV|, ;) prod-
uct *X#?v product *X<P;v{* pid(z7j6 )DtTT0 ;v{*
description DS*X# description *X|,{* name M price DS*X#
<products>
<product pid="10">
<description>
<name>Fleece jacket</name>
<price>19.99</price>
</description>
</product>
<product pid="11">
<description>
<name>Nylon pants</name>
<price>9.99</price>
</description>
</product>
</products>
Z 11 3 D< 3 T> products.xml D}]#MDr/m>#C<P|(D5Zc(D )"
* XZc(E )"tT Z c(A )MD> Z c(T )#
10 pureXML 8O
<
3. products.xml
D5D }]#M<
g >}Py > ,;vZcI + d{ Z cw*S z ,SxiI;vr ` v
9
D Sz#name M price *X<G description *X D Sz#5* Fleece Jacket D
D>ZcG name *X DSz,x D>Zc 19.99 G price *X DSz#
ZctT
?vZc<_P;)
|(:ZcD {F"Sz "8z "tTT0C 4hvCZcD d{E"# ZcV `7
(*X (Zca)KD)t T#
;vZcI T_PBfD ;vr` vtT:
node-name
8 z G10Z cD 8z D Zc #
ZccN a
#ZC>}P,product *XG products DSz #description *X4G product
XT
,b)X TC4hvCZcD X w#}g ,ZcD XTI\
ZcD {F,m>*
QName#
Z 1 B pureXML Ev 11
type-name
Sz G10Z cDSz DZ crP#
tT tZ10Z cD;i tTZc#
string-value
typed-value
{FUdwCr
content
ZcV`
DB2 'VTB 6 VZc:D 5"*X "tT "D> "&m 8>E"M" M#
D5Z c
D 5Zc |, XML D 5#
ZcD /,(KP1 )`M (2F*
ITSZcPi! DV{ .5#
ITSZcPi! DIcvr` v-S5 iI DrP#
k Zc`X* D w Cr Z{FUd#
ZcD Z]#
`M"M
)#
D 5Z c IT_P`vSz, 2 I T;PSz# S z I TG*XZ c " &m8nZ
c""MZ cMD>Z c#
D 5Z cD V{.5 H Z+| D yPsz D >ZcDZ]4 D 53rx P "C D a
{ #V{.5D`M
* xdt:untypedAtomic#
D5Z c_PBPZ ctT:
v children(I\G UD )
v string-value
v typed-value
I TZ XQuery mo= P 9 C - }F c qCD 9 l / } 49 l D 5 Z c # db2-
fn:xmlcolumn /}9IT5 X;5PD5Z c#
* xs:string# D 5Z cD `M5kV{. 5 `,, + `M5 D `M
*XZc
*XZc|, XML *X#
;v*XI T _P ;v8 z, 2 I T ;P8z;,1 ,|I T _P`vSz, 2 I T
;PSz# SzITG*XZc" &m8nZc" "MZcMD> Zc#D 5 ZcM
t TZcv;a G *XZcD Sz#+ G ,
z#*XZcD tTX k_P(;D QName #
ITO**XZcG |T:DtT D8
12 pureXML 8O
*XZc_PBP ZctT:
v node-name
v parent(I\G UD )
v type-name
v children(I\G UD )
v attributes(I\G UD )
v string-value
v typed-value
v in-scope-namespaces
I TZ XQuery mo=P 9 C1S9 l /}r_-}FcqCD9l/}4 9 l* X Z
c#
* XZcD type-name tT8 > | D`M5kV{. 5. d D X5#}g,g {;v*
XZc_P type-name tT xs:decimal M
g {*XZcD type-name tT G xdt:untyped ,G4 * XD`M5HZdV{.5,"
R`M* xdt:untypedAtomic#
V{.5“47.5” ,G4`M5MG!}5 47.5 #
tTZc
tTZcm > XML tT#
tTZcIT_P ;v8 z, 2 IT;P8z# I +5P tTD*XZ cO* G|D
8 z,!\tTZc; G |D 8 *XDSz#
tTZc_PBP Zc tT:
v node-name
v parent(I\G UD )
v type-name
v string-value
v typed-value
ITZ XQuery mo
c#
t TZcD type-name t T8 > |D`M5kV{. 5. d D X5#}g,g {;vt
TZc_P type-name t T xs:decimal MV{.5“47.5” ,G4|D` M5MG !}5
47.5#
=P 9C1S9l/}r_-}Fc qCD 9l/}49 ltTZ
D>Zc
D>Zc|, XML V{Z]#
D>ZcIT_P ;v8 z, 2 IT;P8z#w *D5Z cr*XZ cDSz D D
> Zcv;aw*`Z,zv V # 1 9lD 5 Z cr*X Z c1,NN`Z D D > Z
c,z<a;O"I %vD>Z c#g{
D >Zc_PBP Z ctT:
v content(I\G UD )
v parent(I\G UD )
I TZ XQuery mo=P 9 C-}FcqCD 9 l /}49lD>Zc,2I T (}1
S*X9 l/}DYw49 lD> Zc#
q CDD>ZcGU D ,G4 a +|Oz#
Z 1 B pureXML Ev 13
&m8nZc
&m8nZcab0 XML &m8n#
&m8nZcIT_P ;v8 z,2I T;P8 z# &m8nDZ]; \|,V{ .
?> #&m8nD?jXkG;v NCName#C?jC4j6*+8 > E""MxD&C
Lr#
&m8nZc_PB PZctT
v target
v content
v parent(I\G UD )
ITZ XQuery mo=P 9C1S9 l/}r_-}FcqCD 9l/}4 9l&m8
nZc#
:
"MZc
"MZc|, XML "M#
"MZcIT_P ;v8 z, 2 IT;P8z # "MZcD Z]; \|( V{.“--”
(=v ,V{ ),"Rns;v V{ ;\G,V{ (-)#
"MZc_PBP Zc tT:
v content
v parent(I\G UD )
ITZ XQuery mo=P
c#
9 C1S9l/ } r_-}FcqCD 9 l/}49l" M Z
ZcDD 53r
;vcNa9PDyP Zc< *qS3 ;3r(4 ,
c<+ZdSz0fvV#g{ZccNa9GCQrP/D XML m> D,G4D 5
3 rkZcDvV 3 r`T&#
c Na9PD Z c4TB3rv V :
v yZcG Z; vZc#
v *XZc Z|GDSz0 fv
v tTZc tzZk|G`X*D *X ZcsfvV# tTZcD `T3 rIT GN
bD,+GZ&mi/Zd K3r;aDd#
v ,zD`T3rI |GZZ cc Na9PD3r47(#
v ;vZcD SzMs z +Z CZcsf D
Zcj6
? vZc<P; v (;j6#4 9 = v ZcD { FM5<`,,2IT +| G xV
*#;x,-S5;Pj6 #
Z cj6k ID-type tT;`,#XML D5P D *XIID5w_x( ID-type tT#
;x,Zcj6G I53T / *?vZc8 (D,C
V#
D53r
,z0fvV#
'^(1S4{ Zcj6#
)#4UC3r,? vZ
14 pureXML 8O
Zcj6CZ &mBP `M Dmo=:
v ZcH O#is Kc{9C Zcj647(=v ZcGq_P`,j 6#
v 76mo=# 76mo=9 CZc j64{}X4DZ c#
v rPmo=#union "intersect r except Kc{ 9CZcj64{}X4D
ZcD`M5MV{. 5
Zc#
? vZc<,1P
`M5 MV{.5
#b=vZctTCZ 3) XQuery Yw(}g ,
-S/)M/ } (}g ,fn:data"fn:string M fn:deep-equal )D(eP#
m1.Z cD V{.5M`M 5
ZcV` V{. 5 `M 5
D 5 xs:string }]`M D 5},|G+ | DyPszD>
ZcD Z]4D53r xP"CD a{#
XML D5P
D*X
XML D5P
DtT
D > w * xs:string }]`MD 5 }DZ]# w * xdt:untypedAtomic }]`MD 5 }DZ]#
"M w* xs:string }]`MD 5}DZ]# w* xs:string }]`MD 5}DZ]#
& m8n w* xs:string }] ` MD5 } DZ]# w*
xs:string }]`MD 5
szDZ]4D 53rx P"C Da{#
xs:string }]`MD 5 },|m>-< XML D5P
DtT5#
} ,|G+ | DyPD>Zc
xdt:untypedAtomic }]`MD 5 },|G+|Dy P
s zD>ZcDZ]4 D 53rx P "C D a{#
xdt:untypedAtomic }]`MD 5 },|G+|Dy P
D >Zcsz D Z]4 D 53rx P "C D a{#
xdt:untypedAtomic }
XML D5P DtT5#
xs:string }]`MD 5}DZ]#
]`MD5 },| m>-<
'V XML D$_
IBM MZ}=$_'V9C pureXML &\?~#BP $ _Gf DB2 }]b~qwa
)Dr_GI %@S IBM BX D:
IBM Data Studio:T XML D'V|(TB8 n:
v f" }L:IT4(MKP| , XML }]`Mw* dk MdvN }D f"}L#
v }] dv:ITw
v SQL `-w: I4(,19 CX5}]M XML }]D SQL odM XQuery m
o=#
v XML #=:IT\m XML #=f" b(XSR )PD#=D 5 ,|("aM>}#
=T0` -# =D5#
v XML D5i$:ITkT
v C'(eD SQL /}: I4("KP9C XML N}DC'(e D SQL / }#
M rD> N =i4|,Z XML PPDD 5 #
Z XSR P"aD#=i $ XML D5#
DB2 X FPD: DB2 X FPD'VT|D m`\m &\9C>z XML }]`M#K
| B9}]b\m1\ ;Z; v GUI $_P&m XML }]MX5
}]#
\'VD\mNq D >}| (:
v 4(xP XML PDm
v 9CBD“4(w} ”r <44( XML Pw}
v i4f" Z XML PPD XML D5D Z]
v 9C&m XML D5yh D XML # ="DTD Mb? 5e
v U/|,K XML PDm D3 FE"
Z 1 B pureXML Ev 15
|nP&mw:tIv DB2 |n'V>zf" XML }]#ITS DB2 |nP&m
w(CLP )9CX5 }]T_D XML }]#ITS CLP 4PDNq D >}| ( :
v (}T XQuery odSO XQUERY X|V0 :4"v XQuery od#
v <kM <v XML }]#
v T XML PU/3
FE"#
v 9C XML }]`MD IN"OUT r INOUT N }4wCf" }L#
v 9C&m XML D5yh D XML # ="DTD Mb? 5e
v XiyZ XML }]Dw}M| , XML PDm#
v Vb XML D5#
DB2 Development Add-In for Microsoft Visual Studio .NET :IT9 C Development Add-In for Microsoft Visual Studio .NET 44(_P XML PDmMyZ XML
}]Dw}#
Z K$_Pq 4 (NNd{P;y4( XML P #;h*+}]`M8(
* XML#IT(}9CK $ _PD“XML w } hFw”44(w } # ;Xg9C CRE-
ATE INDEX o(4(y Z XML }]Dw} 1y*sDGyV/8( XML #=mo
=#`4,ITS Q
"aD XML #= D wMm > "XML PP D D 5 r> X D~P D
XML #=T<N= =!qk*("w }D XML Zc#C$_ +*zzI XML #=
m o=#r_,ITV/8 ( XML # = mo = #8(KyPd {w }tT.s,C$
_+*zzIw}#
EXPLAIN :ITZ XQuery odM SQL/XML odP"v EXPLAIN od,TclY
i 4b)odDCJ = 8,| ( DB2 } ] b ~qwG q 9Cw}# * "v XQuery o
dD EXPLAIN o d,I9C XQuery X|V,szC%}Er+}E}p4D XQuery
o d,gTB>}y > :
EXPLAIN PLAN SELECTION FOR XQUERY 'for $c in
db2-fn:xmlcolumn("XISCANTABLE.XMLCOL" )/a[@x="1"]/b[@y="2"] return $c'
DB2 +6q EXPLAIN mPDCJ =8E"#yP XML PDZ{r Ps!< f"Z
EXPLAIN_STREAM m D SEQUENCE_SIZES P P# zI \ 9a " b =
EXPLAIN_PREDICATE mPfZ3)}],|G G; )z^(6 pD=J#b) =J
I DB2 }]b~qwZ EXPLAIN YwZdTw}(hP9 C D XPath mo=xP
51zI#z;h*@@K= J E" #b)=J; GE/w=8D;? V,rKZ
s
PREDICATE_ID M FILTER_FACTOR PPD 5* -1#
r _,(}9C Visual Explain $ _4i4 b )CJ = 8D<Nhv,IT\ b V/b
M EXPLAIN m#BPZc T >Z<NPT5w XML Yw:
IXAND
> DB2 }]b~qwQ+ AND =J&CZ `vw}(hDa{#
8
XISCAN
8> DB2 }]b~qwQ 9Cy Z XML }]Dw}4CJ }]#
XSCAN
8 > DB2 } ]b~qwQT XPath mo=s5,"RQS XML D5Pi! XML
D5,N#
16 pureXML 8O
XANDOR
8 > DB2 } ]b~qwQ+ AND M OR
=J&CZ `vw}(hDa{#
XTQ
8 > DB2 } ]b~qw 9 CKXbmS P (TQ )++V XML r P PD?n"M
=d-<} ]bVx,y]CnD@@S XML D5lw XML }],;s+ XML
} ][ /= d vrPP#
pureXML D*O'V
Z*O73P,I9C|, XML PPf" D XML D 5D6L }]4# Ii/"&m
6L XML }],|(+ XML D5Vb * 6Lm#
h *H*|, XML P(dPf" K * 9CDD5)D 6Lm4(GF,E\9C6L
XML }]#
P XhC|( XML }]4D
L XML }] ” #
pureXML D4FMB~"< 'V
XML }]`MD WebSphere®Replication Server M WebSphere®Data Event Publisher 'VJmz4 F""<f" Z XML PPD XML D5#
I 9C Q 4FZ } ] b .d4 F XML D5,2 I 9C B ~"<+D54FA&C L
r#
P X*|(f" Z XML PPD XML D 5D }]bhC Q 4 F M B ~"<D|`E
",kND WebSphere Replication Server M WebSphere Data Event Publisher D5P
D“XML
}]`M”08wb#
XZ XML 'VDDB
(} developerWorks ®E"\mIqC XZ{ C XML 'VDd{DB# b)DBf0
c:Dwb,|((FM}] F/"(CEv " p=LLM9C XML }] DnQ v
(#
IZBfDx7P R =b)D B:www.ibm.com/developerworks/db2/zones/xml/#
*O53D|`E",kND*O~qwD5PD“9C6
":developerWorks "G DB2 E"P D D;?V#K4S+ r * DB2 E
DZ]#
Z 1 B pureXML Ev 17
"PDTb
18 pureXML 8O
Z 2 B pureXML LL
I 9C pureXML XML } ]`M 4 (emP, T cz I Z?PPf" %vq =<C D
XML D5#>LL5wgNhC DB2 }]bTf" XML }]T0gN9C pureXML
&\?~4Py> Yw#
Z jI>L L .s,z+ \ ; 4 PBPNq:
v 4(I f" XML }]D DB2 }]
v 4(yZ XML }]Dw}
v + XML D5ek = XML `MDPP
v |Bf" Z XML PPD XML D5
v y] XML D5D Z]>}P
v i/ XML }]
v kT XML #=i$ XML D5
v 9C XSLT y =md ; XML D5
bMm
C++ "Java M PHP .`D &CLr` L oT' V XML }]`M
4+ XML }]f" Z DB2 }]bmP,S mPlw }]rwC _P XML N }Df
"}LrC '(eD/}#
> LLG*%;Vx}]b73`4D,+z2IZVx}]b73P9C pureXML &
\?~#
#IT`4&C L r
Hvu~
Z DB2 |n0ZP,(}"v db2 -td~ | n(xP -td~ !nD db2 |n)4t/
DB2 |nP&mw#
-td !na+& / t{E(~ )hC*od U9 V{#8(1!VE(-t !n)TbDU
9V{I7#;amsbM9 C{F UdywDodri/,-rG {F Udyw2
G CVEU9D#>LLP D > } 9 C ~ U9V{#
I + N LPD>
r_,I9C|n`-w4T; %== "v|nMod#
{ FUd:LLP9CD XML D 5 |,{ F Ud#9C|,{ F UdD XML D 5
1,8({FUdDyPi/MX*Yw(g
Z XML }]Dw}r 9 C XQuery mo=4i/ XML }])Xkyw,;{ FU
d E\zIZ{Da{#9C|,{FUdD XML D 5 1,yw{ F U dGj<{F
UdP*#
1
} T;%==d k r 4F"3y= DB2 |nP& m wP#
(}9C CREATE INDEX od44(y
1. Z Windows Yw53O, H9C db2cmd |nt/ DB2 |n0Z,;s"v db2 -td~ |n#
© Copyright IBM Corp. 2006, 2009
19
N L 1:4( I Tf" XML }]D DB2 }] b Mm
>NLhvgN 9C|, XML PD m4(}]b#
Z >LLP,z+ XML }]f" Z;vmP,xK m |,_P XML `MDP D m#
k q-BP=h44(>L L P 9CD } ]bMm:
1. (}"vTB|n44( F* XMLTUT D}]b:
CREATE DATABASE xmltut~
1!ivB,+Z4 ( }]b 1tCT/f" w#T/f" wITa_T\"R |
]W\m XML }], r*|+zII Ty]h *xP)9D}]b \ mUd
(DMS )mUd#
x R,Z1! i vB,}]b 9 C UTF-8 (Unicode )zk/#g{!q+
]f" Z9C UTF-8 TbDzk/ D } ]bP,G4nCT;xPzk3*;DN
= (}g BIT DATA"BLOB r XML )ekK } ]#*h9Z 4 P XML bvZ
d 9CV{ } ]`M,Sx@9I\ "zDV { f; ,k+ ENABLE_XMLCHAR
dCN}h C* NO#
2. k}]
3. 4(;v{* Customer "R|,F* INFO D XML PDm:
5XALL
b,S:
CONNECT TO xmltut~
CREATE TABLE Customer (Cid BIGINT NOT NULL PRIMARY KEY, Info XML)~
f" XML }]r_T XML }]("w} 1 ;h* 9 Cw|#
9IT9C ALTER TABLE SQL od+ ;v r`v XML PmSAm#
NL 2:4(yZ XML }]Dw}
> NLhvgN4( XML } ]w}#yZ XML } ]Dw} I Ta_i/ XML P
DT\#kT zZ=JPT0g D 5xP, S151 9C D XML *XrtT(" w
}#
XML }
20 pureXML 8O
X 5w}M XML }] w }<T P(" w }#+G,X5w}GT{vP("w}
XML }]w}; GTPD3?V( "w}#(}8 ( XML #=48w*T XML P
D D)?V("w},C#=G\ ^FD XPath mo=#9 X k8(Q("w}D5+
ICDV}]`Mx Pf" #(#, z!qD`M &C k i/P9CD`M`
kX5w};y,(izT=JM;f D5,SP519CD XML *Xr tT ( "w
}#
;\T%v XML P("w};; 'ViOw}#+G, ;v XML PI TP`v w
}#
";G CREATE INDEX odDy P Sd< J CZyZ XML }]Dw}# P X j8
,kND CREATE INDEX od#
E"
* 4( XML }]w } ,k"v T Bod:
,x
,#