Trình bày được công dụng chính của DTD
Khai báo DTD sử dụng tham chiếu nội và tham chiếu ngoại.
Khai báo được cấu trúc nội dung của từng phần tử (element) trong tài liệu XML
Kiểm tra được tính hợp lệ của tài liệu XML (về mặt cấu trúc, nội dung các phần tử)
40 trang |
Chia sẻ: lylyngoc | Lượt xem: 1766 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Chương 05 Document Type Definition, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Document Type Definition * Document Type Definition * NGÔN NGỮ ĐÁNH DẤU MỞ RỘNG CHƯƠNG 05 KHAI BÁO PHẦN TỬ * Document Type Definition * NGÔN NGỮ ĐÁNH DẤU MỞ RỘNG BÀI 1 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 * Document Type Definition * Mục tiêu Trình bày được công dụng chính của DTD Khai báo DTD sử dụng tham chiếu nội và tham chiếu ngoại. Khai báo được cấu trúc nội dung của từng phần tử (element) trong tài liệu XML Kiểm tra được tính hợp lệ của tài liệu XML (về mặt cấu trúc, nội dung các phần tử) * Document Type Definition * Nội dung * Document Type Definition * Định Nghĩa Ví dụ mở đầu Nguyen Tuan Male 20 * Document Type Definition * Tuan Nguyen 20 Male Đị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 lệ (validity) của tài liệu XML bởi các trình phân tích XML. * Document Type Definition * 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 (những người khai thác tài liệu XML) nắm được cấu trúc của tài liệu, từ đó có thể xử lý, rút trích, định dạng tài liệu cho phù hợp. * Document Type Definition * Nội dung * Document Type Definition * Tạo khai báo Vị trí khai báo Phần khai báo DTD được đặt sau các chỉ thị xử lý (Processing Instructions) và trước nút gốc của tài liệu. Khai báo này có thể là khai báo DTD tham chiếu nội hoặc DTD tham chiếu ngoại, hoặc kết hợp cả hai. * Document Type Definition * Cú pháp khai báo Một khai báo bắt đầu với * Document Type Definition * Cú pháp khai báo (2.) Trong đó: rootname: Tên phần tử gốc 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). * Document Type Definition * Phân loại DTD Định nghĩa kiểu dữ liệu có 2 dạng, đó là DTD tham chiếu nội và DTD tham chiếu ngoại. DTD tham chiếu nội là DTD được định nghĩa 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 * Document Type Definition * 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à EMPTY, ANY, #PCDATA, các phần tử con hay trộn lẫn nhiều thành phần * Document Type Definition * Khai báo phần tử (2) Ví dụ ]> Hello XML! * Document Type Definition * Content model (1) 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ử khác. #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 thô, dữ liệu thô chỉ cho biết tính chất văn bản text của nó. * Document Type Definition * Content model (2) EMPTY: Các phần tử không có nội dung gì được gọi là rỗng. * Document Type Definition * Content model (3.) Ví dụ ]> 1998 Major League Baseball * Document Type Definition * Định nghĩa phần tử con (1) Định nghĩa một phần tử có chứa một phần tử con Ví dụ: Định nghĩa một phần tử có chứa nhiều hơn một phần tử con Dùng dấu phẩy Ví dụ: Dùng kí tự đại diện * Document Type Definition * Đị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. Ví dụ: Phần tử ROOT không có hoặc có nhiều phần tử LIMB_A * Document Type Definition * Đị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ử ROOT có 2 phần tử con, đầu tiên là phần tử LIMB_A tiếp đến là LIMB_B Phần tử ROOT có một phần tử con hoặc là LIMB_A hoặc là LIMB_B * Document Type Definition * Định nghĩa phần tử con (4) Dấu ngoặc đơn: Các phần tử được kết hợp bởi dấu ngoặc đơn như là một phần tử duy nhất. Tập các phần tử trong dấu ngoặc sẽ chịu ảnh hưởng của những kí tự đại diện *, + hoặc ? Ví dụ: * Document Type Definition * Định nghĩa phần tử con (5) Nội dung hỗn hợp (mixed content): Là cách định nghĩa phần tử vừa có khả năng chứa dữ liệu thuần text (tương tự #PCDATA) vừa chứa dữ liệu phần định dạng (markup). Ví dụ: * Document Type Definition * Định nghĩa phần tử con (6.) Chú thích: Có thể dùng cách ghi chú XML chuẩn trong DTD, chú thích không được nằm trong khai báo. Ví dụ: * Document Type Definition * Nội dung * Document Type Definition * Sử dụng DTD tham chiếu ngoại Sử dụng DTD tham chiếu ngoại Giúp ứng dụng XML dễ dàng chia sẻ và dùng 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 là .dtd Có hai cách chỉ định một phần tử DTD tham chiếu ngoại Tham chiếu ngoại riêng (private DTDs) Tham chiếu ngoại chung (public DTDs) * Document Type Definition * Tham chiếu ngoại riêng Tham chiếu ngoại riêng: Sử dụng tập tin DTD do ta tự định nghĩa riêng biệt, sử dụng cho mục đích cá nhân. Dùng từ khóa SYSTEM trong chỉ thị khai báo Ví dụ: * Document Type Definition * Tham chiếu ngoại bằng địa chỉ URL rất tiện lợi. Ta 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ừ bất kỳ nơi đâu trên thế giới mà không phải xây dựng lại từ đầu. Ví dụ : * Document Type Definition * Sử dụng DTD với URLs Dùng từ khóa PUBLIC trong chỉ thị khai báo Mục đích là để khai báo 1 nội dung DTD dùng chung (chia sẻ cho nhiều người dùng khác nhau) Để sử dụng từ khóa PUBLIC cần phải tạo một định danh chung hình thức (FPI – Formal Public 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 // * Document Type Definition * Tham chiếu ngoại chung (1) Tham chiếu ngoại chung (2) Trường thứ nhất: chỉ ra rằng DTD dùng cho chuẩn chính thức. DTD do bạn tự định nghĩa thì trường này là -, nếu DTD có phần thân không là chuẩn chính thức thì trường này là +, với phần thân có chuẩn chính thức thì trường này tham khảo đến chuẩn của chính nó. Trường thứ 2 lưu tên hoặc nhóm cho cá nhân chịu trách nhiệm cho DTD * Document Type Definition * Tham chiếu ngoại chung (3.) Trường thứ 3 chỉ ra kiểu tài liệu DTD Trường thứ 4 chỉ ra ngôn ngữ dùng viết DTD Cú pháp: Ví dụ: * Document Type Definition * Nội dung * Document Type Definition * Sử dụng DTD tham chiếu nội và tham chiếu ngoại Kết hợp 2 loại DTD (1) Khai báo: URL được sử dụng để tham chiếu đến các DTD tham chiếu ngoại [DTD] được sử dụng cho các định nghĩa kiểu DTD tham chiếu nội * Document Type Definition * Kết hợp 2 loại DTD (2) Ví dụ: ]> * Document Type Definition * Kết hợp 2 loại DTD (3) Nếu một phần tử được định nghĩa ở cả DTD 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 được định nghĩa ở hai nơi thì định nghĩa nội (cục bộ) sẽ được ưu tiên hơn các định nghĩa DTD ngoại. Thực tế, hầu hết các trình kiểm tra đều: Đưa ra thông báo lỗi và dừng quá trình phân tích khi phát hiện có hai DTD nội và ngoại trùng nhau cùng định nghĩa một phần tử (thuộc tính) khác nhau. Xem như là hợp lệ nếu DTD nội và ngoại trùng nhau cùng định nghĩa một phần tử (thuộc tính ) giống nhau. * Document Type Definition * Kết hợp 2 loại DTD (4) Ví dụ: ]> Trong file order.dtd cũng khai báo: thì được trình phân tích xem là hợp lệ. * Document Type Definition * 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ường hợp như trên sẽ không đưa ra thông báo gì. Vì trình duyệt chỉ kiểm tra được tính hợp khuôn dạng (well-formed) chứ không kiểm tra được tính hợp lệ (valid) của tài liệu XML. * Document Type Definition * Nội dung * Document Type Definition * Dùng DTD kiểm tra tính hợp lệ XML 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 trực tuyến dùng DTD. Ví dụ như bộ kiểm tra XML của Scholarly Technology Group: Sử dụng các trình soạn thảo XML như XML writer, Altova XMLSpy... * Document Type Definition * Tóm tắt bài học DTDs (Document Type Definitions) được sử dụng để 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 từng phần tử trong tài liệu. 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. * Document Type Definition * HẾT BÀI * Document Type Definition *