NGÔN NG ĐÁNH D U M R NG

Ở Ộ

CH

NG 05

ƯƠ

Document Type Definition

12/27/13

Document Type Definition

1

NGÔN NG ĐÁNH D U M R NG

Ở Ộ

BÀI 1

KHAI BÁO PH N TẦ Ử

12/27/13

Document Type Definition

2

N i dung

ử ụ ế ợ

M c tiêu c a bài h c ọ ụ Gi i thi u, đ nh nghĩa ị ớ Khai báo DTD S d ng DTD tham chi u ngo i ạ ế K t h p c hai lo i DTD ạ ả DTD và tính h p l ợ ệ

(validity) c a tài li u ủ

12/27/13

3

Document Type Definition

M c tiêu

c công d ng chính c a DTD ượ ủ

Trình bày đ ụ Khai báo DTD s d ng tham chi u n i và tham ử ụ ế ộ

c c u trúc n i dung c a t ng ph n chi u ngo i. ạ ế Khai báo đ ượ ủ ừ ầ ộ

t ử

ợ ệ ủ ượ

ấ (element) trong tài li u XML Ki m tra đ ể ặ ấ ệ c a tài li u XML (v c tính h p l ề ệ m t c u trúc, n i dung các ph n t ) ầ ử ộ

12/27/13

4

Document Type Definition

N i dung

Đ nh Nghĩa

12/27/13

Document Type Definition

5

Ví d m đ u

ụ ở ầ

Nguyen Tuan Male 20

Tuan Nguyen 20 Male

12/27/13

Document Type Definition

6

Đ nh nghĩa

DTD (Document Type Definition) đ ượ

ủ ệ ấ

ị ệ ầ ộ

c dùng đ ể đ nh nghĩa c u trúc c a m t tài li u XML thông qua ộ vi c đ nh nghĩa và khai báo các thành ph n, thu c ị tính, th c th . ể ự

Ngoài ra DTD còn đ c dùng đ ể ợ

ượ ệ ủ ở

ể ki m tra tính h p (ệ validity) c a tài li u XML b i các trình phân tích l XML.

12/27/13

Document Type Definition

7

Công d ngụ

ệ Giúp tác giả (ng ị

ườ ệ

i t o ra tài li u XML) quy đ nh rõ ườ ạ c u trúc cũng nh nh ng ràng bu c bên trong tài ộ ư ấ li u XML c a mình. ủ ệ Giúp ng i dùng ườ ượ ắ i khai thác tài li u đó có th ể ừ ệ

XML) n m đ x lý, rút trích, đ nh d ng tài li u cho phù h p. ử (nh ng ng ữ c c u trúc c a tài li u, t ủ ấ ị ệ ạ ợ

12/27/13

Document Type Definition

8

N i dung

T o khai báo

12/27/13

Document Type Definition

9

V trí khai báo

Ph n khai báo DTD đ ầ ượ ặ

c đ t sau các ch th x ỉ ị ử c nút g c c a ố ủ ướ

lý (Processing Instructions) và tr tài li u.ệ

ể DTD tham chi u ế

ế ạ , ho c k t h p ế ợ ặ

Khai báo này có th là khai báo n iộ ho c ặ DTD tham chi u ngo i c hai. ả

12/27/13

Document Type Definition

10

Cú pháp khai báo

ộ ắ ầ ớ

    

[DTD]>

M t khai báo b t đ u v i ]> thúc b ng ằ

12/27/13

Document Type Definition

11

Cú pháp khai báo (2.)

g c

Trong đó: rootname: Tên ph n t ầ ử ố URI: Đ nh danh c a DTD bên ngoài tài li u XML ủ ệ

ệ ạ ị ờ

hi n th i trên không gian m ng internet. identifier: quy đ nh đ nh danh c a tài li u trên ệ ị ủ ị

internet (s trình bày sau). ẽ

12/27/13

Document Type Definition

12

Phân lo i DTD ạ

Đ nh nghĩa ki u ị ệ ạ

chi u ngo i. ạ ế

ể dữ li u có 2 d ng, đó là DTD tham chi u n i và DTD tham ộ  DTD tham chi u n i c đ nh nghĩa ộ là DTD đ ế ượ ế ị

ngay trong tài li uệ XML  DTD tham chi u ngo i ạ là DTD đ ượ c đ nh ị

