Chương 4 XML

-Trình bày được: + Các khái niệm trong XML +Định nghĩa kiểu tư liệu -DTD + Ngôn ngữ định dạng dữliệu + Ngôn ngữ tạo liên kết -Tạo được tài liệu XML hợp lệ, hợp khuôn dạng -Áp dụng để tạo cấu trúc tài liệu

pdf159 trang | Chia sẻ: lylyngoc | Lượt xem: 1792 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Chương 4 XML, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 4. XML 4 - 1/ CHƯƠNG 4 XML CƠ SỞ DỮ LIỆU WEB & XML Chương 4. XML 4 - 2/ 4.1 Tổng quan về XML 4.2 Định nghĩa kiểu dữ liệu - DTD 4.3 Ngôn ngữ định dạng 4.4 Liên kết Chương 4: XML Chương 4. XML 4 - 3/  MỤC TIÊU - Trình bày được: + Các khái niệm trong XML + Định nghĩa kiểu tư liệu - DTD + Ngôn ngữ định dạng dữ liệu + Ngôn ngữ tạo liên kết - Tạo được tài liệu XML hợp lệ, hợp khuôn dạng - Áp dụng để tạo cấu trúc tài liệu Chương 4: XML Chương 4. XML 4 - 4/ 4.1.1 Giới thiệu XML - eXtensible Markup Language là ngôn ngữ xây dựng cấu trúc tài liệu văn bản  dựa theo chuẩn SGML (Standard Generalized Markup Language)  W3C phát triển  tương tự như cơ sở dữ liệu  dùng văn bản (text) để mô tả thông tin 4.1 Tổng quan về XML Chương 4. XML 4 - 5/ 4.1.1 Giới thiệu  Đơn vị cơ sở của XML là các ký tự  Tài liệu xml gồm một hoặc nhiều thực thể (mỗi thực thể thường là một phần)  XML có thể dùng cho nhiều loại dữ liệu 4.1 Tổng quan về XML Chương 4. XML 4 - 6/ 4.1.1 Giới thiệu Có ba loại văn bản XML:  Văn bản không hợp lệ: không theo nguyên tắc cú pháp được quy định bởi đặc tính kỹ thuật XML  Văn bản hợp lệ: tuân theo nguyên tắc cú pháp XML và quy định trong DTD hoặc lược đồ.  Văn bản chuẩn: tuân theo quy tắc cú pháp XML nhưng không có DTD hoặc lược đồ. 4.1 Tổng quan về XML Chương 4. XML 4 - 7/ 4.1.1 Giới thiệu ví dụ: A Thousand Splendid Suns Khaled Hosseini Riverhead Hardcover 14.27 4.1 Tổng quan về XML Chương 4. XML 4 - 8/ 4.1.1 Giới thiệu Các đặc điểm của XML:  Dễ dàng viết được các chương trình xử lý dữ liệu  Tài liệu XML dễ đọc và có tính hợp lý cao  XML dễ dàng được sử dụng trên Internet  XML hỗ trợ nhiều ứng dụng  Không đặt nặng tính hình thức trong nội dung thẻ 4.1 Tổng quan về XML Chương 4. XML 4 - 9/ 4.1.2 Cấu trúc một tài liệu XML Một tài liệu XML được chia thành hai phần chính: - Phần khai báo: khai báo cho tài liệu XML  khai báo phiên bản, bảng mã ký tự sử dụng trong tài liệu  định nghĩa kiểu cho tài liệu Khai báo có thể có hoặc không. Nếu có, nó phải là ở dòng đầu tiên trong văn bản. Ví dụ: 4.1 Tổng quan về XML Chương 4. XML 4 - 10/ 4.1.2 Cấu trúc một tài liệu XML Một tài liệu XML được chia thành hai phần chính: - Phần thân: chứa nội dung dữ liệu  gồm một hay nhiều phần tử,  mỗi phần tử được chứa trong một cặp thẻ  phần tử đầu tiên là phần tử gốc (root element). 4.1 Tổng quan về XML Chương 4. XML 4 - 11/ 4.1.2 Cấu trúc một tài liệu XML Ví dụ: Peter@gmail.com Jhon@gmail.com Invitation marry@yahoo.com 4.1 Tổng quan về XML Chương 4. XML 4 - 12/ 4.1.2 Cấu trúc một tài liệu XML Một tài liệu XML được coi là hợp khuôn dạng (well-form) nếu:  các khai báo đặt tại dòng đầu tiên của tài liệu  chỉ có một thành phần gốc (root)  mỗi phần tử của tài liệu phải được nằm trong một cặp thẻ  Các thành phần đều nằm giữa cặp thẻ gốc và phải lồng nhau một cách hợp lý  các cặp thẻ phải được viết chính xác như nhau  giá trị của thuộc tính phải nằm giữa ngoặc kép hoặc đơn 4.1 Tổng quan về XML Chương 4. XML 4 - 13/ 4.1.2 Cấu trúc một tài liệu XML - Phần tử gốc chứa tất cả các phần tử trong văn bản: Hello, World! Hello XML! Hello, World! Hello XML! 4.1 Tổng quan về XML Chương 4. XML 4 - 14/ 4.1.2 Cấu trúc một tài liệu XML - Phần tử là mẩu thông tin được đánh dấu bằng một cặp thẻ, thẻ mở và thẻ đóng  thẻ mở của phần tử đánh dấu nơi bắt đầu  thẻ đóng đánh dấu nơi kết thúc  phần tử chỉ có một thẻ gọi là phần tử đóng hay còn gọi là phần tử rỗng; dấu kết thúc thẻ là “/>”. ví dụ  nội dung của phần tử bao gồm văn bản và các phần tử (con) khác. 4.1 Tổng quan về XML Chương 4. XML 4 - 15/ 4.1.2 Cấu trúc một tài liệu XML - Phần tử Thuộc tính cho phép xác định thêm thông tin và ý nghĩa của thẻ  một phần tử có thể chứa các thuộc tính được đặt trong thẻ bắt đầu, ngay sau tên phần tử  Giá trị của thuộc tính phải được đặt trong cặp nháy đơn hoặc nháy kép  mỗi tên thuộc tính chỉ được xuất hiện một lần trong mỗi phần tử. 4.1 Tổng quan về XML Chương 4. XML 4 - 16/ 4.1.2 Cấu trúc một tài liệu XML - Phần tử  Để gán giá trị cho thuộc tính, thường dùng dấu “=”. Ví dụ city = "Bedford". Ví dụ: A Thousand Splendid Suns Khaled Hosseini 4.1 Tổng quan về XML Chương 4. XML 4 - 17/ 4.1.2 Cấu trúc một tài liệu XML - Phần tử rỗng là phần tử không kèm theo dữ liệu  chỉ có duy nhất một thẻ.  chỉ cần thẻ bắt đầu, không cần thẻ kết thúc.  Ký hiệu thẻ  tất cả thông tin được lưu trữ trong các thuộc tính. 4.1 Tổng quan về XML Chương 4. XML 4 - 18/ 4.1.2 Cấu trúc một tài liệu XML - Phần tử rỗng Ví dụ: đặc tả thông tin về Jane 270 Burlington Road Bedford MA 01730 4.1 Tổng quan về XML Chương 4. XML 4 - 19/ 4.1.2 Cấu trúc một tài liệu XML - Một số quy tắc cho phần tử  Mỗi thẻ bắt đầu phải có thẻ kết thúc, hoặc thẻ đóng  Các thẻ không được chồng gối lên nhau  Mỗi tài liệu XML có duy nhất một phần tử gốc  Tên của phần tử phải tuân theo quy ước đặt tên của XML  Phân biệt chữ hoa, chữ thường  Các phần tử lồng nhau là cấu trúc quan trọng trong XML 4.1 Tổng quan về XML Chương 4. XML 4 - 20/ 4.1.2 Cấu trúc một tài liệu XML - Quy tắc đặt tên phần tử  bắt đầu bằng các ký tự hay dấu ”_”, không được bắt đầu bằng số hay dấu câu  sau ký tự đầu tiên, có thể dùng số, “-“ và “.”  không được chứa khoảng trống, dấu hai chấm “:”  không được bắt đầu bởi nhóm ký tự “xml”  không được chứa ký tự trống ngay sau dấu mở “<”, nhưng có thể chứa ký tự trống ngay trước dấu đóng “>” 4.1 Tổng quan về XML Chương 4. XML 4 - 21/ 4.1.2 Cấu trúc một tài liệu XML Ví dụ: đặc tả thông tin về Jane Jane Smith <address street = "270 Burlington Road" city = "Bedford" state = "MA 01730" /> 4.1 Tổng quan về XML Chương 4. XML 4 - 22/ 4.1.2 Cấu trúc một tài liệu XML - Chú thích:  có thể xuất hiện bất cứ đâu trong văn bản  bắt đầu bằng “”  không thể chứa một dấu nối kép “—”  chú thích có thể chứa bất cứ nội dung gì Ví dụ: 4.1 Tổng quan về XML Chương 4. XML 4 - 23/ 4.1.2 Cấu trúc một tài liệu XML - Hướng dẫn xử lý: đánh dấu cho một đoạn mã riêng biệt Ví dụ: Trong ví dụ này, thuộc tính type="sql" chỉ cho Cocoon biết văn bản XML chứa một lệnh SQL. 4.1 Tổng quan về XML Chương 4. XML 4 - 24/ 4.1.3 Tài liệu XML hợp khuôn dạng, hợp lệ - Một tài liệu XML được xem là hợp khuôn dạng nếu:  đảm bảo những quy tắc cú pháp thiết lập cho XML bởi tổ chức W3C (XML 1.0 - các luật về thẻ, phần tử, thuộc tính, giá trị,…)  nói cách khác tài liệu XML hợp khuôn dạng là tài liệu XML có cấu trúc đúng. 4.1 Tổng quan về XML Chương 4. XML 4 - 25/ 4.1.3 Tài liệu XML hợp khuôn dạng, hợp lệ - Để hợp khuôn dạng, tài liệu XML phải đúng các luật sau đây:  Có một phần tử gốc duy nhất, chứa tất cả phần tử khác  Mỗi thẻ mở phải có một thẻ đóng giống như nó  Mỗi phần tử con nằm trọn bên trong phần tử cha của nó  Giá trị thuộc tính trong XML phải được đặt giữa một cặp ngoặc kép hay một cặp ngoặc đơn. 4.1 Tổng quan về XML Chương 4. XML 4 - 26/ 4.1.3 Tài liệu XML hợp khuôn dạng, hợp lệ - Tài liệu xml hợp lệ khi nó là tài liệu được kết hợp với định nghĩa kiểu dữ liệu (DTD) và tuân theo các chuẩn của DTD. - Hầu hết các trình duyệt kiểm tra tính hợp khuôn dạng trước. Tiếp theo một vài trình duyệt có thể kiểm tra thêm tính hợp lệ của tài liệu xml. 4.1 Tổng quan về XML Chương 4. XML 4 - 27/ 4.1.4 Kiểu dữ liệu XML có hai nhóm kiểu dữ liệu là kiểu ghép và kiểu cơ bản  Kiểu ghép là kiểu chứa các phần tử con trong nó hoặc chứa thêm thuộc tính  Kiểu cơ bản là các kiểu nội tại đã được định nghĩa sẵn 4.1 Tổng quan về XML Chương 4. XML 4 - 28/ 4.1.4 Kiểu dữ liệu - Kiểu cơ bản 4.1 Tổng quan về XML Binary Kiểu dữ liệu nhị phân Boolean Kiểu luận lý. Byte Kiểu byte. Decimal Kiểu thập phân. Double Kiểu số thực 64-bit String Kiểu chuỗi. Date Kiểu ngày. Month Kiểu tháng (ví dụ 4, 6). Century Kiểu thế kỷ (ví dụ 20). Chương 4. XML 4 - 29/ 4.1.4 Kiểu dữ liệu - Kiểu cơ bản 4.1 Tổng quan về XML Int, integer Kiểu số nguyên. Id Kiểu định danh. Entity Kiểu thực thể. Entities Kiểu đa thực thể. Idref Kiểu tham chiếu định danh. Notation Kiểu ghi chú. NMToken Kiểu Token đơn. NMTokensKiểu đa Token. Chương 4. XML 4 - 30/ 4.1.4 Kiểu dữ liệu - Kiểu ghép cấu trúc gồm có hai hay nhiều kiểu dữ liệu đơn giản lập trình viên có thể tự định nghĩa các kiểu dữ liệu này.. 4.1 Tổng quan về XML Chương 4. XML 4 - 31/ 4.2.1 Định nghĩa dữ liệu định nghĩa kiểu dữ liệu (Data Type Definition – DTD) là định nghĩa kiểu dữ liệu cho các phần tử  DTD mô tả các quy tắc cấu trúc của tài liệu  Liệt kê các phần tử, thuộc tính và các thực thể có thể được sử dụng trong tài liệu  Cấu trúc của DTD phân cấp theo dạng hình cây  DTD phải theo cú pháp qui định của W3C  Có hai loại DTD (Nội và ngoại) 4.2 Định nghĩa kiểu dữ liệu - DTD Chương 4. XML 4 - 32/ 4.2.1 Định nghĩa dữ liệu - Khai báo DTD thường đặt ở phần đầu của tài liệu <! DOCTYPE Root-name[DTD] . . > Ví dụ Khai báo DTD lưu trữ toàn bộ thông tin của một Email 4.2 Định nghĩa kiểu dữ liệu - DTD Chương 4. XML 4 - 33/ 4.2 Định nghĩa kiểu dữ liệu - DTD <!DOCTYPE EMAIL [ ]> Smith@gmail.com John@yahoo.com peter@hotmail.com Play a game We have a game on this Sunday. Chương 4. XML 4 - 34/ 4.2.1 Định nghĩa dữ liệu Khi khai báo một phần tử có khả năng chứa nhiều phần tử con  chúng ta phải lặp lại khai báo  sử dụng các ký tự đại diện (*) Ví dụ: <!DOCTYPE EMAILS [ ]> 4.2 Định nghĩa kiểu dữ liệu - DTD Chương 4. XML 4 - 35/ 4.2.1 Định nghĩa dữ liệu Một số nguyên tắc sử dụng ký tự đại diện Giả sử a, b là hai phần tử con muốn khai báo và định nghĩa  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?: Phần tử a hoặc không có phần tử nào cả  a, b: Phần tử a tiếp đến là phần tử b  a|b: Phần tử a hoặc b nhưng không được cả hai  (expresstion) Tập các phần tử expresstion trong cặp ngoặc sẽ ảnh hưởng bởi ký tự đại diện *, + hoặc ?. 4.2 Định nghĩa kiểu dữ liệu - DTD Chương 4. XML 4 - 36/ 4.2.1 Định nghĩa dữ liệu một DTD có thể chứa các thành phần sau:  ELEMENT Định nghĩa một phần tử  ATTRIBUTE Định nghĩa một thuộc tính của một ELEMENT  ENTITY Định nghĩa một thực thể  NOTATION Định nghĩa chú thích  #PCDATA Chứa dữ liệu văn bản.. 4.2 Định nghĩa kiểu dữ liệu - DTD Chương 4. XML 4 - 37/ 4.2.1 Định nghĩa dữ liệu - Phần tử phần tử có thể chứa dữ liệu, phần tử con hoặc thuộc tính  name là tên phần tử;  content_mode có thể là EMPTY, ANY hoặc cả hai  ANY: phần tử có thể chứa bất kỳ kiểu nội dung nào kể cả phần tử khác, trình phân tích sẽ không kiểm tra cú pháp hay xác định tính hợp lệ của nội dung phần tử 4.2 Định nghĩa kiểu dữ liệu - DTD Chương 4. XML 4 - 38/ 4.2.1 Định nghĩa dữ liệu - Phần tử  EMPTY: Khai báo phần tử rỗng  phần tử không mang nội dung nhưng có quyền mang giá trị cho thuộc tính. Ví dụ: .. 4.2 Định nghĩa kiểu dữ liệu - DTD Chương 4. XML 4 - 39/ 4.2.1 Định nghĩa dữ liệu - Thuộc tính Thuộc tính chứa thông tin về phần tử hay nội dung của phần tử.  element là tên của phần tử  attribute là tên thuộc tính  type là kiểu dữ liệu  default giá trị mặc định 4.2 Định nghĩa kiểu dữ liệu - DTD Chương 4. XML 4 - 40/ 4.2.1 Định nghĩa dữ liệu - Thuộc tính Ví dụ: 4.2 Định nghĩa kiểu dữ liệu - DTD <!DOCTYPE DOCUMENT [ .. Chương 4. XML 4 - 41/ 4.2.1 Định nghĩa dữ liệu - #PCDATA (Parsed Character Data) Khai báo phần tử chứa dữ liệu văn bản thô, không định dạng Ví dụ: 4.2 Định nghĩa kiểu dữ liệu - DTD <!DOCTYPE DOCUMENT [ ]> Sam Smith Chương 4. XML 4 - 42/ 4.2.1 Định nghĩa dữ liệu - #PCDATA (Parsed Character Data) Ví dụ sau đây là không hợp lệ vì phần #PCDATA chứa phần tử: 4.2 Định nghĩa kiểu dữ liệu - DTD <!DOCTYPE DOCUMENT [ ]> Sam Smith Lousy Chương 4. XML 4 - 43/ 4.2.1 Định nghĩa dữ liệu - #PCDATA (Parsed Character Data) Có thể định nghĩa một DTD vừa có khả năng chứa dữ liệu thuần text vừa chứa dữ liệu thể hiện phần định dạng (kiểu nội dung hỗn hợp) Ví dụ: 4.2 Định nghĩa kiểu dữ liệu - DTD <!DOCTYPE DOCUMENT [ .. ]> .. Chương 4. XML 4 - 44/ 4.2.1 Định nghĩa dữ liệu - DTD ngoại dựa trên các DTD đã được định nghĩa sẵn (tệp tin .dtd) ứng dụng XML có thể chia sẻ và dùng chung với ứng dụng khác Có hai cách tham chiếu ngoại: Tham chiếu ngoại riêng (Private DTDs) và tham chiếu ngoại chung (Public DTDs).. 4.2 Định nghĩa kiểu dữ liệu - DTD Chương 4. XML 4 - 45/ 4.2.1 Định nghĩa dữ liệu - DTD ngoại dùng riêng  tham chiếu ngoại riêng được sử dụng cho một nhóm người và mang tính cá nhân.  khai báo tham chiếu ngoại riêng bằng cách sử dụng từ khóa SYSTEM trong chỉ thị khai báo . 4.2 Định nghĩa kiểu dữ liệu - DTD Chương 4. XML 4 - 46/ 4.2.1 Định nghĩa dữ liệu - DTD ngoại dùng riêng Ví dụ: 4.2 Định nghĩa kiểu dữ liệu - DTD Sam Smith 15 Tomatoes Chương 4. XML 4 - 47/ 4.2.1 Định nghĩa dữ liệu - DTD ngoại dùng riêng Tệp tin order.dtd như sau: 4.2 Định nghĩa kiểu dữ liệu - DTD .. Chương 4. XML 4 - 48/ 4.2.1 Định nghĩa dữ liệu - DTD ngoại dùng chung  sử dụng từ khóa PUBLIC vào khai báo  cần phải tạo ra một định danh chung hình thức (FPI – Formal Public Identifier) và tuân theo một số qui tắc cho FPI - Trường đầu tiên của FPI xác định kết nối DTD đến một chuẩn hình thức Đối với các DTD do chúng ta tự định nghĩa, trường này sẽ là một ký tự chấm (.). Đối với các chuẩn hình thức, trường này sẽ tự tham chiếu đến chuẩn của nó (ví dụ như ISO/IEC:13449:2000). 4.2 Định nghĩa kiểu dữ liệu - DTD Chương 4. XML 4 - 49/ 4.2.1 Định nghĩa dữ liệu - DTD ngoại dùng chung - Trường thứ hai phải nắm giữ tên nhóm hoặc của người sẽ chịu trách nhiệm bảo trì và nâng cấp các định nghĩa DTD. phải sử dụng tên mang tính duy nhất và có thể dễ dàng định danh ra nhóm của chúng ta (ví dụ như w3c). - Trường thứ ba chỉ định kiểu của tài liệu được môt tả, thường thì trường này kèm theo một số định danh duy nhất nào đó (chẳng hạn như version 1.0). -Trường thứ tư chỉ định ngôn ngữ mà định nghĩa DTD sử dụng (ví dụ với tiếng Anh chúng ta dùng là EN). Các trường trong FPI cách nhau bằng cặp dấu sổ trái (//). 4.2 Định nghĩa kiểu dữ liệu - DTD Chương 4. XML 4 - 50/ 4.2.1 Định nghĩa dữ liệu Ví dụ: 4.2 Định nghĩa kiểu dữ liệu - DTD <!DOCTYPE DOCUMENT PUBLIC ".//viethanit//Custom XML Version 1.0//EN" ""> Sam Smith 15 Tomatoes .. Chương 4. XML 4 - 51/ 4.2.1 Định nghĩa dữ liệu - Sử dụng DTD với URLs  chúng ta có thể chỉ định tệp tin tham chiếu theo địa chỉ tuyệt đối Internet URLs. Ví dụ: 4.2 Định nghĩa kiểu dữ liệu - DTD Sam Smith 15 Tomatoes .. Chương 4. XML 4 - 52/ 4.2.1 Định nghĩa dữ liệu - Sử dụng chung tham chiếu nội và tham chiếu ngoại khai báo: 4.2 Định nghĩa kiểu dữ liệu - DTD Chương 4. XML 4 - 53/ 4.2.1 Định nghĩa dữ liệu - Sử dụng chung tham chiếu nội và tham chiếu ngoại Ví dụ: Nội dung order.dtd đã loại bỏ phần tử 4.2 Định nghĩa kiểu dữ liệu - DTD Chương 4. XML 4 - 54/ 4.2.1 Định nghĩa dữ liệu - Sử dụng chung tham chiếu nội và tham chiếu ngoại Nội dung của tài liệu 4.2 Định nghĩa kiểu dữ liệu - DTD [ ]> Sam Smith 15 Tomatoes .. Chương 4. XML 4 - 55/ 4.2.2 Thực thể thực thể là cách XML tham chiếu đến một mục dữ liệu  khai báo thực thể trong phần định nghĩa DTD  sử dụng bằng cách tham chiếu đến nó trong tài liệu  Có 2 loại thực thể là tổng quát và tham số  Tham chiếu thực thể tổng quát bắt đầu bằng ký tự “&” và kết thúc bằng ký tự “;”  Tham chiếu thực thể tham số bắt đầu bằng ký tự “%” và kết thúc bằng ký tự “;”. 4.2 Định nghĩa kiểu dữ liệu - DTD Chương 4. XML 4 - 56/ 4.2.2 Thực thể  thực thể nội được định nghĩa hoàn toàn trong tài liệu tham chiếu đến nó.  Thực thể ngoại là thực thể được định nghĩa từ bên ngoài và được tham chiếu đến chúng bằng địa chỉ URL hoặc URI  XML có năm thực thể tổng quát được định nghĩa sẵn: 4.2 Định nghĩa kiểu dữ liệu - DTD Chương 4. XML 4 - 57/ 4.2.2 Thực thể 4.2 Định nghĩa kiểu dữ liệu - DTD Thực thể Đại diện < < > > & & ' ‘ " " Chương 4. XML 4 - 58/ 4.2.2 Thực thể Khai báo và định nghĩa một thực thể tổng quát name là tên thực thể definition là định nghĩa của thực thể Ví dụ: định nghĩa một thực thể tổng quát tên TODAY biểu diễn ngày tháng là chuỗi “August 22, 2009” 4.2 Định nghĩa kiểu dữ liệu - DTD Chương 4. XML 4 - 59/ 4.2.2 Thực thể 4.2 Định nghĩa kiểu dữ liệu - DTD <!DOCTYPE DOCUMENT [ ]> Chương 4. XML 4 - 60/ 4.2.2 Thực thể Nội dung tài liệu xml: 4.2 Định nghĩa kiểu dữ liệu - DTD Sam Smith 15 &TODAY; Tomatoes … Chương 4. XML 4 - 61/ 4.2.2 Thực thể Kết quả: 4.2 Định nghĩa kiểu dữ liệu - DTD Chương 4. XML 4 - 62/ 4.2.2 Thực thể - Lưu ý: chúng ta có thể tạo các thực thể tổng quát lồng nhau Ví dụ: Tuy nhiên ta không thể định nghĩa các thực thể theo kiểu tham chiếu vòng. Ví dụ: 4.2 Định nghĩa kiểu dữ liệu - DTD <!ENTITY NAME “Bill Gate” .. Chương 4. XML 4 - 63/ 4.2.2 Thực thể thực thể tổng quát không thể sử dụng khai báo DTD chúng ta phải sử dụng thực thể tham số trong DTD.. 4.2 Định nghĩa kiểu dữ liệu - DTD Chương 4. XML 4 - 64/ 4.2.2 Thực thể Thực thể tổng quát ngoại khai báo các thực thể ngoại bằng từ khóa SYSTEM hoặc PUBLIC Ví dụ: thực thể mang tên TODAY kết nối với “October 15, 2001” trong file dữ liệu date.xml 4.2 Định nghĩa kiểu dữ liệu - DTD Chương 4. XML 4 - 65/ 4.2.2 Thực thể 4.2 Định nghĩa kiểu dữ liệu - DTD <!DOCTYPE DOCUMENT [ ]> Sam Smith 15 &TODAY; … Chương 4. XML 4 - 66/ 4.2.2 Thực thể - Xây dựng tài liệu XML từ các phần nguồn khác nhau Sử dụng thực thể ngoại để nhúng dữ liệu từ các tài liệu khác vào tài liệu xml. ví dụ: thực thể data tham chiếu đến nội dung file data.xml. File data.xml chứa hầu hết nội dung còn lại của tài liệu xml. File gốc và file data.xml như sau: 4.2 Định nghĩa kiểu dữ liệu - DTD Chương 4. XML 4 - 67/ 4.2.2 Thực thể 4.2 Định nghĩa kiểu dữ liệu - DTD <!DOCTYPE DOCUMENT [ ]> &data; Chương 4. XML 4 - 68/ 4.2.2 Thực thể Dưới đây là nội dung file data.xml 4.2 Định nghĩa kiểu dữ liệu - DTD Sam Smith 15 August 22, 2009 Tomatoes John 16 August 22, 2009 Apple Chương 4. XML 4 - 69/ 4.2.2 Thực thể - Tham chiếu thực thể tổng quát được định nghĩa trước Chúng ta có thể tự định nghĩa các thực thể của riêng mình tham chiếu đến những ký tự do ta qui định. Phải xác định chính xác mã ký tự chúng ta muốn sử dụng. Ví dụ trong mã UTF-8 ký tự @ có mã là #64 Ví dụ: Ví dụ định nghĩa lại 5 thực thể dựng sẵn trong xml 4.2 Định nghĩa kiểu dữ liệu - DTD Chương 4. XML 4 - 70/ 4.2.2 Thực thể 4.2 Định nghĩa kiểu dữ liệu - DTD <!DOCTYPE TEXT [ ]> This is about the "_new; S&_new; O railroad"_new; is the <_new;TEXT>_new; Element&apos_new;s content. .. Chương 4. XML 4 - 71/ 4.2.2 Thực thể - Tạo thực thể tham số nội (internal parameter Entities)  không thể dùng thực thể tổng quát trong khai báo DTD  cần sử dụng thực thể tham số trong khai báo DTD. 4.2 Định nghĩa kiểu dữ liệu - DTD Chương 4. XML 4 - 72/ 4.2.2 Thực thể Ví dụ: 4.2 Định nghĩa kiểu dữ liệu - DTD <!DOCTYPE DOCUMENT [ "> %BR; ]>.. Chương 4. XML 4 - 73/ 4.2.2 Thực thể - Ví dụ thực thể tham số ngoại File order.dtd được định nghĩa trước chứa DTD 4.2 Định nghĩa kiểu dữ liệu - DTD Chương 4. XML 4 - 74/ 4.2.2 Thực thể 4.2 Định nghĩa kiểu dữ liệu - DTD Sam Smith 17/8/2009 15 Tomatoes Jones 17/8/2009 16 Apple .. Chương 4. XML 4 - 75/ 4.2.2 Thực thể - Sử dụng INCLUDE và IGNORE  INCLUDE và IGNORE thường được sử dụng chung với các thực thể tham số  include để thêm vào các đoạn định nghĩa DTD  ignore bỏ qua các đoạn định nghĩa DTD 4.2 Định nghĩa kiểu dữ liệu - DTD Chương 4. XML 4 - 76/ 4.2.2 Thực thể - Sử dụng INCLUDE và IGNORE Ví dụ: 4.2 Định nghĩa kiểu dữ liệu - DTD &l