Đăng ký Đăng nhập

Tài liệu Giáo trình XML

.PDF
69
712
123

Mô tả:

Mục Lục Mục Lục ..................................................................................................................................... 1 Chương 1 TỔNG QUAN CÔNG NGHỆ XML ...................................................................... 4 I. Khái niệm về tài liệu XML ............................................................................................ 4 I.1. Khái niệm về XML ................................................................................................. 4 I.2. Phân biệt XML & HTML ....................................................................................... 4 I.3. Điều XML không làm ............................................................................................. 4 I.4. Mở rộng các thẻ XML của chính người dùng ........................................................ 5 I.5. XML không phải là chuẩn thay thế HTML ............................................................ 5 Quy định về chuẩn XML ............................................................................................... 5 II. II.1. Quy định 1 : Hệ thống các thẻ đánh dấu ................................................................. 5 II.2. Quy định 2 : Quan hệ lồng nhau (chứa trong) giữa các thẻ nội dung ..................... 6 II.3. Quy định 3 : Thẻ đánh dấu gốc ............................................................................... 6 III. Tổng quan công nghệ XML ....................................................................................... 7 III.1. Khái niệm công nghệ XML................................................................................... 7 III.2. Một số ứng dụng của công nghệ XML ................................................................. 9 Chương 2 CẤU TRÚC TÀI LIỆU XML............................................................................... 12 I. Cấu trúc cây XML (XML Tree Syntax)....................................................................... 12 I.1. Cây XML (XML Tree) ......................................................................................... 12 I.2. Các quy định về cấu trúc cây XML ...................................................................... 14 II. Các thành phần XML (XML Elements) ...................................................................... 15 II.1. Khái niệm.............................................................................................................. 16 II.2. Quy định đặt tên.................................................................................................... 16 II.3. Mở rộng các thành phần XML ............................................................................. 17 III. Thuộc tính của thành phần XML (Attribute) ........................................................... 17 III.1. Giá trị của thuộc tính phải được đặt trong dấu nháy ........................................... 17 III.2. Thành phần XML và Thuộc Tính ....................................................................... 18 III.3. Thuộc tính được dùng cho metadata (siêu dữ liệu) ............................................. 18 IV. XML Namespace ...................................................................................................... 19 IV.1. Vấn đề xung đột tên thành phần XML ................................................................ 19 IV.2. Giải quyết xung đột ............................................................................................. 20 IV.3. XML Namespace ................................................................................................. 20 IV.4. Namespace mặc định ........................................................................................... 21 IV.5. Ứng dụng ............................................................................................................. 22 Chương 3 ĐẶC TẢ NỘI DUNG & CẤU TRÚC TÀI LIỆU XML ...................................... 23 I. Nội dung và cấu trúc tài liệu XML .............................................................................. 23 I.1. Nội dung tài liệu XML ......................................................................................... 23 I.2. Cấu trúc tài liệu XML ........................................................................................... 24 Đặc tả nội dung tài liệu XML ...................................................................................... 27 II. II.1. Sử dụng thẻ thực thể ............................................................................................. 27 II.2. Sử dụng tên ........................................................................................................... 29 Đặc tả cấu trúc tài liệu XML .................................................................................... 31 III. III.1. Ngôn ngữ đặc tả DTD ......................................................................................... 31 III.2. Ngôn ngữ đặc tả XML Schemas ......................................................................... 39 Chương 4 TRUY XUẤT TÀI LIỆU VỚI DOM (DOCUMENT OBJECT MODEL) .......... 51 Mô hình đối tượng DOM ............................................................................................. 51 I. I.1. Mô hình đối tượng DOM ...................................................................................... 51 I.2. Khái niệm về DOM .............................................................................................. 53 I.3. Hệ thống các đối tượng của DOM ........................................................................ 53 II. Các kỹ thuật lập trình với DOM .................................................................................. 56 II.1. Đọc tài liệu XML .................................................................................................. 56 II.2. Ghi tài liệu XML .................................................................................................. 57 II.3. Đọc đối tượng từ tập tin XML .............................................................................. 58 II.4. Ghi đối tượng vào tập tin XML ............................................................................ 60 II.5. Thể hiện cây đối tượng ......................................................................................... 62 III. Ngôn ngữ XPath ....................................................................................................... 62 Chương 5 BIẾN ĐỔI TÀI LIỆU XML VỚI XSLT .............................................................. 69 I. Giới thiệu về XSLT ...................................................................................................... 69 I.1. Cấu trúc chương trình XSLT ................................................................................ 69 I.2. Thực thi chương trình XSLT ................................................................................ 69 I.3. Các ví dụ minh hoạ ............................................................................................... 69 Các thao tác xử lý cơ bản ............................................................................................. 69 II. II.1. Rút trích và kết xuất thông tin .............................................................................. 69 II.2. Rẽ nhánh ............................................................................................................... 69 II.3. Vòng lặp................................................................................................................ 69 II.4. Hàm....................................................................................................................... 69 III. Các kỹ thuật xử lý .................................................................................................... 69 III.1. XML  HTML................................................................................................... 69 III.2. XML  XML ..................................................................................................... 69 Giáo trình ngôn ngữ XML Chương 1 TỔNG QUAN CÔNG NGHỆ XML I. Khái niệm về tài liệu XML I.1. Khái niệm về XML  XML là viết tắt của eXtensible Markup Language, là một ngôn ngữ đánh dấu mở rộng (giống HTML).  XML được thiết kế để mang và lưu trữ dữ liệu, không trình bày dữ liệu.  Các thẻ của XML không được định nghĩa trước. Người sử dụng tự định nghĩa các thẻ của chính mình.  XML được thiết kế để tự miêu tả chính nó.  Văn bản có cấu trúc theo định dạng chuẩn XML cho phép biểu diễn thông tin về các đối tượng trong thực tế. o Đối tượng x thuộc loại X trong thực tế => thẻ X trong tài liệu XML o Thuộc tính của đỗi tượng x thuộc loại X trong thực tế => thuộc tính a của thẻ X trong tài liệu XML. o Ví dụ 1: phân số 4/5 trong thực tế  thẻ o Ví dụ 2: dãy số nguyên bao gồm các số 1, 4, 5, -3  thẻ I.2. Phân biệt XML & HTML XML không phải là một sự thay thế cho HTML. XML và HTML được thiết kế với 2 mục đích khác nhau :  XML được thiết kế để vận chuyển và lưu trữ dữ liệu, tập trung vào việc xác định dữ liệu là cái gì. XML có thể được ứng dụng trong mọi loại ứng dụng như : Winform, webform, mobile, service...  HTML được thiết kế để trình bày dữ liệu, tập trung việc dữ liệu được trình bày, trông như thế nào. HTML chỉ được dùng trong các ứng dụng web và để trình bày, định dạng dữ liệu, thông tin trong các ứng dụng web. HTML là về thể hiện thông tin, XML là về mang và chứa thông tin. I.3. Điều XML không làm Có một chút khó khăn để hiểu XML không làm điều điều gì. XML được tạo để xây dựng cấu trúc, lưu trữ và vận chuyển dữ liệu. Biên soạn Nguyễn Minh Thành 4 Giáo trình ngôn ngữ XML Xét ví dụ về một ghi chú gửi cho Tove từ Jani được lưu trữ bằng XML như sau: Tove Jani Reminder Don't forget me this weekend! Ghi chú trên đã tự miêu tả khá rõ về về nó. Ghi chú có thông tin người gửi (from), người nhận (to) và cũng có cả tiêu đề (heading) và nội dung (body). Tuy nhiên, văn vản XML không làm bất cứ điều gì khác ngoài việc chỉ bao phủ dữ liệu bởi các thẻ (tags). Người sử dụng phải viết các ứng dụng để gửi, nhận hoặc trình bày nó. I.4. Mở rộng các thẻ XML của chính người dùng Các thẻ trong ví dụ note ở trên như , không được định nghĩa trong chuẩn của XML. Những thẻ này được tạo bởi chính tác giả của văn XML đó. Chính vì ngôn ngữ XML không định nghĩa các thẻ trước, do đó người sử dụng có thể tự định nghĩa các thẻ riêng của minh. Trong khi đó, các thẻ của ngôn ngữ HTML được định nghĩa trước. Trong các văn bản HTML chỉ được sử dụng các thẻ được định nghĩa trong chuẩn của HTML. Vd : thẻ

