Đăng ký Đăng nhập
Trang chủ Tích hợp cơ sở dữ liệu quan hệ và xml...

Tài liệu Tích hợp cơ sở dữ liệu quan hệ và xml

.PDF
74
215
137

Mô tả:

Vũ Thị Tuyết - CNTT LỜI CAM ĐOAN Tôi xin cam đoan, kết quả của luận văn là kết quả do bản thân tôi tự tìm hiểu, nghiên cứu và tổng hợp từ nhiều nguồn tài liệu khác nhau. Luận văn tốt nghiệp là kết quả của quá trình học tập, nghiên cứu và thực hiện hoàn toàn nghiêm túc, trung thực của bản than. Các tài liệu tham khảo được trích dẫn và chú thích đầy đủ. Thái Nguyên, ngày 15/10/2010. Người cam đoan Vũ Thị Tuyết LỜI CẢM ƠN Trước tiên tôi xin gửi lời cảm ơn chân thành nhất đến thầy PGS. TS Đoàn Văn Ban đã định hướng và nhiệt tình hướng dẫn, giúp đỡ tôi rất nhiều về mặt chuyên môn trong quá trình làm luận văn. Tôi xin gửi lời biết ơn sâu sắc đến các thầy, các cô đã dạy dỗ và truyền đạt những kinh nghiệm quý báu cho chúng tôi trong suốt hai năm học cao học tại khoa Công nghệ thông tin - Đại học Thái Nguyên. Tôi xin cảm ơn bạn bè, đồng nghiệp và gia đình, những người luôn gần gũi động viên, chia sẻ cùng tôi trong suốt thời gian làm luận văn tốt nghiệp. Thái Nguyên, tháng 11 năm 2010. i MỤC LỤC Trang Trang phụ bìa Lời cam đoan Lời cảm ơn MỤC LỤC .......................................................................................................... i DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT..................................... iii MỞ ĐẦU ........................................................................................................... 1 CHƢƠNG 1: TỔNG QUAN VỀ XML VÀ CƠ SỞ DỮ LIỆU QUAN HỆ .... 4 1.1 Tổng quan về XML ................................................................................. 4 1.1.2 Cấu trúc của tài liệu XML ................................................................. 4 1.1.2.1 Tài liệu XML .............................................................................. 4 1.1.2.2 Cấu trúc của tài liệu XML .......................................................... 5 1.1.3 Các thành phần cơ bản trong tài liệu XML ....................................... 6 1.1.4 Cấu trúc tài liệu XML hợp khuôn dạng .......................................... 11 1.1.5 Định nghĩa kiểu tài liệu DTD (Document Type Definition) .......... 13 1.1.6 Lƣợc đồ XML (XML schema) ........................................................ 15 1.1.7 Bảng định kiểu CSS (Cascading Style Sheet)................................. 16 1.1.8 Mô hình DOM (Document Object Model) ..................................... 18 1.1.9 Phân tích tài liệu XML theo mô hình DOM ................................... 20 1.2 Cơ sở dữ liệu quan hệ ............................................................................ 21 1.2.1 Cấu trúc cơ sở dữ liệu quan hệ ........................................................ 21 1.2.2 Ràng buộc toàn vẹn trên một cơ sở dữ liệu quan hệ ....................... 24 1.2.2.1 Định nghĩa................................................................................. 24 1.2.2.2 Các yếu tố của ràng buộc toàn vẹn ........................................... 24 1.2.3 Chuẩn hóa một cơ sở dữ liệu quan hệ ............................................. 25 1.3 Kết luận ................................................................................................. 27 CHƢƠNG 2: TÍCH HỢP CÁC HỆ THỐNG CƠ SỞ DỮ LIỆU QUAN HỆ VÀ XML ......................................................................................................... 28 2.1 Phƣơng pháp luận ................................................................................. 28 2.1.1 Đối sánh nội dung của một CSDL quan hệ và một tài liệu XML ... 29 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ii 2.1.2 Cấu trúc và kiểu cơ chế của một tài liệu XML và một lƣợc đồ CSDL quan hệ. ......................................................................................... 31 2.1.3 Tên duy nhất .................................................................................... 34 2.1.4 Các giá trị rỗng và các giá trị mặc định .......................................... 35 2.1.5 Quan hệ ........................................................................................... 36 2.1.6 Thứ tự .............................................................................................. 38 2.2 Chuyển một tài liệu XML sang một cơ sở dữ liệu quan hệ ................... 39 2.3 Chuyển một CSDL quan hệ thành một tài liệu XML............................ 41 2.3.1 Phi chuẩn các lƣợc đồ quan hệ ........................................................ 42 2.3.2 Kết nối các CSDL đã phi chuẩn ...................................................... 45 2.3.3 Ánh xạ một CSDL quan hệ đã kết nối thành một DOM chính và chuyển thành một tài liệu XML ............................................................... 47 2.4 Kết luận .................................................................................................. 51 CHƢƠNG 3: THUẬT TOÁN TÍCH HỢP CÁC HỆ THỐNG CƠ SỞ DỮ LIỆU QUAN HỆ VÀ XML ............................................................................ 52 3.1 Thuật toán .............................................................................................. 52 3.1.1 Đọc tài liệu XML dƣới dạng sơ đồ hình cây................................... 52 3.1.2 Hiển thị tài liệu XML dƣới dạng bảng ............................................ 54 3.1.3 Chuyển một CSDL quan hệ sang một tài liệu XML ....................... 55 3.2 Cài đặt thuật toán ................................................................................... 55 3.3 Đánh giá kết quả .................................................................................... 59 3.4 Kết luận .................................................................................................. 59 CHƢƠNG IV: CÀI ĐẶT THỬ NGHIỆM .................................................... 60 4.1 Yêu cầu cài đặt: ..................................................................................... 60 - Phần mềm: ................................................................................................. 60 4.2 Giao diện của chƣơng trình nhƣ sau: ..................................................... 60 KẾT LUẬN ..................................................................................................... 67 TÀI LIỆU THAM KHẢO............................................................................... 69 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn iii DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT CSDL Cơ sở dữ liệu quan hệ CSS Cascading Style Sheets DOM Document Object Model DTD Document Type Definition HTML Hyperlink Text Markup Language ODBC Open Database Connectivity SGML Standard Generalized Markup Language SQL Structured Query Language URL Uniform Resource Locator URI Uniform Resource Identifier W3C World Wide Web Consortium XML eXtensible Markup Language XSL eXtensible Stylesheet Language XSLT eXtensible Stylesheet Language Transformations Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 1 MỞ ĐẦU 1. Lý do chọn đề tài Hiện nay có rất nhiều các giao dịch, tƣơng tác thông qua Internet đƣợc phát triển rầm rộ, hàng loạt các ngôn ngữ và các giao thức giao tiếp, thiết kế trang web cũng ra đời để phục vụ cho những mục đích nhất định. Có thể kể đến nhiều ngôn ngữ đã phổ biến nhƣ HTML, DHTML, Java, PHP, ASP,… mỗi loại có ƣu và nhƣợc điểm riêng. Ngôn ngữ XML (eXtensible Markup Language) mới phát triển trong thời gian gần đây và đƣợc phổ biến rộng rãi (ở các ngôn ngữ .NET). Không giới hạn và định nghĩa sẵn nhƣ HTML, XML cho phép ngƣời dùng tự định nghĩa ra các thành phần riêng và mở rộng tuỳ ý. XML trở nên phổ biến có rất nhiều nguyên nhân. Điểm quan trọng nhất là XML cho phép dễ dàng xử lý, chuyển tải và trao đổi dữ liệu giữa nhiều ứng dụng và tài liệu ngƣời dùng với các định dạng khác nhau. Nhận thấy tính thiết thực của vấn đề này và đƣợc sự gợi ý của giáo viên hƣớng dẫn, em đã chọn đề tài “Tích hợp cơ sở dữ liệu quan hệ và XML” làm đề tài cho luận văn tốt nghiệp của mình. 2. Mục đích nghiên cứu Luận văn tập trung tìm hiểu về XML và mô hình DOM, phƣơng pháp sử dụng mô hình DOM để chuyển một cơ sở dữ liệu quan hệ sang tài liệu XML và ngƣợc lại. 3. Đối tƣợng nghiên cứu  Tìm hiểu về công nghệ XML.  Tìm hiểu về cơ sở dữ liệu quan hệ.  Cách chuyển đổi một tài liệu XML sang một cơ sở dữ liệu. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 2  Cách chuyển một cơ sở dữ liệu quan hệ sang một tài liệu XML. 4. Giả thiết khoa học Nếu chúng ta sử dụng công nghệ XML thì chúng ta không những có thể phát triển một tài liệu XML mới trong khi vẫn sử dụng các cơ sở dữ liệu đang tồn tại mà còn có thể trích rút các dữ liệu từ các tài liệu XML. 5. Nhiệm vụ nghiên cứu  Nghiên cứu về XML.  Nghiên cứu giải pháp thực hiện chuyển đổi giữa XML và cơ sở dữ liệu quan hệ.  Xây dựng đƣợc một ứng dụng cụ thể dựa trên các kết quả nghiên cứu ở trên.  Đồng thời luận văn cũng mong muốn nêu ra đƣợc một số hƣớng nghiên cứu tiếp theo căn cứ vào các kết quả đã đạt đƣợc. 6. Phạm vi nghiên cứu Luận văn tập trung nghiên cứu các kiến thức có liên quan, các cơ sở lý thuyết: tài liệu XML, mô hình DOM, lý thuyết cơ sở dữ liệu, thuật toán chuyển đổi giữa cơ sở dữ liệu quan hệ và XML. 7. Phƣơng pháp nghiên cứu  Đọc tài liệu: sách, báo và các tài liệu liên quan.  Phân tích - tổng hợp lý thuyết và xây dựng các thuật toán chuyển đổi một cơ sở dữ liệu quan hệ sang dạng tài liệu XML và ngƣợc lại.  Khai thác ngôn ngữ lập trình C# để viết chƣơng trình Demo. Luận văn đƣợc trình bày gồm bốn chƣơng:  Chƣơng 1: “Tổng quan về XML và cơ sở dữ liệu quan hệ” – Trình bày tổng quan về cấu trúc một tài liệu XML, định nghĩa kiểu tài liệu DTD, Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 3 lƣợc đồ, mô hình đối tƣợng tài liệu DOM, phân tích tài liệu XML theo mô hình DOM và các khái niệm cơ sở về cơ sở dữ liệu (CSDL) quan hệ.  Chƣơng 2: “Tích hợp các hệ thống cơ sở dữ liệu và XML” – Giới thiệu phƣơng pháp luận chuyển một tài liệu XML sang một CSDL quan hệ và ngƣợc lại.  Chƣơng 3: “Thuật toán tích hợp các hệ thống cơ sở dữ liệu quan hệ và XML” – Đƣa ra thuật toán tích hợp các hệ thống cơ sở dữ liệu quan hệ và XML.  Chƣơng 4: “Cài đặt thử nghiệm” – Trình bày việc cài đặt thuật toán bằng ngôn ngữ lập trình C# trong môi trƣờng ASP.NET, trên cơ sở xây dựng ứng dụng trang web “Đăng ký học tín chỉ” của trƣờng Đại học Hàng Hải Việt Nam. Và phần cuối Kết luận – Tóm tắt các nội dung chính, các kết quả đạt đƣợc và hƣớng nghiên cứu tiếp theo của luận văn. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 4 CHƢƠNG 1: TỔNG QUAN VỀ XML VÀ CƠ SỞ DỮ LIỆU QUAN HỆ 1.1 Tổng quan về XML 1.1.1 Giới thiệu công nghệ XML XML (viết tắt từ tiếng Anh eXtensible Markup Language, “Ngôn ngữ Đánh dấu Mở rộng”) [2], [11] là ngôn ngữ đánh dấu với mục đích chung do W3C đề nghị, để tạo ra các ngôn ngữ đánh dấu khác. Đây là một tập con đơn giản của SGML, có khả năng mô tả nhiều loại dữ liệu khác nhau. Mục đích chính của XML là đơn giản hóa việc chia sẻ dữ liệu giữa các hệ thống khác nhau, đặc biệt là các hệ thống đƣợc kết nối với Internet. Các ngôn ngữ dựa trên XML (thí dụ: RDF, RSS, MathML, XHTML, SVG, GML và Cxml) đƣợc định nghĩa theo cách thông thƣờng, cho phép các chƣơng trình sửa đổi và kiểm tra hợp lệ bằng các ngôn ngữ này mà không cần có hiểu biết trƣớc về hình thức của chúng. 1.1.2 Cấu trúc của tài liệu XML 1.1.2.1 Tài liệu XML Một tài liệu HTML có thể tồn tại một số thẻ không đúng quy định (trình biên dịch sẽ bỏ qua những thẻ này). Tuy nhiên với một tài liệu XML thì điều này không thể xảy ra. Khi xây dựng một tài liệu XML, nó phải tuân thủ theo một số quy luật nào đó. Những tài liệu XML tuân thủ đúng những quy luật này đƣợc gọi là well-formed (tạm dịch là định dạng đúng). Với một tài liệu không phải là well–formed, Internet Explorer sẽ thông báo lỗi khi nạp tài liệu này. Một tài liệu XML well–formed chƣa chắc là một tài liệu hợp lệ. Một tài liệu XML đƣợc xem là hợp lệ nếu nó đảm bảo những quy tắc đặc tả trong tài liệu Document Type Definition (DTD) hay giản đồ (schema). Một DTD hay schema sẽ định nghĩa mọi thứ từ cấu trúc dữ liệu tới kiểu dữ liệu, những thuộc tính đƣợc yêu cầu, và những ràng buộc về thành phần và thuộc tính đƣợc kết Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 5 hợp trong tài liệu. Phƣơng thức kiểm tra tài liệu này thƣờng đƣợc sử dụng trong giao tiếp giữa ứng dụng – ứng dụng, đảm bảo dữ liệu trao đổi hợp lệ tránh dẫn tới những ảnh hƣởng của dữ liệu không hợp lệ trên toàn hệ thống. Tài liệu XML có thể viết bằng trình soạn thảo thông thƣờng (Notepad), hay các trình soạn thảo chuyên dụng của XML: XML Notepad, XMLWriter, XML Spy, .... 1.1.2.2 Cấu trúc của tài liệu XML Tài liệu XML chỉ chứa đựng dữ liệu và cách lƣu trữ dữ liệu mà không hề đề cập tới cách thức trình bày dữ liệu. Một tài liệu XML sẽ chứa những đặc tả về cấu trúc dữ liệu. Mỗi cấu trúc gồm nhiều phần tử (element), mỗi phần tử đƣợc bắt đầu với một thẻ bắt đầu (Start–tag) và kết thúc với một thẻ kết thúc (End–tag). Giữa Start–tag và End–tag là nội dung của phần tử này. Nội dung có thể bao gồm dữ liệu văn bản hay có thể là một phần tử khác. Một tài liệu XML có thể đƣợc chia thành 2 thành phần chính, mỗi thành phần có thể có các thành phần theo quy định khác nhau. Phần mở đầu Khai báo Mô tả cấu trúc tài liệu Phần nội dung Hình 1.1 Cấu trúc tài liệu XML Phần mở đầu (PROLOG) chứa các khai báo trong tài liệu XML nhƣ: khai báo phiên bản sử dụng của XML, cách thức mã hóa dữ liệu, chỉ thị xử lý, định nghĩa kiểu tài liệu cho tài liệu DTD, các chú thích, các khoảng trắng. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 6 Chuẩn XML không bắt buộc phải khai báo phần mở đầu của XML. Tuy nhiên W3C khuyến khích chúng ta nên sử dụng phần khai báo này, ít nhất cũng là phần khai báo phiên bản sử dụng của XML. Phần thân (BODY) của tài liệu chứa nội dung của dữ liệu bao gồm một hay nhiều thành phần (bắt buộc phải có ít nhất một thành phần), những thành phần này bao gồm các phần tử (element). Mỗi phần tử bao gồm một cặp thẻ (thẻ bắt đầu và thẻ kết thúc). Phần tử đầu tiên của tài liệu đƣợc coi là phần tử gốc (root element). Tất cả các tài liệu XML đƣợc gọi là hợp khuôn dạng nếu chứa đựng duy nhất một phần tử gốc. Phần tử gốc chứa đựng tất cả các phần tử và các cặp thẻ khác trong tài liệu. 1.1.3 Các thành phần cơ bản trong tài liệu XML  Định dạng và dữ liệu kí tự: Tài liệu XML đƣợc tạo thành từ thành phần định dạng và thành phần dữ liệu kí tự. Trong tài liệu XML, định dạng giúp phân biệt các thành phần khác nhau trong tài liệu XML hay các nút khác nhau trong cây XML. Định dạng bao gồm các thẻ bắt đầu, thẻ kết thúc, các phần tử thẻ rỗng, các tham chiếu thực thể, tham chiếu kí tự, lời chú thích, phân đoạn CDATA, khai báo kiểu tài liệu và chỉ thị xử lý. Tất cả các dữ liệu còn lại trong tài liệu XML không phải là định dạng đều đƣợc xem là dữ liệu kí tự.  Các khai báo XML: Một tài liệu XML có thể bắt đầu khai báo cho biết tài liệu đƣợc viết theo định dạng và đặc tả XML. Nếu sử dụng khai báo XML, khai báo này phải đƣợc đặt ở dòng đầu tiên của tài liệu. Không đƣợc khai báo XML sau bất kỳ dòng nào khác. Khai báo XML trong tài liệu đƣợc viết theo cấu trúc: < ?xml [các kiểu khai báo] ?> Các khai báo trong XML gồm: Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 7 Khai báo phiên bản (version): Khai báo này cho biết phiên bản đặc tả XML mà tài liệu sử dụng (khai báo này là tùy chọn nhƣng W3C khuyến cáo nên sử dụng khai báo này). Khai báo mã hóa (encoding): bộ mã đƣợc sử dụng trong tài liệu XML mặc định là UTF-8. Ngoài ra có thể sử dụng các bộ mã khác nhƣ Unicode, UCS-2, USC-4, .... (khai báo này là tùy chọn). Khai báo thực thể độc lập (standalone): đƣợc đặt thuộc tính là „yes‟ nếu tài liệu không tham chiếu đến các thực thể khác bên ngoài, ngƣợc lại đƣợc đặt là „no‟ (khai báo này là tùy chọn).  Phần chú thích: Chú thích trong XML tƣơng tự với chú thích trong HTML. Khi diễn dịch nội dung tài liệu, các bộ phân tích thƣờng bỏ qua những dòng chú thích. Chú thích trong XML đƣợc đặt trong cặp kí tự < !-- Nội dung chú thích --!>. Cần tuân theo một số quy tắc khi thêm dòng chú thích vào tài liệu XML :  Chú thích không đƣợc đặt trƣớc các khai báo.  Không đƣợc đặt trƣớc chú thích vào bên trong phần định dạng.  Không dùng chuỗi -- bên trong chú thích.  Chỉ thị xử lý Các chỉ thị xử lý đƣợc dùng để chỉ dẫn cho bộ phân tích cách xử lý tài liệu XML trong quá trình phân tích. Những chỉ thị này thƣờng bắt đầu bằng dấu tƣơng tự nhƣ phần khai báo. Ví dụ: chỉ thị yêu cầu bộ phân tích kết hợp dữ liệu của XML với bảng định kiểu CSS: Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 8  Thẻ và các phần tử (element) Cấu trúc tài liệu XML dựa trên các thành phần định dạng (markup). Những thành phần này bao gồm các phần tử (element). Mỗi phần tử thƣờng bao gồm một cặp thẻ, thẻ bắt đầu và thẻ kết thúc.Ngoại trừ các phần tử rỗng sẽ đƣợc định nghĩa bằng một thẻ. Thẻ bắt đầu (còn đƣợc gọi là thẻ mở) và bắt đầu bằng kí tự < và kết thúc bằng kí tự >. Thẻ kết thúc (còn gọi là thẻ đóng) bắt đầu bằng cặp kí tự . Tên thẻ có thể bắt đầu bằng kí tự, gạch chân (_) hoặc dấu hai chấm (:). Các kí tự kế tiếp có thể là kí tự, kí số, gạch chân, gạch nối, dấu chấm, dấu hai chấm nhƣng không đƣợc là khoảng trắng. Mỗi phần tử trong cùng một tài liệu XML là duy nhất. Bộ phân tích tài liệu XML phân biệt chữ hoa và chữ thƣờng nên khi đặt tên cho các thẻ và thuộc tính và cần phân biệt chữ hoa và chữ thƣờng. Phần tử rỗng: là phần tử chỉ có một thẻ duy nhất đƣợc đặt trong cặp dấu < />. Phần tử gốc (root element): là phần tử chứa đựng tất cả các phần tử và các cặp thẻ khác trong tài liệu. Phần tử gốc đƣợc xem là phần rất quan trọng trong cấu trúc XML.  Thuộc tính (attribute) Thuộc tính của các thẻ trong tài liệu XML tƣơng tự nhƣ thuộc tính của các thẻ HTML. Thuộc tính đƣợc kết hợp theo cặp name = value. Thuộc tính cho phép xác định thêm thông tin và thuộc tính của thẻ. Thuộc tính đƣợc đặt trong thẻ mở và thẻ rỗng. Để gán giá trị cho thuộc tính thƣờng dùng dấu bằng (=). Thuộc tính luôn đƣợc gán giá trị là kiểu text (do phần định dạng luôn là văn bản text). Trong XML, giá trị của thuộc tính phải đặt trong cặp dấu nháy kép “”. Tuy nhiên, nếu giá trị chuỗi truyền cho thuộc tính bao gồm luôn cả dấu nháy kép ta có thể sử dụng nháy đơn thay thế. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 9  Phân đoạn CDATA Phân đoạn CDATA cũng là một phần tử trong tài liệu XML nhƣng chỉ gồm một thẻ. Thẻ này bắt đầu bằng . Toàn bộ nội dung đƣợc đặt trong phân đoạn CDATA sẽ không đƣợc trình phân tích coi nhƣ cấu trúc XML mà chúng chỉ đƣợc xem nhƣ là dữ liệu thuần túy.  Không gian tên (namespace) XML cho phép tự định nghĩa và đặt tên cho các thẻ. Nếu tài liệu XML chỉ sử dụng cho một mục đích nào đó và không cần phải kết hợp với các tài liệu XML khác thì điều này không thành vấn đề. Nhƣng một khi các ứng dụng phát triển, tập định nghĩa các thẻ XML cần sống chung và kết hợp với nhau thì đó là một vấn đề. Để định nghĩa không gian tên cho các thẻ, ta đƣa vào thuộc tính xmlns:prefix vào gốc phần tử. Trong đó prefix là tên miền hay không gian tên mà ta muốn chỉ định, mỗi không gian tên có một định danh duy nhất (có thể là định danh URL hoặc URI). Sau đó áp dụng không gian tên này cho tất cả các thẻ trong tài liệu XML mà ta muốn chúng thuộc không gian tên đã định nghĩa theo cú pháp: đối với thẻ mở, đối với thẻ đóng. Ví dụ 1.1: Cho một tài liệu XML chƣa định nghĩa không gian tên nhƣ sau: Nguyen Thanh Nam Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 10 14 Ha Noi 0986735461 Không gian tên danhsachsv đƣợc tạo cho thƣ viện sau: < Danh_Sach_SV> xmlns:danhsachsv=http://www.danhsachsv.com.vn/ds> < SinhVien SinhVienID="0001"> Nguyen Thanh Nam 14 Ha Noi 0986735461 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 11 Sau đó áp dụng không gian tên cho các thẻ trong tài liệu XML nhƣ sau: xmlns:danhsachsv=http://www.danhsachsv.com.vn/ds> Nguyen Thanh Nam 14 Ha Noi 0986735461 1.1.4 Cấu trúc tài liệu XML hợp khuôn dạng Một tài liệu XML đƣợc coi là một tài liệu hợp khuôn dạng nếu tuân theo các quy tắc sau:  Các khai báo XML cần đƣợc đặt ở dòng đầu tiên của tài liệu. Khai báo chỉ thị xử lý XML đầu tiên không bắt buộc , tuy nhiên nếu sử dụng thì phải đặt chúng ở ngay dòng đầu tiên của tài liệu. Nếu không thực hiện đƣợc yêu cầu này, tài liệu XML đƣợc xem là không hợp lệ. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 12  Tài liệu XML chỉ có một phần tử gốc, các phần tử khác nếu có phải là con của phần tử gốc.  Mọi phần tử XML khác rỗng phải bao gồm đầy đủ thẻ đóng và thẻ mở. Trong tài liệu XML hợp khuôn dạng, mọi thẻ mở (trừ thẻ rỗng) phải có thẻ đóng tƣơng ứng. Nếu bộ phân tích XML phát hiện một phần tử bị thiếu thẻ đóng hay thẻ mở thì quá trình phân tích tài liệu sẽ kết thúc.  Đóng phần tử rỗng với chuỗi đóng />. Phần tử rỗng là phần tử chỉ có một thẻ. Dấu kết của phần tử rỗng phải là /> nếu không tài liệu sẽ đƣợc coi là không hợp khuôn dạng.  Mọi phần tử trong tài liệu XML khác phần tử gốc (root) đều phải nằm giữa cặp thẻ gốc.  Các phần tử lồng nhau phải có thẻ đóng, mở hợp vị trí.  Sử dụng tên thuộc tính là duy nhất. Các thuộc tính trong thẻ không đƣợc đặt cùng tên.  Chỉ nên sử dụng 5 tham chiếu thực thể đƣợc định nghĩa trƣớc trong XML. Trong ngôn ngữ định dạng XML, một số kí tự nhận dạng đặc biệt nhƣ <, >, „, “, và & không thể sử dụng trong tài liệu theo cách thể hiện dữ liệu thông thƣờng. Muốn sử dụng những kí hiệu này phải dùng tham chiếu thực thể đƣợc XML định nghĩa trƣớc nhƣ sau: Tham chiếu thực thể Ý nghĩa của kí tự tƣơng ứng & & < < > > ' „ " “ Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 13 Bảng 1.1 Bảng tham chiếu thực thể trong XML  Bao giá trị thuộc tính bằng cặp dấu nháy. Tất cả các thuộc tính đƣợc thể hiện ở dạng chuỗi và phải bao giá trị gán cho thuộc tính bằng cặp nháy kép (“ ”) hoặc nháy đơn („ ‟).  Chỉ nên sử dụng kí tự < và & đối với thẻ mở và các thực thể. 1.1.5 Định nghĩa kiểu tài liệu DTD (Document Type Definition) Khi định nghĩa thẻ XML, ta tùy ý quyết định cách sử dụng chúng. Ta có thể quyết định thẻ chỉ chứa nội dung là dữ liệu text thuần túy hoặc có thể chứa các phần tử con khác. Tuy nhiên, để tài liệu rõ ràng chúng ta nên định nghĩa kiểu tài liệu mà mỗi phần tử sẽ biểu diễn. Một tài liệu XML đƣợc coi là hợp lệ và có giá trị khi toàn bộ các phần tử trong tài liệu đƣợc định nghĩa kiểu (type definition) mà nó sẽ chứa. Việc định nghĩa kiểu tài liệu (DTD – Document Type Definition) cần theo cú pháp quy định của tổ chức XML W3C. Định nghĩa kiểu tài liệu DTD: Sử dụng thẻ khai báo để bắt đầu định nghĩa cho các phần tử XML. Mẫu khai báo nhƣ sau: Trong đó: DTD là định nghĩa cho các phần tử trong tài liệu. Mỗi phần tử đƣợc định nghĩa theo cú pháp: Trong đó: NAME là tên của phần tử muốn định nghĩa; CONTENT_MODEL có thể đƣợc đặt là EMPTY hay ANY hoặc trộn lẫn cả hai nội dung (bao gồm dữ liệu có thể dùng phân tích hoặc các phần tử con khác). Ví dụ 1.2: Khai báo và định nghĩa DTD trong tài liệu XML: Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 14 ]> Nguyen Thanh Nam 14 Ha Noi 0986735461 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 15 1.1.6 Lược đồ XML (XML schema) XML Schema là một tài liệu XML đƣợc viết dƣới dạng thức thuần văn bản với phần mở rộng .xsd. Tài liệu này mở đầu bằng khai báo chuẩn XML, tiếp theo dùng tiếp đầu ngữ xsd: để khai báo không gian tên XML Schema, theo cú pháp sau: …………..... Để chƣơng trình xử lý XML có thể sử dụng tập tin lƣợc đồ (.xsd) cho tài liệu XML, thì các bộ xử lý phải có cách cài đặt cụ thể của riêng nó để nhận ra lƣợc đồ đi kèm với tài liệu XML. W3C cho phép khai báo không gian tên cho tài liệu XML tham chiếu đến tập tin lƣợc đồ theo địa chỉ URL nhƣ sau: ……….. XML Schema đƣợc Microsoft đề xuất để thay thế cho định kiểu tài liệu (Document Type Definition - DTD), đƣợc sử dụng để định nghĩa kiểu tài liệu cho các phần tử XML, vốn xuất thân từ SGML, khó sử dụng và có một số nhƣợc điểm nhƣ không định nghĩa chính xác đƣợc các loại dữ liệu. XML Schema có một số ƣu điểm:  Dễ học và dễ dùng hơn DTD.  Định nghĩa chính xác đƣợc các kiểu dữ liệu (data type) .  Có hệ thống không gian tên (NS) tốt hơn.  Dùng lại đƣợc các phần tử bằng cách thừa kế. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
- Xem thêm -

Tài liệu liên quan

Tài liệu xem nhiều nhất