Tải bản đầy đủ (.pdf) (9 trang)

Giới thiệu về Xpath (XML Path Language)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (246.27 KB, 9 trang )

Các hàm API XPath c"a Java

Page 1 of 9

Các hàm API XPath c a Java
M c

: Trung bình

Elliotte Rusty Harold, K s ph n m m, Polytechnic University
17 07 2009
C p nh t 25 08 2008
Vi t các bi u th c XPath d h n r t nhi u nhi u so v i vi c vi t mã chuy n h ng Mô hình
i t ng tài li u (Document Object Model - DOM) chi ti t. Khi b n c n rút trích thông tin
t tài li u XML thì cách nhanh nh t và n gi n nh t là nhúng bi u th c XPath vào bên
trong ch ng trình Java™. Java 5 gi i thi u gói java.xml.xpath, m t th vi n c l p mô
hình i t ng XML dùng truy v n các tài li u XML v i XPath.
27/06/2007 - T các góp ý c a ng i c, tác gi
biên d ch (tham kh o ph n mã ng n Ví d 3).

ã c p nh t các bi u th c XPath ã

c

25/08/2008 - T các góp ý c a ng i c, tác gi ã thay " />thành " trong Ví d 6, không gian tên (namespace)
c
c p n trong o n v n tr c Ví d 9, và Ví d 9.
N u b n g i m t ai ó mua cho b n m t chai s a thì b n s
ngh nh th nào n ng i ó nh h
mua cho b n? "Làm n mua h tôi m t chai s a" hay là nói " i ra ngoài thông qua c a tr c. R trái
ph n v a hè dành cho ng i i b . i b qua ba ngã t . R ph i. i b thêm m t o n n a. R ph i và i


vào c a hàng. i t i gian th t . i b kho ng n m mét r i i xu ng gian d i. R trái. C m l y m t h p
s a. Mang h p s a ra bàn thanh toán. Thanh toán ti n cho chai s a ó. Và sau ó i ng c l i o n
ng
v a i
i v nhà b n." i u này th t là n c c i. H u h t a tr! u " thông minh bi t cách mang
h p s a v nhà v i m t l i ch d#n n gi n "Làm n mua h tôi m t chai s a".
Các ngôn ng truy v n và c ch tìm ki m c"a máy tính c$ng t ng t nh nhau. Vi c "Tìm b n sao c"a
Cryptonomicon" d dàng h n là vi c vi t ra m t c u trúc logic chi ti t tìm ki m m t s c s d li u.
B i vì các thao tác tìm ki m có logic r t gi ng nhau nên b n có th
a ra các ngôn ng t%ng quát có
th th c hi n câu l nh nh "Tìm t t c các quy n sách c"a tác gi Neal Stephenson," và sau ó vi t m t c
ch x lý các truy v n ó d a vào các kho d li u nào ó.

XPath
Trong r t nhi u ngôn ng truy v n, Ngôn ng Truy v n Có c u trúc (SQL) là ngôn ng
c thi t k và
cho phép th c hi n truy v n trên các c s d li u quan h . Có m t s ít các ngôn ng truy v n bao g m
Ngôn ng truy v n i t ng (OOL) và XQuery. Tuy nhiên, ch" chính c"a bài vi t này là v XPath cho
nên ngôn ng truy v n
c thi t k
th c hi n x lý truy v n trên các tài li u XML. Ví d&, m t truy v n
XPath n gi n là tìm ra các tiêu c"a t t c các quy n sách trong tài li u c"a tác gi Neal Stephenson,
truy v n ph i trông có d ng nh sau:

Ng

c l i, c ch tìm ki m DOM thu n túy cho phép có thông tin cho d

Ví d 1. Mã DOM


tìm t t c các tiêu
!

&

'
"

"

(

#

#

"

c a các ph n t book có giá tr Neal Stephenson

$ % !
!

!
#

#
))

*


#
!

"

#

$ % !

#

&
&

+

'

+ (

!

i d ng nh trong Ví d& 1:

!

+))

*



Các hàm API XPath c"a Java

"

#

Page 2 of 9

"

#

# +
! ,
!$ &&
!
#

!$ &&
&

'
&

(

!


!

%
!

))

*

%".%/ 01"

*

2

3
3
&

!

4

*

3
3
&

*

!
&

+

'

"

+ (

#

$ % !

!
# +

!

#
+))

*

3
3
3

i u này có th tin ho'c không, o n mã DOM trong Ví d& 1 th c s không mang tính t%ng quát và dõ

