Professional Documents
Culture Documents
Mc ch: Ch ca bi ny gii thiu XPath, mt thnh phn h tr gip truy xut thng tin
trong tp tin XML lm tin cho vic p dng stylesheet kt hp XML to ra kt xut ty theo
yu cu. Bn cnh XPath cng lm nn tng cho vic h tr truy vn parsing d liu ca ti
liu XML cc k nhanh chng hiu qu. Hn th na, XPath h tr nn tng to ra XQuery p
dng trong truy vn d liu tng t nh truy vn SQL trn c s d liu
Yu cu v kin thc c bn
Nm vng cc khi nim v XML v cch vit ti liu XML well-formed (tham kho li bi Gii thiu v XML nh
ngha, cch vit XML ng c php (XML well-formed))
Nm vng cc khi nim v namespace v cch s dng namespace trong ti liu XML (tham kho li bi S dng
XML vi namespace S dng kt hp nhng ti liu XML vi nhau t nhiu ngi nh ngha khc nhau)
Nm vng khi nim v ngn ng lp trnh Java, lp trnh thao tc hng i tng, s dng cc method hay function
vit v kim tra mt ti liu XML well-formed
Nm vng v s dng tt ngn ng truy vn SQL trn cc trnh qun l c s d liu quan h
Tng quan XPath
Xpath l mt trong ba thnh phn trong ngn ng XSL Extensible Style Language
L ngn ng h tr tm kim thng tin trong ti liu XML qua vic s dng biu thc XPath nh hng tm kim d
liu trn XML thay v phi thc hin tm kim qui duyt cy XML
Xpath nh ngha 7 loi nodes theo m hnh th hin bn di t root, element, attribute, text, namespace, processing-
instruction v comment tng t nh khi nim v cu trc ti liu XML m chng ti gii thiu trong bi Gii thiu
v XML nh ngha, cch vit XML ng c php (XML well-formed)
1 of 21 1/10/2017 11:46 AM
Gii thiu v XPath http://kieutrongkhanh.net/index.php/xml-a-java/89-gii-thiu-v-xpath?tmpl=...
Ngoi ra, Xpath cn nh ngha mt s node c bit th hin mi quan h gia cc node trong m hnh trong qu
trnh x l nh sau
Parent Node: node trn trc tip ca node hin hnh
Child Node: tp node trc tip ca node hin hnh cp thp hn
Sibling: node ngang hng hay cng cha vi node hin hnh
Ancestors: tt c node con bn trn node hin hnh cng nhnh
Descendants: tt c node con bn di ca node hin hnh cng nhnh
Xpath Data Model c nh ngha l duyt ton b cy ni dung XML v chuyn i mapping chng thnh 7 loi
node m t trn v XPath thc hin truy vn trn ni dung cy XML c to ra.
Mi node trong XPath u c gi tr kiu chui cha thng tin ca mt node bao gm localname v namespace nu c
c th truy vn n node trong m hnh mt cch d dng thng qua tn
C php ca XPath
truy vn vi ng dn tuyt i ngha l i t root ca ti liu XML n cc thnh phn cn truy cp, XPath qui
nh vi c php bt u bng du /
truy vn vi ng dn tng i c th truy cp n thnh phn bt k tha iu kin, XPath qui nh c php
s dng vi du //
truy vn n mt thnh phn bt k m khng cn bit tn ca n l g, XPath qui nh k t s dng l *
truy cp thuc tnh ca mt node, XPath qui nh thuc tnh truy vn phi c c php bt u l @. V d
@tnThucTnh
truy cp n gi tr ca mt bin c nh ngha, XPath qui nh bin truy vn phi c c php bt u l $. V
d $tnBin
iu kin khi truy vn c t trong du []
Truy vn la chn nodes
2 of 21 1/10/2017 11:46 AM
Gii thiu v XPath http://kieutrongkhanh.net/index.php/xml-a-java/89-gii-thiu-v-xpath?tmpl=...
Axis nh ngha
ancestor Chn tt c cc node trn ca node hin hnh
ancestor-or-self Chn tt c cc node trn ca node hin hnh v chnh n
attribute Chn tt c cc thuc tnh ca node hin hnh
child Chn node con ca node hin hnh
descendant Chn tt c cc node di ca node hin hnh
descendant-or-self Chn tt c cc node di ca node hin hnh v chnh n
following Chn tt c cc node sau khi tag ng ca node hin hnh
following-sibling Chn tt c cc node ngang cp sau khi tag ng ca node
hin hnh
namespace Chn tt c namespace ca node hin hnh
parent Chn tt c node cha ca node hin hnh
preceding Chn tt c cc thnh phn trc khi bt u tag m ca
node hin hnh
preceding-sibling Chn tt c cc node ngang hng trc khi bt u tag m
ca node hin hnh
self Chn node hin hnh
Hm nh ngha
node-name(node) Tr v tn node ca node c a vo hm
nilled(node) Tr v true nu node l null
data(item, item, ) Ly cc tr tun t ca cc items a vo
base-uri() Ly tr thuc tnh base-uri ca node hin hnh
base-uri(node) Ly tr ca thuc tnh base-uri ca node
document-uri() Ly tr ca thuc tnh document-uri ca ti liu XML
number(arg) Tr v kiu s
abs(num) Ly tr tuyt i
ceiling(num) Ly tr s nguyn nh nht ln hn num
floor(num) Ly tr s nguyn ln nht nh hn num
string(arg) Tr v kiu chui
compare(comp1, So snh gi tr cho comp1 vi comp2, -1 l nh hn, 0 l
comp2) bng nhau v 1 l ln hn
3 of 21 1/10/2017 11:46 AM
Gii thiu v XPath http://kieutrongkhanh.net/index.php/xml-a-java/89-gii-thiu-v-xpath?tmpl=...
4 of 21 1/10/2017 11:46 AM
Gii thiu v XPath http://kieutrongkhanh.net/index.php/xml-a-java/89-gii-thiu-v-xpath?tmpl=...
5 of 21 1/10/2017 11:46 AM
Gii thiu v XPath http://kieutrongkhanh.net/index.php/xml-a-java/89-gii-thiu-v-xpath?tmpl=...
6 of 21 1/10/2017 11:46 AM
Gii thiu v XPath http://kieutrongkhanh.net/index.php/xml-a-java/89-gii-thiu-v-xpath?tmpl=...
7 of 21 1/10/2017 11:46 AM
Gii thiu v XPath http://kieutrongkhanh.net/index.php/xml-a-java/89-gii-thiu-v-xpath?tmpl=...
Chng ta nhn thy rng book nm trong library, v library nm di root do vy truy vn ca chng ta nh sau
Chng ta thc hin truy vn trc tip author m khng cn thng qua library v book nh truy vn bn di c c
khng?
8 of 21 1/10/2017 11:46 AM
Gii thiu v XPath http://kieutrongkhanh.net/index.php/xml-a-java/89-gii-thiu-v-xpath?tmpl=...
Chng ta nhn c kt qu trng v t root i ra khng c node no tn author nn kt qu tm kim l khng tm thy
hn ch vic s dng ng dn tuyt i v vit qu di dng, chng ta p dng ng dn tng i nh trong l
thuyt thay th nh sau
Chng ta c kt qu tng t
Lu
Khi chng ta dng / th c nhng dng // khng s c li xy ra v tng i l phi ch nh, khng cho php ty
9 of 21 1/10/2017 11:46 AM
Gii thiu v XPath http://kieutrongkhanh.net/index.php/xml-a-java/89-gii-thiu-v-xpath?tmpl=...
Khi chn ti liu khc XML trc khi chn XPath, cho d trn ca s c XML di na chng ta s nhn li nh sau
10 of 21 1/10/2017 11:46 AM
Gii thiu v XPath http://kieutrongkhanh.net/index.php/xml-a-java/89-gii-thiu-v-xpath?tmpl=...
Trong chui truy vn trn cn lu vic s dng chui phi dng du hay bao tr, nu khng thi XPath s coi tn
nh l node tm kim trong XML
Truy vn tn tc gi c ta sch l Coma
11 of 21 1/10/2017 11:46 AM
Gii thiu v XPath http://kieutrongkhanh.net/index.php/xml-a-java/89-gii-thiu-v-xpath?tmpl=...
Chng ta khng nhn c kt qu v Coma ang tm chnh xc nhng ti liu XML chng ta c cha k t xung dng
v tab, do vy, chng ta cn chun ha chui loi b khong trng trc khi tm kim vi hm normalize-space
Cng vi iu kin trn nhng chng ta ch cn gi tr text khng phi l mt node, chng ta kt hp hm trong truy vn
nh sau
12 of 21 1/10/2017 11:46 AM
Gii thiu v XPath http://kieutrongkhanh.net/index.php/xml-a-java/89-gii-thiu-v-xpath?tmpl=...
13 of 21 1/10/2017 11:46 AM
Gii thiu v XPath http://kieutrongkhanh.net/index.php/xml-a-java/89-gii-thiu-v-xpath?tmpl=...
Chng ta c th p dng php ton so snh vi >, <, y iu kin tr nn linh hot
Tm ta quyn sch c id l 618
Chng ta p dng truy vn vi thuc tnh id v dng du @ trong mnh iu kin
14 of 21 1/10/2017 11:46 AM
Gii thiu v XPath http://kieutrongkhanh.net/index.php/xml-a-java/89-gii-thiu-v-xpath?tmpl=...
15 of 21 1/10/2017 11:46 AM
Gii thiu v XPath http://kieutrongkhanh.net/index.php/xml-a-java/89-gii-thiu-v-xpath?tmpl=...
16 of 21 1/10/2017 11:46 AM
Gii thiu v XPath http://kieutrongkhanh.net/index.php/xml-a-java/89-gii-thiu-v-xpath?tmpl=...
Chng ta khng th truy vn c v XPath khng hiu namespace c nh ngha trong ti liu XML, do vy truy vn
s khng tm thy node tn account:allowed v n coi : l mt tn
khc phc chng ta thc hin 02 cch vi cc u khuyt chng ta la chn
Cch 1: check bt Resolve namespace automatically
17 of 21 1/10/2017 11:46 AM
Gii thiu v XPath http://kieutrongkhanh.net/index.php/xml-a-java/89-gii-thiu-v-xpath?tmpl=...
Chng ta c kt qu ng nhng l thuc vo vic thng bo XPath. Cu hi t ra, chng ta mun n uyn chuyn
khng l thuc v chy tt c trn mi ng dng th chng ta s kt hp hm cng mt s php ton v k t c bit
theo cch th 2
Kt qu ra tng t v c nhiu u im hn
Chng ta c th p dng tng t vi hm local-name nh sau
18 of 21 1/10/2017 11:46 AM
Gii thiu v XPath http://kieutrongkhanh.net/index.php/xml-a-java/89-gii-thiu-v-xpath?tmpl=...
Tm tt c name ca cc account khng phn bit l expired hay allowed nhng c balance ln hn 40, trong tn c
cha ch u
19 of 21 1/10/2017 11:46 AM
Gii thiu v XPath http://kieutrongkhanh.net/index.php/xml-a-java/89-gii-thiu-v-xpath?tmpl=...
Trn y ch l mt s v d tng quan n chng ta tip cn ni dung XPath v cc thc truy vn ti liu XML. Qu v
cn t nng cao kin thc ca mnh v XPath bng cch t t cu truy vn v thc hin
Chc mng cc bn hon tt v nm cc khi nim v s dng Xpath v ng dng n trong
20 of 21 1/10/2017 11:46 AM
Gii thiu v XPath http://kieutrongkhanh.net/index.php/xml-a-java/89-gii-thiu-v-xpath?tmpl=...
truy vn ti liu XML. Chng ta s p dng n trong cc ni dung tip theo ca ch lin quan
n khi nim v s dng stylesheet cng nh chuyn i nh dng ti liu sang PDF
Rt mong s gp chn thnh v chia s ca qu v v vn ny. Hn gp li qu v cc
ch lin quan n XML, c th s l vn lin quan n vic xy dng XSL
Extensible Style Language p dng truy vn, lc v chuyn i ti liu XML.
0
21 of 21 1/10/2017 11:46 AM