document type definition - xml va dtd (attribute)

Post on 12-Jan-2017

1.109 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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 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

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

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

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

- 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)

- 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.)

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

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

- 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.)

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

- Để 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)

#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=”08110123@student.hcmute.edu.vn” />

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)

#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=”08110123@student.hcmute.edu.vn” />

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)

#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=”08110123@student.hcmute.edu.vn” 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.)

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

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)

18Document Type Definition

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

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)

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)

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)

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)

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)

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)

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)

*. 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)

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)

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.)

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

- 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

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

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

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

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

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

HẾT BÀI

36Document Type Definition

top related