36
Document Type Definition 1 Document Type Definition CBGD: Nguyễn Trần Thi Văn NGÔN NGỮ ĐÁNH DẤU MỞ RỘNG CHƯƠNG 05

Document Type Definition - xml va dtd (attribute)

Embed Size (px)

Citation preview

Page 1: Document Type Definition -  xml va dtd (attribute)

Document Type Definition 1

Document Type Definition

CBGD: Nguyễn Trần Thi Văn

NGÔN NGỮ ĐÁNH DẤU MỞ RỘNG

CHƯƠNG 05

Page 2: Document Type Definition -  xml va dtd (attribute)

Document Type Definition 2

KHAI BÁO THUỘC TÍNHCBGD: Nguyễn Trần Thi

Văn

NGÔN NGỮ ĐÁNH DẤU MỞ RỘNG

BÀI 2

Page 3: Document Type Definition -  xml va dtd (attribute)

Nội dungMục tiêu của bài họcGiới thiệu về thuộc tínhKhai báo thuộc tínhChỉ định giá trị mặc định cho thuộc

tínhCác kiểu dữ liệu của thuộc tínhThuộc tính được định nghĩa trước

3Document Type Definition

Page 4: Document Type Definition -  xml va dtd (attribute)

4

Mục tiêu Khai báo được thuộc tính cho các thẻ Đặt giá trị mặc định cho từng thuộc

tính Trình bày được ý nghĩa và sử dụng

các kiểu dữ liệu khác nhau cho từng thuộc tính.

Trình bày được ý nghĩa của 2 thuộc tính xml:space và xml:lang

Document Type Definition

Page 5: Document Type Definition -  xml va dtd (attribute)

Nội dung

CÁC THUỘC TÍNH ĐƯỢC ĐỊNH NGHĨA TRƯỚC

CHỈ ĐỊNH GIÁ TRỊ MẶC ĐỊNH CHO THUỘC TÍNH

KHAI BÁO THUỘC TÍNH TRONG DTD

TỔNG QUAN VỀ THUỘC TÍNH

CÁC KIỂU CỦA THUỘC TÍNH TRONG DTD

2

3

1

4

5

5Document Type Definition

Page 6: Document Type Definition -  xml va dtd (attribute)

- Một số phần tử (element) của XML có thuộc tính (Attribute).

- Ví dụ: <GREETING LANGUAGE=”English”>

Hello XML!<MOVIE SOURCE=”WavingHand.mov”/>

</GREETING>- Thuộc tính chứa các thông tin dành cho các ứng

dụng.- Thuôc tính chứa thông tin về nội dung của phần tử- Thuộc tính bao gồm tên của thuộc tính,giá trị của

thuộc tính,chúng ngăn cách với nhau bằng dấu “=”

6Document Type Definition

Tổng quan về thuộc tính (1)

Page 7: Document Type Definition -  xml va dtd (attribute)

- Tên của thuộc tính :+ Phân biệt chữ hoa và chữ thường+ Không có hai thuộc tính cùng tên trong cùng 1

tag.- Giá trị của thuộc tính :

+ Là giá trị chuỗi.+ Nằm trong dấu nháy “ ”.- Một phần tử có thể có nhiều thuộc tính.- Ví dụ : <RECTANGLE WIDTH=”30” HEIGHT=”45”/>

<SCRIPT LANGUAGE=”javascript” ENCODING=”8859_1”>...</SCRIPT>

7Document Type Definition

Tổng quan về thuộc tính (2.)

Page 8: Document Type Definition -  xml va dtd (attribute)

Nội dung

CÁC THUỘC TÍNH ĐƯỢC ĐỊNH NGHĨA TRƯỚC

CHỈ ĐỊNH GIÁ TRỊ MẶC ĐỊNH CHO THUỘC TÍNH

KHAI BÁO THUỘC TÍNH TRONG DTD

TỔNG QUAN VỀ THUỘC TÍNH

CÁC KIỂU CỦA THUỘC TÍNH TRONG DTD

2

3

1

4

5

8Document Type Definition