ế nghĩa bên ngoài tài li uệ XML

12/27/13

Document Type Definition

13

Khai báo ph n t

(1)

ầ ử

 name: là tên c a ph n t

mà ta mu n đ nh nghĩa

ầ ử

 content_model: là ki u c a ph n t

ầ ử

này, có th là ể con hay

ầ ử

EMPTY, ANY, #PCDATA, các ph n t tr n l n nhi u thành ph n ề

ộ ẫ

12/27/13

Document Type Definition

14

Khai báo ph n t

(2)

ầ ử

]> Hello XML!

Ví dụVí dụ

12/27/13

Document Type Definition

15

Content model (1)

ộ khác. ANY: nghĩa là nó có th ch a b t kỳ n i dung nào ể ể ả ấ ầ ử ị

do b n đ nh nghĩa, k c các ph n t ạ ữ ệ

ầ ả ầ ỉ ơ ể

ị ữ ệ ế ấ ỉ

 #PCDATA: là d li u văn b n thô, không thu c ộ ph n đ nh d ng. ch đ n thu n bi u di n d li u ữ ệ ễ ạ t tính ch t văn b n text thô, d li u thô ch cho bi ả c a nó. ủ

12/27/13

Document Type Definition

16

Content model (2)

EMPTY: Các ph n t c ầ ử không có n i dung gì đ ộ ượ

g i là r ng. ọ ỗ

12/27/13

Document Type Definition

17

Content model (3.)

]>

1998 Major League Baseball

Ví dụVí dụ

12/27/13

Document Type Definition

18

Đ nh nghĩa ph n t

con (1)

ầ ử

Đ nh nghĩa m t ph n t con ị ộ ứ ầ ử ầ ử ộ

có ch a m t ph n t Ví d : ộ ầ ử có ch a nhi u h n m t ề ứ ộ ơ ị

•Ví d : ụ

Dùng kí t

đ i di n

ự ạ

Đ nh nghĩa m t ph n t ph n t con ầ ử Dùng d u ph y ẩ ấ

12/27/13

Document Type Definition

19

Đ nh nghĩa ph n t

con (2)

ầ ử

ị  S d ng các các kí t

đ i di n đ làm vi c và khai

ử ụ

ự ạ

báo.

Kí hi uệ

Mô tả

a*

Không có ho c có nhi u ph n t

ầ ử

con gi ng nhau ố

a+

Có m t ho c nhi u ph n t

ầ ử

con gi ng nhau ố

a?

M t ph n t

a ho c không có ph n t

nào

ầ ử

ầ ử

a,b

Ph n t

a ti p đ n là b

ầ ử

ế

ế

a|b

Ph n t

a ho c ph n t

b nh ng không đ

c c hai

ầ ử

ầ ử

ư

ượ ả

 Ví d :ụ

Ph n t

ROOT không có ho c có nhi u ph n t

LIMB_A

ầ ử

ầ ử

12/27/13

Document Type Definition

20

Đ nh nghĩa ph n t

con (3)

ầ ử

• Ph n t

ROOT có m t ho c nhi u ph n t

con LIMB_A

ầ ử

ầ ử

• Ph n t

ROOT không có ho c có m t ph n t

con

ầ ử

ầ ử LIMB_A

• Ph n t

con, đ u tiên là ph n t

ầ ử

ầ ử

ROOT có 2 ph n t ầ ử LIMB_B

LIMB_A ti p đ n là ế

ế

ROOT có m t ph n t

• Ph n t

con ho c là LIMB_A

ầ ử

ho c là LIMB_B

ầ ử ặ

12/27/13

Document Type Definition

21

Đ nh nghĩa ph n t

con (4)

ầ ử

ử ặ ầ

ơ ở ấ duy nh t. T p các ph n t ử ậ ng c a nh ng kí t ị ả c k t h p b i d u ngo c đ n nh ư trong đ i ự ạ ưở ữ ủ

D u ngo c đ n: ặ ơ Các ph n t đ ế ợ ầ ử ượ là m t ph n t ấ ầ ộ d u ngo c s ch u nh h ẽ ặ di n *, + ho c ? ặ

