1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng tích hợp dữ liệu và XML chương 03 DTD

7 527 6

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

18/02/2013 Nội dung DTD gì? Khai báo DTD nội Khai báo DTD ngoại Khai báo phần tử Khai báo thuộc tính Phần tử vs Thuộc tính Thực thể DTD Nguyễn Hồng Phương Email: phuong.nguyenhong@hust.vn Site: http://is.hut.edu.vn/~phuongnh Bộ môn Hệ thống thông tin Viện Công nghệ thông tin Truyền thông Đại học Bách Khoa Hà Nội DTD gì? Tại sử dụng DTD? Document Type Definition Là tài liệu dùng ñể ñịnh nghĩa kiểu liệu cho phần tử tài liệu XML Khi ñọc tài liệu XML, cần ñọc phần DTD biết ñược cấu trúc XML Với DTD, file XML mang mô tả ñịnh dạng Các nhóm ñộc lập chấp nhận chuẩn DTD ñể trao ñổi liệu Một ứng dụng sử dụng DTD chuẩn thể kiểm tra liệu nhận từ bên có hợp lệ hay không Khai báo DTD nội Ví dụ: Khai báo DTD nội ]> Tove Jani Reminder Don't forget me this weekend Nếu DTD ñược khai báo bên file XML, nằm ñịnh nghĩa DOCTYPE 18/02/2013 Giải thích Khai báo DTD ngoại !DOCTYPE note ñịnh nghĩa phần tử gốc tài liệu note !ELEMENT note ñịnh nghĩa phần tử note chứa phần tử: to, from, heading, body !ELEMENT to ñịnh nghĩa phần tử to thuộc kiểu #PCDATA !ELEMENT from ñịnh nghĩa phần tử from thuộc kiểu #PCDATA !ELEMENT heading ñịnh nghĩa phần tử heading thuộc kiểu #PCDATA !ELEMENT body ñịnh nghĩa phần tử body thuộc kiểu #PCDATA Nếu DTD ñược khai báo bên file bên ngoài, nằm ñịnh nghĩa DOCTYPE: Ví dụ khai báo DTD ngoại Khai báo phần tử Phần tử dùng ñể ñịnh nghĩa kiểu liệu cho phần tử tài liệu XML Cú pháp: Tove Jani Reminder Don't forget me this weekend! Phần tử với kiểu rỗng Ví dụ: Ví dụ XML: File note.dtd: Khai báo phần tử (tiếp) 10 Khai báo phần tử (tiếp) Phần tử có kiểu văn Định nghĩa phần tử có chứa phần tử Ví dụ: Ví dụ: Phần tử với kiểu liệu Định nghĩa phần tử chứa nhiều phần tử Ví dụ: Cách 1: Ví dụ: 11 12 18/02/2013 Khai báo phần tử (tiếp) Khai báo phần tử (tiếp) Cách 2: sử dụng kí tự ñại diện Phần tử có nhiều phần tử Ví dụ: Chú ý, phần tử tài liệu có trình tự giống trình tự khai báo phần tử ñây Các phần tử có phần tử mức Phần tử có nhiều phần tử Ví dụ: 13 Khai báo phần tử (tiếp) 14 Khai báo thuộc tính với Phần tử có Phần tử dùng ñể ñịnh nghĩa kiểu tư liệu thuộc tính cho phần tử tài liệu XML Ví dụ: Phần tử có phần tử Ví dụ DTD: phần tử note phải chứa phần tử to, from, header {mesage body} Phần tử chứa phần tử liệu Ví dụ XML: phần tử note chứa nhiều kiểu văn bản, phần tử to, from, header message 15 Khai báo thuộc tính với 16 Khai báo thuộc tính với Kiểu Các kiểu thuộc tính là: Kiểu Mô tả Mô tả NMTOKEN Giá trị tên XML hợp lệ CDATA Thuộc tính chứa kiểu liệu kí tự NMTOKENS Giá trị danh sách tên XML hợp lệ (en1|en2| ) Thuộc tính nhận giá trị từ danh sách ENTITY Giá trị thực thể ID Giá trị thuộc tính không ñược trùng bắt ñầu chữ ENTITIES Giá trị danh sách thực thể IDREF Giá trị thuộc tính phải giá trị thuộc tính ID phần tử khác NOTATION Giá trị tên kí hiệu IDREFS Giá trị thuộc tính phải giá trị thuộc tính có kiểu ID xml: Giá trị giá trị xml ñã ñịnh sẵn 17 18 18/02/2013 Ví dụ: thuộc tính mặc ñịnh Khai báo thuộc tính với Giá trị mặc ñịnh: nhận giá trị sau: Giá trị DTD: Giải thích value value giá trị mặc ñịnh ñó, ví dụ "SoICT" #REQUIRED Thuộc tính phải có giá trị #IMPLIED Thuộc tính không thiết phải có giá trị #FIXED value Giá trị thuộc tính ñược gán cố ñịnh XML hợp lệ: Phần tử square phần tử rỗng, thuộc tính width có kiểu CDATA Nếu không ñược xác ñịnh, giá trị mặc ñịnh (ở ñây ñã xác ñịnh 100) 19 20 #REQUIRED #IMPLIED Cú pháp: Ví dụ: DTD: XML hợp lệ: XML không hợp lệ: Cú pháp: Ví dụ: DTD: XML hợp lệ: XML hợp lệ: 21 22 #FIXED Thuộc tính nhận giá trị liệt kê Cú pháp: Ví dụ: DTD: XML hợp lệ: XML không hợp lệ: Cú pháp: Ví dụ: DTD: Ví dụ XML: 23 24 18/02/2013 Phần tử vs Thuộc tính, nào? Phần tử vs Thuộc tính, nào? Nhìn chung, quy tắc Nên sử dụng phần tử thông tin giống liệu Dữ liệu lưu trữ phần tử thuộc tính Ví dụ: Tove Jani Reminder Don't forget me this weekend! Anna Smith 12/11/2002 Tove Jani Reminder Don't forget me this weekend! female Anna Smith 25 26 Tránh sử dụng thuộc tính? Một số vấn ñề với thuộc tính Không thể chứa nhiều giá trị (trong phần tử có thể!) Không dễ dàng mở rộng tương lai Không mô tả cấu trúc Khó ñể thao tác ñoạn mã lập trình Các giá trị thuộc tính không dễ dàng ñể kiểm tra DTD 12 11 2002 Tove Jani Reminder Don't forget me this weekend! Tránh kiểu này! 27 Tránh sử dụng thuộc tính? Ngoại lệ: Tove Jani Reminder Don't forget me this weekend! 28 Thực thể Các thực thể biến ñược sử dụng ñể ñịnh nghĩa shortcuts tới ñoạn text chuẩn kí tự ñặc biệt id ñây ñếm, dịnh danh nhất, phần liệu note Các tham chiếu thực thể tham chiếu tới thực thể Các thực thể ñược khai báo bên bên Jani Tove Re: Reminder I will not! 29 30 18/02/2013 Khai báo thực thể bên Khai báo thực thể Cú pháp Cú pháp Ví dụ Ví dụ Ví dụ DTD: Ví dụ DTD: Ví dụ XML: &writer;©right; Một thực thể có phần: kí hiệu &, tên thực thể dấu ; Ví dụ XML: &writer;©right; 31 32 TV Schedule DTD Một số ví dụ internet TV Schedule DTD ]> By David Moisan Copied from http://www.davidmoisan.org/ Newspaper Article DTD Copied from http://www.vervet.com/ 33 Newspaper Article DTD 34 Hỏi - ñáp ]> 35 36 18/02/2013 Lời hay ý ñẹp "Thiếu tự tin nguyên nhân phần lớn thất bại" Bowee 37

Ngày đăng: 23/01/2016, 00:40

Xem thêm: Bài giảng tích hợp dữ liệu và XML chương 03 DTD

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w