Page 9: Document Type Definition -  xml va dtd (attribute)

Tên của Attribute

- Sử dụng tag <!ATTLIST> để khai báo thuộc tính trong DTD.

- Cú pháp :

- Ví dụ:

<!ATTLIST Element_name Attribute_name Type Default_value ><GREETING LANGUAGE=”Spanish”>Hola!</GREETING> Khai báo attribute:

<!ELEMENT GREETING (#PCDATA)><!ATTLIST GREETING LANGUAGE CDATA “Spanish”>

Tên của phần tử sở hữu thuộc

tính này.Giá trị mặc định

của Atrribute

9Document Type Definition

Khai báo t.tính trong DTD (1)

Kiểu của Attribute

Page 10: Document Type Definition -  xml va dtd (attribute)

- Khai báo nhiều thuộc tính (có hai cách) :1. Khai báo theo kiểu thông thường:

2. Khai báo theo kiểu rút gọn:

element RECTANGLE có cả thuộc tính LENGTH và WIDTH.<RECTANGLE LENGTH=”70px” WIDTH=”85px”/>

Khai báo nhiều Atribute với mỗi khai báo cho 1 Attribute<!ELEMENT RECTANGLE EMPTY><!ATTLIST RECTANGLE LENGTH CDATA “0px”><!ATTLIST RECTANGLE WIDTH CDATA “0px”>

element RECTANGLE có cả thuộc tính LENGTH và WIDTH.<RECTANGLE LENGTH=”70px” WIDTH=”85px”/>

Khai báo nhiều Atribute theo kiểu rút gọn<!ATTLIST RECTANGLE LENGTH CDATA “0px” WIDTH

CDATA “0px”>

10Document Type Definition

Khai báo t.tính trong DTD (2.)

Page 11: Document Type Definition -  xml va dtd (attribute)

Nội dung

CÁC THUỘC TÍNH ĐƯỢC ĐỊNH NGHĨA TRƯỚC

CHỈ ĐỊNH GIÁ TRỊ MẶC ĐỊNH CHO THUỘC TÍNH

KHAI BÁO THUỘC TÍNH TRONG DTD

TỔNG QUAN VỀ THUỘC TÍNH

CÁC KIỂU CỦA THUỘC TÍNH TRONG DTD

2

3

1

4

5

11Document Type Definition

Page 12: Document Type Definition -  xml va dtd (attribute)

- Để chỉ định giá trị mặc định cho thuộc tính ta sử dụng 3 từ khoá:

#REQUIRED

#IMPLIED

# FIXED

: Bắt buộc phải nhập giá trị

: Không bắt buộc phải nhập giá trị

: Gán giá trị mặc định cho thuộc tính

12Document Type Definition

Chỉ định giá trị mặc định (1)

Page 13: Document Type Definition -  xml va dtd (attribute)

#REQUIRED : Bắt buộc phải nhập giá trị cho thuộc tính.

- Ví dụ :

element SINHVIEN có 3 thuộc tính MSSV, TEN, EMAIL.<SINHVIEN MSSV= “08110123” TEN=”Nguyen Van Z”

EMAIL=”[email protected]” />

Khai báo thuộc tính :<!ELEMENT SINHVIEN EMPTY><!ATTLIST SINHVIEN MSSV CDATA #REQUIRED><!ATTLIST SINHVIEN TEN CDATA #REQUIRED><!ATTLIST SINHVIEN EMAIL CDATA #REQUIRED>

13Document Type Definition

Chỉ định giá trị mặc định (2)

Page 14: Document Type Definition -  xml va dtd (attribute)

#IMPLIED : Không bắt buộc nhập giá trị cho thuộc tính.

- Ví dụ:

element SINHVIEN có 3 thuộc tính MSSV, TEN, EMAIL.<SINHVIEN MSSV= “08110123” TEN=”Nguyen Van Z”

EMAIL=”[email protected]” />

Khai báo thuộc tính :<!ELEMENT SINHVIEN EMPTY><!ATTLIST SINHVIEN MSSV CDATA #REQUIRED><!ATTLIST SINHVIEN TEN CDATA #REQUIRED><!ATTLIST SINHVIEN MAIL CDATA #IMPLIED>

14Document Type Definition

Chỉ định giá trị mặc định (3)

Page 15: Document Type Definition -  xml va dtd (attribute)

#FIXED : Gán giá trị mặc định cho thuộc tính- Ví dụ:

element SINHVIEN có 4 thuộc tính MSSV, TEN, EMAIL, UNIVERSITY.<SINHVIEN MSSV= “08110123” TEN=”Nguyen Van Z” EMAIL=”[email protected]” UNIVERSITY = “DHSPKT tpHCM”/>

Khai báo thuộc tính: <!ELEMENT SINHVIEN EMPTY> <!ATTLIST SINHVIEN MSSV CDATA #REQUIRED> <!ATTLIST SINHVIEN TEN CDATA #REQUIRED> <!ATTLIST SINHVIEN EMAIL CDATA #IMPLIED> <!ATTLIST SINHVIEN UNIVERSITY CDATA #FIXED “DHSPKT tpHCM”>

15Document Type Definition

Chỉ định giá trị mặc định (4.)

Page 16: Document Type Definition -  xml va dtd (attribute)

Nội dung

CÁC THUỘC TÍNH ĐƯỢC ĐỊNH NGHĨA TRƯỚC

CHỈ ĐỊNH GIÁ TRỊ MẶC ĐỊNH CHO THUỘC TÍNH

KHAI BÁO THUỘC TÍNH TRONG DTD

TỔNG QUAN VỀ THUỘC TÍNH

CÁC KIỂU CỦA THUỘC TÍNH TRONG DTD

2

3

1

4

5

16Document Type Definition

Page 17: Document Type Definition -  xml va dtd (attribute)

Thuộc tính có tổng cộng 10 kiểu thường dùng sau:Kiểu thuộc tính CDATA

Kiểu thuộc tính Enumerated

Kiểu thuộc tính NMTOKEN

Kiểu thuộc tính NMTOKENS

Kiểu thuộc tính NOTATION Kiểu thuộc tính ID

Kiểu thuộc tính IDREF

Kiểu thuộc tính ENTITY

Kiểu thuộc tính ENTITIES

Kiểu thuộc tính IDREFS

17Document Type Definition

Các kiểu của thuộc tính (1)

Page 18: Document Type Definition -  xml va dtd (attribute)

18Document Type Definition

Các kiểu của thuộc tính (2)

Page 19: Document Type Definition -  xml va dtd (attribute)

1. Kiểu thuộc tính CDATA- Là thuộc tính thường thấy nhất.- Có thể là bất kì chuỗi kí tự nào mà không chứa dấu

( < ) hoặc dấu ( “ )- Ví dụ:

<!ATTLIST person name CDATA #REQUIRED> <!ATTLIST person language CDATA #FIXED "Vietnamese">

19Document Type Definition

Các kiểu của thuộc tính (3)

Page 20: Document Type Definition -  xml va dtd (attribute)

2. Kiểu thuộc tính Enumerated- Liệt kê một danh sách các giá trị có thể gán cho

thuộc tính.- Ví dụ:

<!ATTLIST person gender (male | female) #REQUIRED >

20Document Type Definition

Các kiểu của thuộc tính (4)

Page 21: Document Type Definition -  xml va dtd (attribute)

3. Kiểu thuộc tính NMTOKEN- Một Token là một tên XML hợp lệ, từ đơn không có

khoảng trắng:+ Bắt đầu bằng kí tự hoặc dấu “_”+ Không chứa khoảng trắng.+ Phân biệt hoa, thường

- Ví dụ: <!ATTLIST ADDRESS STATES NMTOKEN #REQUIRED> <ADDRESS STATES= “VoVanNgan”>

<!--Example wrong--> <ADDRESS STATES=”Vo Van Ngan”>

21Document Type Definition

Các kiểu của thuộc tính (5)

Page 22: Document Type Definition -  xml va dtd (attribute)

4. Kiểu thuộc tính NMTOKENS- Chuỗi bao gồm nhiều Token, cách nhau bởi dấu

khoảng trắng.- Ví dụ:

<!ATTLIST ADDRESS STATES NMTOKENS #REQUIRED> <ADDRESS STATES=”Vo Van Ngan Le Van Viet”>

<!--Example wrong--> <ADDRESS STATES=”VoVanNganLeVanViet”>

22Document Type Definition

Các kiểu của thuộc tính (6)

Page 23: Document Type Definition -  xml va dtd (attribute)

5. Kiểu thuộc tính ID, IDREF, IDREFS:

Kiểu thuộc tính ID Giá trị của thuộc tính dùng làm tên duy nhất để định danh một phần tử (element) nào đó trong tài liệu XML.

Kiểu thuộc tính IDREF Tham chiếu đến ID trên một phần tử

(element) khác. Kiểu thuộc tính IDREFS Tham chiếu đến một danh sách các ID cách

nhau bởi các khoảng trắng.

23Document Type Definition

Các kiểu của thuộc tính (7)

Page 24: Document Type Definition -  xml va dtd (attribute)

5. Kiểu thuộc tính ID, IDREF, IDREFS (tt)- Ví dụ:

Khai báo trong DTDs:<!ELEMENT department (employee*)> <!ELEMENT employee (#PCDATA)> <!ATTLIST employee empid ID #REQUIRED boss IDREF #IMPLIED>Khai báo trong XML:<?xml version="1.0" standalone="yes"?> <!DOCTYPE departments SYSTEM department.dtd> < department > <employee empid="e1013">Jack Russell</employee> <employee empid="e1014">Samuel Tessen</employee> <employee empid="e1015" boss="e1013">Terri White</employee> <employee empid="e1016" boss="e1014">Steve McAlister</employee> </ department >

24Document Type Definition

Các kiểu của thuộc tính (8)

Page 25: Document Type Definition -  xml va dtd (attribute)

8. Kiểu thuộc tính ENTITY

- Kiểu thuộc tính này cho phép bạn liên kết dữ liệu nhị phân ở bên ngoài thành một tài liệu (document).

- Tên một thực thể (Entity) được khai báo trong DTD ở nơi khác.

25Document Type Definition

Các kiểu của thuộc tính (9)

Page 26: Document Type Definition -  xml va dtd (attribute)

*. Kiểu thuộc tính ENTITY (tt)- Ví dụ: Điển hình của thuộc tính Entity là sự liên kết

một IMAGE. Một IMAGE chứa những dữ liệu nhị phân cho IMAGE đó.

Khai báo trong DTD:<!ELEMENT image EMPTY> <!ATTLIST image src ENTITY #REQUIRED> <!ENTITY chapterimage SYSTEM “picture1.jpg" NDATA "jpg">

Khai báo trong XML:<image src="chapterimage" />

26Document Type Definition

Các kiểu của thuộc tính (10)

Page 27: Document Type Definition -  xml va dtd (attribute)

9. Kiểu thuộc tính ENTITIES- Hỗ trợ gán một danh sách tên các thực thể

(Entity) cách nhau bằng khoảng trắng vào thuộc tính.

- Ví dụ:

Khai báo trong DTD:<!ELEMENT SLIDESHOW EMPTY><!ATTLIST SLIDESHOW SOURCES ENTITIES #REQUIRED><!ENTITY PIC1 SYSTEM “cat.gif”><!ENTITY PIC2 SYSTEM “dog.gif”><!ENTITY PIC3 SYSTEM “cow.gif”>

Khai báo trong XML:<SLIDESHOW SOURCES=”PIC1 PIC2 PIC3”>

27Document Type Definition

Các kiểu của thuộc tính (11)

Page 28: Document Type Definition -  xml va dtd (attribute)

10. Kiểu thuộc tính NOTATION- Giá trị là một tên của một kí hiệu được khai báo

trong DTD.- Sử dụng từ khóa NOTATION.- Ví dụ:

Khai báo trong DTD<!ELEMENT media (#PCDATA)><!NOTATION mpeg SYSTEM "mpegplay.exe"> <!NOTATION jpeg SYSTEM "netscape.exe"> <!ATTLIST media player NOTATION (mpeg | jpeg) #REQUIRED>

Khai báo trong XML<media player="mpeg"></media>

28Document Type Definition

Các kiểu của thuộc tính (12.)

Page 29: Document Type Definition -  xml va dtd (attribute)

Nội dung

CÁC THUỘC TÍNH ĐƯỢC ĐỊNH NGHĨA TRƯỚC

CHỈ ĐỊNH GIÁ TRỊ MẶC ĐỊNH CHO THUỘC TÍNH

KHAI BÁO THUỘC TÍNH TRONG DTD

TỔNG QUAN VỀ THUỘC TÍNH

CÁC KIỂU CỦA THUỘC TÍNH TRONG DTD

2

3

1

4

5

29Document Type Definition

Page 30: Document Type Definition -  xml va dtd (attribute)

- Có hai thuộc tính được khai báo trong tài liệu XML

- Những thuộc tính này bắt đầu bằng cú pháp “xml:”

- Có hai thuộc tính được định nghĩa: + xml: space + xml: lang

30Document Type Definition

T.tính được định nghĩa trước

Page 31: Document Type Definition -  xml va dtd (attribute)

1. Thuộc tính xml: space- Thuộc tính này giúp cho trình soạn thảo tài liệu

XML hiểu được các kí tự khoảng trắng có trong tài liệu XML.

- Thuộc tính xml: space chứa hai giá trị :+ Default+ Preserve

31Document Type Definition

T.tính được định nghĩa trước

Page 32: Document Type Definition -  xml va dtd (attribute)

1. Thuộc tính xml: space (tt)- Ví dụ:

<?xml version=”1.0” standalone=”yes”?><!DOCTYPE PROGRAM [<!ELEMENT PROGRAM (#PCDATA)><!ATTLIST PROGRAM xml:space (default|preserve) ‘preserve’>]><PROGRAM xml:space=”preserve”>

Xin chao cac ban!</PROGRAM>

32Document Type Definition

T.tính được định nghĩa trước

Page 33: Document Type Definition -  xml va dtd (attribute)

2. Thuộc tính xml: lang- Là thuộc tính giúp cho việc lựa chọn ngôn

ngữ trình bày trong tài liệu XML.- Mỗi giá trị của thuộc tính này sẽ bao gồm

2 kí tự biểu thị cho ngôn ngữ được chọn.

- Ví dụ:- vn : chọn ngôn ngữ Tiếng Việt- en : chọn ngôn ngữ Tiếng Anh

33Document Type Definition

T.tính được định nghĩa trước

Page 34: Document Type Definition -  xml va dtd (attribute)

2. Thuộc tính xml: lang (tt)- Ví dụ:

Sử dụng tiếng Việt<SENTENCE xml:lang=“vn”>Xin chào tất cả các bạn.Chúng ta đang tìm hiểu việc khai báo các thuộc tính trong tài liệu XML sử dụng DTDs.</SENTENCE>

Sử dụng tiếng Anh<SENTENCE xml:lang=“en”>Hi everybody.We are presenting about Attribute Declarations in DTDs.</SENTENCE>

34Document Type Definition

T.tính được định nghĩa trước

Page 35: Document Type Definition -  xml va dtd (attribute)

Tóm tắt bài học Các thẻ có thể không có, có một hoặc

nhiều thuộc tính. Ta dùng thẻ <!ATTLIST> để khai báo

các thuộc tính trong DTDs. Mỗi thuộc tính có một kiểu dữ liệu

riêng, có thể có giá trị mặc định, bắt buộc hoặc không bắt buộc phải có giá trị.

Có 2 thuộc tính được định nghĩa trước trong DTD là xml:space và xml:lang

35Document Type Definition

Page 36: Document Type Definition -  xml va dtd (attribute)

HẾT BÀI

36Document Type Definition