(TITLE,

(PARAGRAP|

ấ ệ Ví d :ụ

12/27/13

Document Type Definition

22

Đ nh nghĩa ph n t

con (5)

ầ ử

ộ ỗ

v a có kh năng ả #PCDATA) v a ử ừ ng t ự ừ

N i dung h n h p (mixed content): ợ Là cách đ nh nghĩa ph n t ầ ch a d li u thu n text (t ươ ch a d li u ph n đ nh d ng (markup). ạ ị ị ữ ệ ữ ệ ầ ầ

(#PCDATA | TEAM_CITY

|

ứ ứ Ví d :ụ

12/27/13

Document Type Definition

23

Đ nh nghĩa ph n t

con (6.)

ầ ử

c n m trong khai báo. Chú thích: Có th dùng cách ghi chú XML chu n trong DTD, ể ằ

chú thích không đ ượ

Ví d :ụ

12/27/13

Document Type Definition

24

N i dung

ế

S d ng DTD tham chi u ử ụ ngo iạ

12/27/13

Document Type Definition

25

S d ng DTD tham chi u ngo i ạ

ử ụ

ế

ứ ụ ẻ

chung v i các ng d ng khác ứ

Đ c l u trong m t t p tin riêng có ph n m r ng Giúp ng d ng XML d dàng chia s và dùng ễ ụ ộ ậ ớ ượ ư ở ộ ầ

là .dtd

DTD tham Có hai cách ch đ nh m t ph n t ỉ ầ ử ộ ị

private DTDs) public DTDs)

ế

ạ ạ

chi u ngo i ạ  Tham chi u ngo i riêng ( ế  Tham chi u ngo i chung ( ế

12/27/13

Document Type Definition

26

Tham chi u ngo i riêng

ế

đ nh nghĩa riêng bi

ạ ế

ự ị

t, s ử

 S d ng t p tin DTD do ta t d ng cho m c đích cá nhân. ụ khóa

ử ụ ụ  Dùng t

SYSTEM trong ch th khai báo

DOCTYPE>

Tham chi u ngo i riêng: ậ

>

Ví d : ụ

12/27/13

Document Type Definition

27

S d ng DTD v i URLs

ử ụ

Tham chi u ngo i b ng đ a ch URL r t ti n l ỉ ị ạ ằ

ế ể ử ụ ấ ệ ợ ủ ị

i. Ta ộ ổ b t kỳ n i đâu trên th ế ừ ấ

i t có th s d ng các đ nh nghĩa DTD c a m t t ch c hay cá nhân nào đó t gi ự ơ đ u. ạ ừ ầ ả

DOCUMENT

SYSTEM

ứ i mà không ph i xây d ng l ớ Ví d :ụ

12/27/13

Document Type Definition

28

Tham chi u ngo i chung (1)

ế

Dùng t khóa ừ PUBLIC trong ch th khai báo

DOCTYPE>

M c đích là đ khai báo 1 n i dung DTD dùng ụ ể

ộ i dùng khác nhau) ề ườ

ả ạ ộ

chung (chia s cho nhi u ng ẻ Đ s d ng t ể ử ụ ị

ả ấ ỗ

khóa PUBLIC c n ph i t o m t ầ ừ ứ (FPI – Formal Public đ nh danh chung hình th c Identifier) là m t chu i văn b n n m trong d u nháy có 4 tr ộ ng phân cách nhau b ng d u ằ ằ ấ // ườ

12/27/13

Document Type Definition

29

Tham chi u ngo i chung (2)

ế

Tr ỉ ấ ứ ườ

đ nh nghĩa thì tr ứ ườ

ế

ườ ế ả

ng th 2 l u tên ho c nhóm cho cá nhân ch u Tr ẩ ẩ ườ ư ặ ị

ng th nh t: ch ra r ng DTD dùng cho chu n ẩ ằ ng chính th c. DTD do b n t ạ ự ị này là -, n u DTD có ph n thân không là chu n ẩ ầ ng này là +, v i ph n thân có chính th c thì tr ầ ớ ườ ứ ng này tham kh o đ n chu n chính th c thì tr ứ chu n c a chính nó. ứ trách nhi m cho DTD ệ

12/27/13

Document Type Definition

30

Tham chi u ngo i chung (3.)

ế

ng th 3 ch ra ki u tài li u DTD ng th 4 ch ra ngôn ng dùng vi t DTD ệ ữ ứ ứ ỉ ỉ ế

Tr ườ Tr ườ Cú pháp:

Ví d :ụ

12/27/13

Document Type Definition

31

N i dung

S d ng DTD tham chi u n i và tham chi u ngo i ạ ế ộ

ử ụ

ế

12/27/13

Document Type Definition

32

K t h p 2 lo i DTD (1)

ế ợ

Khai báo:

URL đ ể ế ế

[DTD] đ c s d ng cho các đ nh nghĩa ki u DTD ị ể

c s d ng đ tham chi u đ n các DTD ượ ử ụ tham chi u ngo i ạ ế ượ ử ụ tham chi u n i ộ ế

12/27/13

Document Type Definition

33

K t h p 2 lo i DTD (2)

ế ợ

]>

Ví d :ụ

12/27/13

Document Type Definition

34

K t h p 2 lo i DTD (3)

ế ợ

c đ nh nghĩa c DTD N u m t ph n t ộ ế đ ử ượ ở ả

c đ nh nghĩa

ơ

ầ ị

ầ ộ ị ế

ầ ế thông báo l

ể ừ

ề iỗ và d ng quá trình phân tích khi đ nh ị

. (thu c tính) khác nhau

n u DTD n i và ngo i trùng nhau

• Đ a ra ư phát hi n có hai DTD n i và ngo i trùng nhau cùng ệ nghĩa m t ph n t ầ ử ộ • Xem nh là h p l ư

cùng đ nh nghĩa m t ph n t

(thu c tính ) gi ng nhau.

ầ ử

ộ ộ ợ ệ ế ộ

ộ ộ

tham chi u n i và tham chi u ngo i: ạ ế  V m t ặ lý thuy tế , n u m t ph n t hay thu c tính ử ế ề ộ đ hai n i thì đ nh nghĩa n i (c c b ) ụ ở ị ượ c u tiên h n các đ nh nghĩa DTD ngo i. s đ ạ ị ơ ẽ ượ ư  Th c tự ế, h u h t các trình ki m tra đ u:

12/27/13

Document Type Definition

35

K t h p 2 lo i DTD (4)

ế ợ

]>

Trong file order.dtd cũng khai báo:

c trình phân tích xem là h p l

. thì đ ợ ệ

ượ

Ví d :ụ

12/27/13

Document Type Definition

36

K t h p 2 lo i DTD (5.)

ế ợ

ế

ư

ầ ử

ẽ ư

Nh ng n u khai báo: (PRICE là m t ph n t ) thì trình phân tích s đ a ra thông báo l

i.ỗ ớ

L u ýư ặ ườ

: v i các trình duy t thì g p tr ẽ ể ạ ợ ỉ

c tính h p l ợ

ng h p nh ư ợ ệ trên s không đ a ra thông báo gì. Vì trình duy t ư ệ c tính h p khuôn d ng (well- ch ki m tra đ ượ formed) ch không ki m tra đ ệ ượ ể ứ (valid) c a tài li u XML. ệ ủ

12/27/13

Document Type Definition

37

N i dung

Dùng DTD ki m tra tính h p l

XML

ợ ệ

12/27/13

Document Type Definition

38

DTD và tính h p l

c a tài li u

ợ ệ ủ

ộ ố ị S d ng m t s đ a ch cung c p d ch v ki m tra ỉ ụ ể ấ ị

ế

ư ộ ể

Group:

• http://www.stg.brown.edu/service/xmlvalid

ử ụ tr c tuy n dùng DTD. ự  Ví d nh b ki m tra XML c a Scholarly Technology

S d ng các trình so n th o XML nh XML writer, ử ụ ư ạ ả

Altova XMLSpy...

12/27/13

Document Type Definition

39

Tóm t

t bài h c ọ

ượ c s d ng ử ụ

ị ấ ể ệ ủ

ể ộ

ử ụ t ng ph n t ừ ẻ ầ ử

trong tài li u. ứ ể ẻ ấ

ỉ ậ ẻ ặ ấ

DTDs (Document Type Definitions) đ đ quy đ nh c u trúc c a tài li u XML. Có 2 cách khai báo DTD: n i và ngo i. ạ S d ng th đ khai báo n i dung ệ M i th có th ch a n i dung b t kỳ, ch ch a d ữ ứ ộ ỗ li u text, ch a các th con ho c ch p nh n c n i ả ộ ệ dung h n h p. ỗ ứ ợ

12/27/13

Document Type Definition

40

H T BÀI

12/27/13

41

Document Type Definition