,

... I.5. XML không phải là chuẩn thay thế HTML XML là một sử bổ sung cho HTML. Điều quan trọng phải hiểu là XML không phải là một sự thay thế HTML. Trong hầu hết các ứng dụng (đặc biệt là ứng dụng web), XML được sử dụng để mang chuyển và lưu trữ dữ liệu, trong khi đó HTML được sử dụng trong các ứng dụng web để định dạng và trình bày, thể hiện dữ liệu. Một phát biểu miêu tả tốt nhất cho XML là : “XML là một công cụ độc lập với phần cứng và phần mềm để mang dữ liệu.” Ngày nay, ngôn ngữ XML được sử dụng ở đầu hết các ứng dụng đặc biệt là các ứng dụng website. II. Quy định về chuẩn XML II.1. Quy định 1 : Hệ thống các thẻ đánh dấu Các thẻ đánh dấu trong ngôn ngữ theo định dạng chuẩn XML chỉ bao gồm 2 loại thẻ: thẻ có nội dung và thẻ rỗng. Thẻ có nội dung có dạng : nội dung Các thẻ rỗng có dạng : Các thẻ có thể có (hoặc không) các thuộc tính với tên khác nhau trong cùng thẻ. Thuộc tính của một thẻ có dạng : Tên_thuộc_tính="giá trị" Biên soạn Nguyễn Minh Thành 5 Giáo trình ngôn ngữ XML Hay Tên_thuộc_tính=ˈgiá trịˈ Ví dụ : với tài liệu XML thể hiện đối tượng đường tròn bán kính R=5, tâm O(4,2) Trong ví dụ trên : II.2. - Thẻ có nội dung là thẻ DUONG_TRON - Thẻ rỗng là thẻ DIEM - Thẻ DUONG_TRON có 1 thuộc tính là Ban_kinh - Thẻ DIEM có 2 thuộc tính x, y. Quy định 2 : Quan hệ lồng nhau (chứa trong) giữa các thẻ nội dung Nội dung bên trong thẻ có nội dung có thể là các thẻ khác (có nội dung hay rỗng). Khi thẻ A có nội dung là thẻ B ta gọi : Thẻ A là cha của thẻ B, thẻ A chứa thẻ B Thẻ B là con của thẻ A, thẻ B được chứa trong thẻ A Quy định 2 yêu cầu các thẻ với quan hệ lồng nhau hoàn toàn. Khi thẻ A là thẻ cha của thẻ B, A phải chứa phần bắt đầu và phần kết thúc của thẻ B. Ví dụ : Thẻ A là cha của thẻ B với dạng lồng nhau hoàn toàn (hợp lệ) ..... Thẻ A là cha của thẻ B với dạng lồng nhau không hoàn toàn (không hợp lệ) ..... II.3. Quy định 3 : Thẻ đánh dấu gốc Quy định 3 yêu cầu tài liêu XML phải có duy nhất (một và chỉ một) thẻ chứa (trực tiếp hay gián tiếp) tất cả các thẻ còn lại (nếu có). Ví dụ : tài liệu XML biểu diễn thông tin 2 đường tròn là không hợp lệ vì không có thẻ gốc. Biên soạn Nguyễn Minh Thành 6 Giáo trình ngôn ngữ XML III. Tổng quan công nghệ XML III.1. Khái niệm công nghệ XML Công nghệ thông tin III.1.1.  Ngành khoa học nghiên cứu về việc xây dựng các hệ thống tin học tương ứng với hệ thống thực tế.  Ngành khoa học nghiên cứu về việc biểu diễn và xử lý thông tin của hệ thống tin học tương ứng với các thông tin và nghiệp vụ của hệ thống thực tế.  Hai hướng nghiên cứu chính trong Công Nghệ Thông Tin o Công nghệ phần cứng o Công nghệ phần mềm  Công nghệ xử lý thông tin  Một trong các hướng nghiên cứu chính của công nghệ phần mềm.  Ngành khoa học nghiên cứu về các mô hình, phương pháp, kỹ thuật thông tin.  Các mô hình xử lý chính trong công nghệ thông tin : xử lý o Thủ tục / Hàm o Đơn thể o Đối tượng o Thành phần o Dịch vụ o ...  Công nghệ biểu diễn thông tin  Một trong các hướng nghiên cứu chính của công nghệ phần mềm.  Ngành khoa học nghiên cứu về các mô hình, phương pháp, kỹ thuật biểu diễn thông tin.  Các mô hình biểu diễn chính trong công nghệ thông tin :  Tập tin (file) : thông tin lưu giữ trên bộ nhớ phụ.  Cơ sở dữ liệu (Database) : Thông tin lưu giữ trên bộ nhớ phụ.  Cấu trúc dữ liệu (Data structure) : thông tin xử lý trong bộ nhớ chính.  Trang web (web page) : thông tin thể hiện.  Luồng dữ liệu (Data stream) : thông tin trao đổi nội bộ bên trong một hệ thống tin học hay giữa các hệ thống tin học. Công nghệ XML III.1.2.  Thuộc loại công nghệ biểu diễn thông tin.  Hình thành từ nhu cầu và vấn đề cần giải quyết của việc trao đổi thông tin.  Có phạm vi nghiên cứu và ứng dụng trên tất cả các mô hình biểu diễn của công nghệ biểu diễn thông tin. Biên soạn Nguyễn Minh Thành 7 Giáo trình ngôn ngữ XML  Có hướng nghiên cứu cho phép ứng dụng một mô hình xử lý thông tin mới thuộc về công nghệ xử lý thông tin.  Nhu cầu trao đổi thông tin a. Trao đổi thông tin nội bộ bên trong hệ thống tin học Sự phát triển về quy mô, độ phức tạp, phạm vi sử dụng của các hệ thống tin học dẫn đến sự phân rã hệ thống chính thành các hệ thống con (kiến trúc đa tầng là một ví dụ điển hình về sự phân rã)  nhu cầu trao đổi thông tin bên trong các hệ thống con. b. Trao đổi thông tin giữa các hệ thống tin học Sự ra đời và phát triển của Internet và các ứng dụng web, đặc biệt là các ứng dụng trong thương mại điện tử.  nhu cầu trao đổi thông tin giữa các ứng dụng này. Các yêu cầu cao về chất lượng phần mềm (tiện dụng, tương thích, bảo mật...) khả năng đáp ứng cao, chuyên biệt của một số hệ thống có sẵn (web browser, excel, word, fax...)  nhu cầu trao đổi thông tin giữa các hệ thống đang xây dựng và các hệ thống có sẵn.  Mô hình trao đổi thông tin Mô hình trao đổi thông tin trước khi XML ra đời chủ yếu là dựa trên công nghệ về luồng dữ liệu (Data Stream) với 2 dạng chính :  Dạng nhị phân : dữ liệu trao đổi là các chuỗi byte theo cấu trúc và ngữ nghĩa riêng biệt của từng ứng dụng.  Dạng văn bản : dữ liệu trao đổi là chuỗi các ký tự theo cách mã hoá chung nhưng cấu trúc và ngữ nghĩa vãn là riêng biệt cho từng ứng dụng. Cả 2 dạng trao đổi trên đều không thích hợp với các nhu cầu phía trên với cùng khuyết điểm “Thông tin trao đổi có cấu trúc và ngữ nghĩa riêng biệt cho từng ứng dụng”.  Nhu cầu về một định dạng chuẩn chung khi trao đổi thông tin.  Sự ra đời của công nghệ XML Công nghệ XML ra đời là kết quả của các nghiên cứu về dạng biểu diễn thông tin khi cần trao đổi giữa các hệ thống tin học. Dạng biểu diễn cần thoả mãn các yêu cầu sau:  Cho phép trao đổi trên phạm vi rộng (internet).  Dễ dàng trong việc kết xuất và tiếp nhận khi trao đổi.  Tuân theo một định dạng chuẩn chung được chấp nhận và hỗ trợ của nhiều môi trường phát triển phần mềm. Công nghệ XML đã ra đời và đề xuất một dạng biểu diễn thích hợp cho các hợp các yêu cầu trên (tài liệu XML). Tuy nhiên, với bản chất hình thành của mình, phạm vi ứng dụng của XML không chỉ dừng ở việc trao đổi thông tin mà bao hàm cả các vấn Biên soạn Nguyễn Minh Thành 8 Giáo trình ngôn ngữ XML đề biểu diễn thông tin khác như : lưu trữ thông tin, cấu trúc dữ liệu, thể hiện thông tin, v.v.. (chi tiết trong phần ứng dụng XML). III.2. Một số ứng dụng của công nghệ XML III.2.1. Trao đổi thông tin Trao đổi thông tin là xuất phát điểm cho sự hình thành của công nghệ XML. Trao đổi thông tin là ứng dụng chủ yếu nhất của XML. Có 2 dạng trao đổi thông tin chính :  Dạng 1 : trao đổi thông tin nội bộ giữa các thành phần của hệ thống tin học  Dạng 2 : trao đổi thông tin giữa các hệ thống tin học khác nhau XML có thể ứng dụng tốt cho cả 2 dạng trao đổi thông tin trên. Khi A có nhu cầu trao đổi thông tin với B Dạng 1 :  A, B là 2 thành phần bên trong của một hệ thống tin học (thành phần giao diện, xử lý hay lưu trữ).  Tài liệu XML được thiết kế cho việc sử dụng nội bộ. Dạng 2 :  A là hệ thống tin học đang xem xét.  B là hệ thống đã có trước với khả năng chuyên biệt nào đó.  A phải xử dụng tài liệu XML có cấu trúc do B đề xuất. Ví dụ : XML có thể được xử dụng để  Trao đổi thông tin giữa các tầng của một ứng dụng (được thiết kế theo kiến trúc đa tầng).  Trao đổi thông tin giữa một tầng với hệ thống khác bên ngoài. Cụ thể là  Sử dụng XML trao đổi thông tin giữa hệ thống lưu trữ (thông thường là hệ quản trị cơ sở dữ liệu, hay tập tin) và tầng xử lý dữ liệu.  Sử dụng XML trao đổi thông tin giữ tầng dữ liệu và tầng xử lý nghiệp vụ.  Sử dụng XML trao đổi thông tin giữa tầng xử lý nghiệp vụ và tầng thể hiện.  Sử dụng XML trao đổi thông tin giữa các tầng xử lý nghiệp vụ (khi hệ thống có nhiều tầng xử lý nghiệp vụ) III.2.2. Lưu trữ thông tin Có 3 cách ứng dụng chính của XML để lưu trữ dữ liệu bên trong hệ thống tin học  Cách 1 : chỉ sử dụng một tập tin XML để lưu trữ dữ liệu.  Cách 2 : một số dữ liệu lưu trữ dưới dạng tập tin XML, một số khách lưu trữ bên trong cơ sở dữ liệu.  Cách 3 : Lưu toàn bộ bên trong cơ sở dữ liệu, tài liệu XML được nhúng vào trong các bảng dữ liệu. Biên soạn Nguyễn Minh Thành 9 Giáo trình ngôn ngữ XML Ưu khuyết điểm của các cách ứng dụng XML.  Cách 1 :  Ưu điểm chính : không cần sự hỗ trợ của các hệ quả trị cơ sở dữ liệu.  dễ cài đặt, triển khai.  Khuyết điểm chính : tính hiệu quả không cao khi khối lượng dữ liệu lớn.  Nhận xét : các phần mềm trò chơi là ứng viên tốt nhất cho ứng dụng XML theo cách này. Các phần mềm quản lý không thích hợp cho cách ứng dụng này. Rất thích hợp cho các ứng dụng trên môi trường không có (hoặc chưa có) hệ quản trị CSDL như : điện thoại di động, máy công cụ...  Cách 2, 3 :  Ưu điểm chính : có thể kết hợp tốt ưu điểm của cả 2 mô hình lưu trữ thông tin : XML và cơ sở dữ liệu.  Khuyết điểm chính : cần có sự cân nhắc và quyết định đúng đắn loại thông tin nào sẽ dùng hình thức nào.  Nhận xét : cách 2 là cách xử dụng phổ biến nhất hiện nay. Cấu hình của hệ thống tin học (phân hệ ứng dụng) là loại thông tin thường được chọn để lưu trữ theo dạng tài liệu XML. Đặc biệt trong các ứng dụng web, XML và cơ sở dữ liệu được dùng để phân chia dữ liệu với các trang HTML. Và các thông tin cấu hình website, các dữ liệu nhỏ thường được lưu trữ trong các file XML. III.2.3. Cấu trúc dữ liệu Với mô hình DOM (sẽ được giới thiệu trong phần sau), ta có thể sử dụng ngôn ngữ XML như một cấu trúc dữ liệu động lưu trữ trong bộ nhớ chính với nhiều ưu điểm :  Đọc / ghi dễ dàng Các cấu trúc dữ liệu như mảng động (array), danh sách (list), ngăn xếp (stack), hàng đợi (queue), cây (tree)... có nhiều tính năng tốt trong việc biểu diễn và xử lý thông tin trong bộ nhớ chính. Trong việc đọc/ghi thông tin của các cấu trúc dữ liệu này từ/vào bộ nhớ phụ (thông thường thông qua tập tin) là không đơn giản và thường phải thực hiện gián tiếp với một bộ đọc ghi. Tài liệu XML có thể sử dụng để cài đặt hầu hết các cấu trúc dữ liệu động trên (với một số chức năng bổ sung vào DOM qua cơ chế kế thừa hay bao bọc của hướng đối tượng) và đặc biệt là đọc ghi dễ dàng. Vd : với ngôn ngữ C# Đọc tài liệu XML : tai_lieu.Load(Ten_tap_tin_XML); Ghi tài liệu XML : tai_lieu.Save(Ten_tap_tin_XML);  Khả năng truy vấn cao Việc truy vấn các thành phần hay tập hợp thành phần của các cấu trúc dữ liệu động phía trên thông thường phải thông qua các vòng lặp duyệt đến từng phần tử. Với tài liệu XML, có thể sử dụng ngôn ngữ truy vấn XPath để truy vấn đến thành phần hay tập hợp thành phần một cách dễ dàng (và thông thường cũng chỉ thông qua một lệnh đơn giản). Vd : với ngôn ngữ C#, giả sử có Tai_lieu tương ứng về cây các số nguyên. Để lập danh sách các nút (thành phần của cây) có giá trị dương.

- Xem thêm -

Tài liệu liên quan