dàng b(ng các bi u th c XPath n gi n. Cái mà cho phép b n có th vi t, s a l)i và b o trì
c t t h n?
Tôi ngh* câu tr l i ã r t rõ dàng.
Có m t i u ph i nh r(ng XPath không ph i là ngôn ng Java -- trong th c t , XPath không hoàn toàn là
m t ngôn ng l p trình. Có nhi u v n b n không th th y
c trong XPath, th m chí k c các câu
l nh truy v n c$ng không th
c t o ra trong XPath. Ví d&, XPath không không th tìm th y các quy n
sách ã ng ký s qu c t (ISBN) n u ki m tra không phù h p các mã ch s hay các tác gi c"a cu n
sách ó
c l y t c s d li u tài kho n bên ngoài. Th t may m+n, khi b n tích h p XPath vào trong
ch ng trình Java thì b n có th t n d&ng
c u th c"a c hai ngôn ng này: Java s gi i quy t t t
nh ng v n liên quan n Java, t ng t XPath s gi i quy t t t nh ng v n liên quan t i XPath.
Cho n th i i m g n ây, giao di n l p trình ng d&ng (API)
c các ch ng trình Java s d&ng t o
ra các câu truy v n XPath khác nhau d a trên c ch XPath. Xalan có m t API, Saxon có m t lo i khác và
các c ch khác s có các API khác. i u này có ngh*a r(ng o n mã c"a b n theo yêu c u h ng vào m t
s n ph,m nào ó c"a b n. Theo m t ý nào ó, b n có th làm th nghi m v i các c ch khác nhau có
c các 'c tr ng c b n khác nhau mà không quá ph c t p ho'c không c n ph i vi t l i o n mã.
Vì lý do này, Java 5 gi i thi u gói javax.xml.xpath cung c p y " các c ch , ng d&ng và mô hình
i t ng c l p th vi n XPath. Gói này c$ng có th áp d&ng
c trong Java 1.3 và các phiên b n sau
n u b n có cài 't ph n Java API for XML Processing (JAXP) 1.3. N(m trong các s n ph,m khác, Xalan
2.7 và Saxon 8 bao g m các th c thi c"a th vi n này.

M t ví d

n gi n


Tôi s b+t u b(ng vi c mô ph-ng m t cách chính xác các b c th c hành trong ph n này. Sau ó tôi
s t p trung nghiên c u vào m t s v n chi ti t c& th . Gi s b n mu n truy v n ra danh sách các
quy n sách c"a tác gi Neal Stephenson. Trong tr ng h p này, danh sách trong bi u m#u
c hi n th
nh trong Ví d& 2:
Ví d 2. Tài li u XML ch a thông tin các quy n sách
(

(

5
6''' 5
,
(
5
5
(
5'77889':79(
5;< :7(
5

(
(
(
(
(
(

5


5

5
(

5
5

5


Các hàm API XPath c"a Java

(

6''7 5
5$
! %
(
5
- (
5=
>
(
5>
(
5'?<8<;@:;'(
5
57 ::(
5


(
(
(
(
(
(
(

5
5
5
5

5

(

;::7 5
5A
(
5
5
(
5
(
5'7787?89@6(
5
5? 7'(
5


(
(
(
(
(
(

5
5

5

(BCC #
(

Page 3 of 9

-

CC5
5

Truy v n XPath cho phép tìm ra t t
c các quy n sách m t cách n
gi n: //book[author="Neal
Stephenson"].
tìm tiêu c"a
nh ng cu n sách này thì n gi n
ch làm thêm m t b c và lúc ó

bi u th c s có d ng //book

[author="Neal
Stephenson"]/title. Cu i cùng,

n u b n mu n truy v n các nút con
c"a ph n t title. B n s ph i làm
thêm m t b c n a có m t bi u th c
Stephenson"]/title/text().

Các nhà máy tr u t ng
XPathFactory là m t nhà máy tr u t ng (abstract factory).
Các m#u thi t k tr u t ng nhà máy này cho phép m t API
h) tr các mô hình i t ng khác nhau nh DOM, JDOM, và
Xom.
ch n m t mô hình khác, b n truy n m t URI xác nh
mô hình i t ng t i ph ng th c
XPathFactory.newInstance(). Ví d&, có l
ch n XOM. Tuy nhiên, trong th c t , DOM là mô hình i t ng
duy nh t mà API này h) tr
n gi .
y " nh sau //book[author="Neal

Bây gi tôi s
a ra m t ch ng trình n gi n th c hi n tìm ki m này t ngôn ng Java và sau ó in
ra tiêu c"a t t c các quy n sách tìm
c. u tiên b n c n ph i t i
c toàn b tài li u vào i t ng
DOM Document.
n gi n, tôi s gi nh r(ng tài li u

c s d&ng là t p books.xml n(m trong cùng
th m&c làm vi c hi n th i. ây là m t phân mã n gi n th c hi n phân tích tài li u và t o ra i
t ng Document t ng ng:
Ví d 3. S phân tích tài li u b ng JAXP
1
&
1
1

#

$

D

&

1

#

#
#
#

$
-

$


&

1
F#

ây là chu,n JAXP và DOM, là chu,n ã

D
&

#

!
$

E
B

c trình bày và

c nghiên c u.

Ti p theo b n t o ra XPathFactory:
.>

D

&

.>


Sau ó b n s d&ng factory
.>

it
.>

F

&

D

E

t o ra

it

ng XPath:

.>

ng XPath th c hi n biên d ch bi u th c XPath:
"F

F

F


#

Cu i cùng, b n th c hi n ánh giá bi u
th c XPath nh n
c k t qu . Khi

G

G

F

ánh giá chung: N u b n ch s d&ng bi u th c XPath


Các hàm API XPath c"a Java

Page 4 of 9

bi u th c
c ánh giá v i m&c ích a
ra n i dung c& th c"a nút thì trong
tr ng h p này c n ph i làm vi c bên
trong toàn b tài li u. Nó c$ng c n thi t
ph i xác nh ki u tr l i:
0 +

F

-


m t l n, b n mu n b- qua b c biên d ch và g i ph ng
th c evaluate() trên i t ng XPath thay th . Tuy
nhiên, n u b n s d&ng l i bi u th c m#u này thì trình biên
d ch làm vi c có v! nhanh h n.

H .>

,

01" "%

Sau ó b n có th g p k t qu t i DOM NodeList và th c hi n l'p i l'p l i
&

'

(

!

!
#

#

))
!

tìm ra t t c các tiêu


:

*
2

3

Ví d& 4 't t t c vào thành m t ch ng trình n gi n. Chú ý r(ng các ph ng th c này c$ng có th n+m
b+t
c m t s ngo i l ki m tra vì th ph i mô t thêm m nh throws:
Ví d 4. M t ch
xác nh
#
#
#
#
#

ng trình hoàn thi n

th c hi n truy v n tài li u XML v i m t bi u th c XPath

+ E0"F
! 8
# I
! F#
F
."F
+ - F F#

I
+ - F F# F
I
.>
>
E0"F
1

#

"F #
,

#
& !
H .>

$

!
H
"F

#D

."F

H
*


1

#

#
#
#

.>
.>
.>

!
"F
"F

D

#D
1
1

*

$
-

$

#D


1

D
&

#

!
$

E
B

F#
D
F
"F

&

.>
&

D

E

.>
F


F

#

G

0 +

F

&

'

-

(

#

G

H .>
!

!
#

,

))
!

F
01" "%

*
2

3
3
3

Mô hình d

li u XPath

Khi b n tr n hai ngôn ng khác nhau nh XPath và Java, b n c n chú ý t i các i m n i c"a hai ngôn ng
ó. T t nhiên không ph i m i i u phù h p u úng. Ngôn ng Java và XPath không ph i là hai h th ng
gi ng h t nhau. XPath 1.0 ch có b n ki u c b n sau:
T p h p nút (node-set)
Ki u s (number)
Ki u logic (boolean)
Ki u chu)i ký t (string)
Trong ngôn ng Java có nhi u ki u h n bao g m c các ki u
d&ng.

it

ng


c

nh ngh*a b i ng

is

H u h t các bi u th c XPath, 'c bi t là các
ng d#n, s là các b nút. Tuy nhiên, có th có m t s kh
n ng khác. Ví d&, Bi u th c count(//book) tr l i s các quy n sách có trong tài li u. Bi u th c XPath
count(//book[@author="Neal Stephenson"]) > 10 tr l i m t lu n lý: úng n u có nhi u h n 10


Các hàm API XPath c"a Java

Page 5 of 9

quy n sách c"a tác gi Neal Staphenson trong tài li u ng
sai n u n u có ít h n 10.

c l i n u có ít h n 10 quy n sách trong tài li u,

Ph ng th c evaluate()
c mô t tr l i Object. i t ng gì
c tr l i chính xác tùy thu c vào
k t qu trong bi u th c XPath và ki u c"a i t ng c$ng t ng ng v i ki u các b n a ra.
Ki
Ki
Ki
Ki


u s t ng ng v i gói java.lang.Double
u chu)i ký t t ng ng v i gói java.lang.String
u logic t ng ng v i gói java.lang.Boolean
u t p h p nút t ng ng v i gói org.w3c.dom.NodeList

Khi b n th c hi n ánh giá bi u th c XPath
trong Java, tham bi n th hai xác nh ki u tr
l i mà b n mu n. Có n m kh n ng có th và
t t c các h(ng s
u l u n(m trong l p
javax.xml.xpath.XPathConstants:

XPath 2
Gi s b n ang làm vi c v i XPath 1.0. XPath 2 cho
phép m r ng và s d&ng l i ki u h th ng c b n. S
thay %i chính trong Java XPath API cho phép h) tr
XPath 2 thêm vào m t s ki u d li u m i c"a XPath.

XPathConstants.NODESET
XPathConstants.BOOLEAN
XPathConstants.NUMBER
XPathConstants.STRING
XPathConstants.NODE

Tr ng h p cu i cùng XPathConstants.NODE không th c s phù h p trong ki u c"a XPath. B n s
d&ng nó khi b n bi t chính xác bi u th c XPath s ch tr l i m t nút ho'c b n không mu n có nhi u h n
m t nút k t qu . N u bi u th c XPath tr l i nhi u h n m t nút thì b n ph i xác nh b(ng cách s d&ng
XPathConstants.NODE, sau ó dùng ph ng th c evaluate() tr l i nút u tiên trong tài li u cho
phép. N u bi u th c XPath l a ch n m t t p h p r)ng và b n s d&ng XPathConstants.NODE thì

ph ng th c evaluate() tr l i giá tr r)ng.
N u chuy n %i theo yêu c u không
XPathException.

Các ng

c th c hi n thì ph

ng th c evaluate() b+t

c ngo i l

c nh không gian tên (Namespace contexts)

N u các ph n t trong tài li u n(m trong m t không gian tên thì bi u th c XPath cho truy v n khi th c
hi n thì ph i s d&ng úng không gian tên. Bi u th c XPath không c n s d&ng các ti n t gi ng nhau mà
ch c n s d&ng các không gian tên URI gi ng nhau. Vì v y, khi tài li u XML s d&ng không gian tên m'c
nh thì bi u th c XPath ph i s d&ng ti n t m'c dù m&c tiêu tài li u không s d&ng nó.
Tuy nhiên, Ch ng trình Java không ph i là m t tài li u XML nên gi i pháp không gian tên thông th ng
không áp d&ng. Thay vì b n cung c p i t ng t ng ng v i các d ng ti n t t i các không gian tên
URI. i t ng này là ví d& c"a giao di n javax.xml.namespace.NamespaceContext. Ví d&, gi s
tài li u v các quy n sách
c l u trong không gian tên có d ng nh
trong Ví d& 5:
Ví d 5. Tài li u XML s d ng không gian tên m c
(

(

F#


J
6''' 5
5
,
(
5
5
(
5'77889':79(
5;< :7(
5

(
(
(
(
(
(

5

(BCC #
(

-

CC5
5


F #

#

5
(

5
5

5

nh
5


Các hàm API XPath c"a Java

Page 6 of 9

Bi u th c XPath th c hi n tìm ki m các tiêu c"a t t c các quy n sách c"a tác gi Neal Staphenson có
d ng nh sau //pre:book[pre:author="Neal Stephenson"]/pre:title/text(). Tuy nhiên, b n
ph i xác nh thêm ti n t pre t i a ch URI Nh ng i u này có chút
r+c r i ó là giao di n NamespaceContext không ph i là giao di n th c thi m'c nh trong b công c&
phát tri n ph n m m Java (JDK) ho'c JAXP, nh ng i u ó không quan tr ng l+m. Tuy nhiên, v n này
r t là khó
th c thi theo yêu c u c"a chính b n. Ví d& 6 mô ph-ng m t th c thi n gi n cho m t
không gian tên xác nh. B n nên xác nh t ng ng thêm ti n t xml rõ ràng h n.
Ví d 6. M t ng c nh
#

#
#

+ + - F F#
+ - F F#

n gi n

#

#

! !
& F
&
&

nh

E
I

>
&

th c hi n bu c m t không gian tên cùng v i giá tr m c

,

#


,

#

KLE

F

F

#

#

!

#

& F
>

4
4

F#
.M ,

& F
& F

/ /KLE

K

,

*
"F
J

F #
.M /

.M ,

F

*
& F
#
/KLE

3
%

#

G
> & F


! !
K

&

.>
*
"F

!
0

!

3
%

#

G

E

!

&
>

& F


K

.>

!

!
0

*
"F

3
3

Th t không khó s d&ng m t ánh x
th c hi n l u tr các thông tin ã
c g+n vào và thêm vào các
ph ng th c kh i t o cho phép s d&ng d&ng l i nhi u h n ng c nh không gian tên.
Sau khi b n t o ra i t ng NamespaceContext thay vì v y cài 't trên i t ng XPath tr c khi th c
hi n biên d ch bi u th c. T th i i m này tr i b n có có th th c hi n truy v n b(ng cách s d&ng
nh ng d ng ti n t này phía tr c. Ví d&:
Ví d 7. Truy v n XPath s d ng các không gian tên
.>
.>
F
.>

F


D

&

&
#

"F
F

.>

D

E

.>
,

F

>

#

,

F

F

#

J

0 +

F

&

'
#

J

(

G

H .>
!

!
#

G

,
))
!


J

F

01" "%
*
2

3

Các trình phân tích hàm
Trong m t s tr ng h p, nó r t hi u qu khi nh ngh*a các hàm m r ng trong ngôn ng Java s d&ng
trong các bi u th c XPath. Các hàm này th c hi n các nhi m v& khó mà không th th c hi n b(ng XPath
thu n túy. Tuy nhiên, các hàm theo ngh*a nên úng là các hàm vì v y các hàm này không th là các
ph ng th c n gi n
c. (Các hàm XPath có th
c ánh giá theo nhi u cách và nhi u th i i m
khác nhau.)


Các hàm API XPath c"a Java

Page 7 of 9

Các hàm m r ng th c hi n truy c p thông qua Java XPath API ph i th c thi
c giao di n
javax.xml.xpath.XPathFunction. Giao di n này khai báo m t ph ng th c dánh giá n gi n:
0 +


-

!

.>

D

"F

Ph ng th c này nên tr l i m t trong n m ki u giá tr mà ngôn ng Java
XPath:

có th chuy n %i

c sang

String
Double
Boolean
Nodelist
Node

C& th , Ví d& 8 hi n th hàm m r ng xác nh giá tr ki m tra trong ISBN và tr l i k t qu có ki u
Boolean. Nguyên t+c c b n c"a ki m tra t%ng này là m t trong chín s
u tiên
c nhân b i v trí c"a
nó ( ó là, s
u ch l n m t, s th hai ch l n hai, và ...). Các giá tr này
c thêm vào và

c nh+c l i
sau khi th c hi n chia cho 11 có
c k t qu . N u s còn l i là m i thì s cu i cùng
c xác nh là
X
Ví d 8. Hàm m r ng XPath dành cho vi c ki m tra ISBNs
#
#
#

+ + - F F#
! 8

F
# I

I

E $ 2

#

#

%

#
0 +

&


.>

-

!

D

#

!

!

N
.>

B

!

!

;

*

.>


D

!

#

"F

*

*

D

"F

O

&

! #

-

C

3
!
0 +
&


#

'

&

&

!
& $
& 1
&

&
&
&
!
E

!

!

!

'
!

!

*

# '
% F ,
= - ; <
10M 6H
#
! % F ,

= -

7

G

10M 8
-

3
*
.>

D

"F

,

-


! #

3
&

!
#

&

B

,
;'

$

D

"

'

'
# )

( :
))
); I


*
CG'G

3
!
&

!
$

# P ;;
) G'G
%LK"

:

QQ

:

G.G RR

!

;'

*

3
$


D

"

3
3

B

c ti p theo là t o ra hàm m r ng

c h) tr ch

ng trình Java.
làm i u này b n cài 't
i t ng XPath tr c khi ti n hành biên d ch

javax.xml.xpath.XPathFunctionResolver trong


Các hàm API XPath c"a Java

Page 8 of 9

bi u th c. Trình phân tích hàm th c hi n ánh x tên XPath và không gian tên URI cho hàm t i l p Java
th c thi hàm ó. Ví d& 9 là trình phân tích hàm n gi n cho phép ánh x hàm bi u th c valid-isbn v i
không gian tên t i l p trong Ví d& 8. Ví d&, bi u th c XPath //book
[not(pre:valid-isbn(isbn))] th c hi n tìm t t c các quy n sách có ki m tra ISBN không phù h p
v i quy nh.

Ví d 9. Ch c n ng ng c nh công nh n hàm m r ng valid-isbn
#
#

+ - F F#
+ - F F#

#

S

F

E $ D
-

,

&
S

#

.>
&

S

F
#


J
D

#

#

I
#

#
F #

#
#

- D
4

E $ D
E $ 2

.>

,

H
S
F


#
#

D
# H
RR

L

-

*

C
*
;

*

3
3
3

B i vì các hàm m r ng ph i 't trong các không gian tên nên b n ph i s d&ng NamespaceResolver
khi ti n hành ánh giá bi u th c ch a các hàm m r ng, n u tài li u ang
c th c hi n truy v n thì
không
c s d&ng không gian tên. B i vì XPathFunctionResolver, XPathFunction, và
NamespaceResolver là các giao di n,n u thu n ti n b n có th 't chúng ngang hàng nhau cùng vào

m t l p.

K t lu n
Nh n th y r(ng vi c vi t các câu truy v n b(ng các ngôn ng khai báo nh SQL và XPath là d dàng h n
nhi u so v i vi c vi t các câu truy v n này trong các ngôn ng m nh l nh nh Java và C. ng th i ng c
l i th c hi n vi t các c u trúc logic ph c t p trong ngôn ng ki u máy Turing nh Java và C l i d dàng
h n nhi u so v i vi c vi t trong các ngôn ng khai báo nh SQL và XPath. Nh ng th t may ta có th k t
h p tr n c hai l i v i nhau cho phép s d&ng các API d i d ng nh Java Database Connectivity (JDBC)
và javax.xml.xpath. Khi mà ph n l n d li u trên th gi i
c h ng chuy n sang XML thì
javax.xml.xpath s tr thành quan tr ng nh là java.sql.

Tài nguyên
H ct p
""B+t u v i XPath 2.0" c"a tác gi Benoît Marchal (developerWorks, May 2006): V i s gia t ng
s c m nh và tính hi u qu c"a XPath phiên b n 2.0, h c cách vi t d dàng các yêu c u ph c t p v i
mô hình d li u m i.
"Làm vi c v i các ng c nh không gian tên JAXP:" Norm Walsh bi n h cho các ng c nh không
gian tên..
XML in a Nutshell (Elliotte Rusty Harold and W. Scott Means, O'Reilly, 2005):
y " này và bài h ng d#n ng+n v XPath 1.0, c$ng nh DOM và JAXP.

c bài tham kh o

developerWorks Java technology zone: Khám phá hàng tr m bài vi t v m i khía c nh c"a l p trình
Java.
Ch ng ch IBM XML 1.1: H c cách

tr thành nhà phát tri n XML 1.1 và các công ngh liên



Các hàm API XPath c"a Java

quan

Page 9 of 9

c ch ng nh n b i IBM.

XML: Th m developerWorks XML Zone v i r t nhi u bài vi t và m.o, h
các sách - c"a IBM.

ng d#n, tiêu chu,n và

Web qu ng bá và các s ki n k thu t c"a developerWorks: C p nh t ki n th c công ngh c"a b n
ây.
L y s n ph m và công ngh
JAXP Project: T i 1.3 cho Java 1.3 và 1.4 t java.net.
Xalan 2: Khám phá c) máy XSLT c"a d án Apache mà h) tr các hàm API XPath trong bài vi t
này.
SAXON 8: Th c) máy XSLT c"a Michael Kay mà c$ng h) tr API XPath
bài vi t này.

c th o lu n trong

Ph n m m dùng th c"a IBM: Xây d ng d án ti p theo c"a b n v i ph n m m dùng th t i v t
developerWorks.
Th o lu n
Các di n àn th o lu n v XML: Tham d vào các di n àn XML.
developerWorks blogs: Tham gia vào c ng


ng developerWorks.

ôi nét v tác gi
Elliotte Rusty Harold sinh ra New Orleans, n i mà ông th ng xuyên tr v
th ng th c món m p
tây. Tuy nhiên, ông s ng Prospect Heights c nh Brooklyn v i v tên là Beth và hai con là Charm và
Marjorie. Ông là tr lý giáo s ngành khoa h c máy tính t i tr ng i h c Polytechnic University, n i
mà ông d y môn Java và l p trình h ng i t ng



×