Đăng ký Đăng nhập

Tài liệu Xml va ung dung

.PDF
198
64
107

Mô tả:

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC LẠC HỒNG GIÁO TRÌNH CÔNG NGHỆ XML VÀ ỨNG DỤNG MỤC LỤC Chương 1: Tổng quan về XML ....................................................................................1 1.1. Giới thiệu về XML ............................................................................................. 1 1.2. Cấu trúc tài liệu XML ........................................................................................ 3 1.3. Cú pháp XML và Well – formed tài liệu XML .................................................6 1.4. Các đối tượng trong XML ...............................................................................29 1.4.1. Element......................................................................................................29 1.4.2. Attribute ....................................................................................................31 1.4.3. Khi nào sử dụng Elements và Attributes...................................................32 1.4.4. Namespace ................................................................................................ 34 1.4.5. Encoding....................................................................................................38 1.5. Viewing ............................................................................................................39 1.6. XML Và CSS ...................................................................................................40 1.7. Những điều cần ghi nhớ ...................................................................................42 Chương 2: DTD – Document Type Definition .......................................................... 47 2.1. Giới thiệu về DTD ........................................................................................... 47 2.2. Cấu tr c DTD v các ước t o DTD ............................................................... 49 2.3. Khai báo DTD ..................................................................................................49 2.4. Các thành phần trong DTD ..............................................................................51 2.4.1. Khai báo Element trong DTD ...................................................................51 2.4.2. Khai báo Attributes trong DTD.................................................................53 2.4.3. Khai báo Entities trong DTD ....................................................................57 Chương 3: XML Schema ............................................................................................ 59 3.1. Giới thiệu .........................................................................................................59 3.2. Khai báo XML Schema ...................................................................................62 3.3. Simple Types ...................................................................................................65 3.3.1. XSD Simple Elements...............................................................................65 3.3.2. XSD Restrictions/Facets ...........................................................................67 3.4. Complex Types ................................................................................................ 73 3.4.1. XSD Complex Element .............................................................................73 3.4.2. XSD Empty Elements ...............................................................................76 3.4.3. XSD Elements Only ..................................................................................77 3.4.4. XSD Text-Only ......................................................................................... 77 3.4.5. XSD Mixed Content ..................................................................................79 3.5. XSD Indicators .................................................................................................80 3.5.1 Order Indicators ........................................................................................ 80 3.5.2 Occurrence Indicators ...............................................................................81 3.5.3 Group Indicators ........................................................................................ 84 3.6. element ..................................................................................................85 3.7. Element ....................................................................................... 87 3.8. Substitution Element ........................................................................................ 89 3.9. Phân chia lược đồ, các phong cách thiết kế XML Schema ............................. 94 3.10. Data Types – Các kiểu dữ liệu .........................................................................98 3.10.1. Kiểu chuỗi - String ....................................................................................98 3.10.2. Kiểu ngày tháng - Date and Time ...........................................................100 3.10.3. Kiểu số - Numeric ...................................................................................104 3.10.4. Kiểu hỗn hợp - Miscellaneous ................................................................106 Chương 4: XML DOM - Document Object Model ................................................108 4.1. Giới thiệu .......................................................................................................108 4.2. Nodes .............................................................................................................109 4.3. Node Tree .......................................................................................................110 4.4. Properties and Methods..................................................................................113 4.5. XML DOM: Node Information .....................................................................119 4.6. Node List ........................................................................................................122 4.7. Get Node Values ............................................................................................130 4.8. The XMLHttpRequest Object ........................................................................149 Chương 5: XPath .......................................................................................................163 5.1. Giới thiệu .......................................................................................................163 5.2. Các thuật ngữ trong XPath .............................................................................163 5.3. Cú pháp Xpath ...............................................................................................164 5.4. Toán tử – Operators .......................................................................................171 5.5. XPath: Các ví dụ ............................................................................................172 Chương 6: Xquery .....................................................................................................181 6.1. Giới thiệu .......................................................................................................181 6.2. Duyệt các node ...............................................................................................182 6.3. FLWOR ..........................................................................................................183 6.4. Hiển thị dữ liệu trong HTML List .................................................................184 6.5. XQuery: Các thuật ngữ và mối quan hệ.........................................................185 6.6. Syntax – Cú pháp ...........................................................................................188 6.7. Các toán tử so sánh ........................................................................................189 6.8. Thêm các Elements và Attribute ....................................................................189 6.9. Xây dựng hàm – functions .............................................................................191 DANH MỤC HÌNH ẢNH Hình 1.1 Cấu trúc một tài liệu XML .................................................................................. 8 Hình 1.2 Ví dụ về 1 tài liệu XML ...................................................................................... 9 Hình 2.1 Cấu trúc DTD .................................................................................................... 54 Hình 4.1 Node tree .......................................................................................................... 115 Hình 4.2 Mối quan hệ trong cây ..................................................................................... 116 Hình 4.3 Danh sách node ............................................................................................... 127 Hình 4.4 Mối quan hệ node trong cây ........................................................................... 131 DANH MỤC BẢNG BIỂU Bảng 1.1 Đặc điểm của HTML và XML ............................................................................ 6 Bảng 1.2 Thực thể tham chiếu .......................................................................................... 14 Bảng 2. 1 Các lo i thuộc tính ........................................................................................... 59 Bảng 2.2 Giá trị các thuộc tính ......................................................................................... 60 Bảng 3.1 Facets ................................................................................................................. 72 Bảng 3. 2 Các h n chế trên dữ liệu ................................................................................... 77 Bảng 3. 3 Các kiểu dữ liệu chuỗi .................................................................................... 104 Bảng 3.4 Kiểu dữ liệu ngày tháng ................................................................................. 108 Bảng 3.5 Bảng dữ liệu kiểu số ....................................................................................... 110 Bảng 4.1 Các lo i node ................................................................................................... 126 Bảng 5.1 Cú pháp node .................................................................................................. 170 Bảng 5.2 Ví dụ các biểu thức ......................................................................................... 170 Bảng 5.3 Biểu thức có Prediaces .................................................................................... 171 Bảng 5.4 Wildcard .......................................................................................................... 172 Bảng 5.5 Ví dụ wildcard ................................................................................................. 172 Bảng 5.6 Ví dụ chọn nhiều đường dẫn ........................................................................... 173 Bảng 5.7 Axis ................................................................................................................. 173 Bảng 5.8 Vị trí của biểu thức .......................................................................................... 175 Bảng 5.9 Toán tử Xpath ................................................................................................. 176 Chương 1: Tổng quan về XML 1.1. Giới thiệu về XML Trước khi XML ra đời đ c nhiều kiểu định ng v n ản điện tử như GML G n raliz Markup Languag của IBM SGML Stan ar G n raliz Markup Languag của ANSI v o n m 1980 v HTML Hyp r T xt Markup Languag . Tuy nhi n các phư ng pháp n y c nhiều nhược điểm như GML v SGML kh ng th ch hợp để truyền ữ liệu tr n W HTML chủ yếu ch trọng v o việc l m cách n o hiển thị th ng tin h n l ch trọng đến nội ung truyền tải. Ch nh v vậy XML Xt nsi l Markup Languag được t o ra để giải quyết các nhược điểm tr n. So sánh giữa HTML v XML: Bảng 1.1 Đặc điểm của HTML v XML HTML XML HTML được thiết kế cho mục đ ch tr nh XML được thiết kế cho mục đ ch lưu trữ v truyền tải ữ liệu giữa các hệ thống khác y ữ liệu nhau HTML ng để hiển thị ữ liệu v ch trọng v o việc ữ liệu được hiển thị như XML ng để m tả ữ liệu v ch trọng v o nội ung của ữ liệu thế n o HTML hiển thị th ng tin XML m tả thông tin Đặc trưng của XML: Ng n ngữ đánh ấu markup tag ra đời nhằm hướng tới việc thể hiện ữ liệu th o cách để n nhận v n giao tiếp đọc hiểu lẫn nhau v tổ chức ữ liệu để trao đổi m kh ng ị lệ thuộc v o các chư ng tr nh ứng ụng v platform khi giao tiếp Do vậy các ứng ụng v người l m ra phần mềm cần c một ng n ngữ hay cách thức để tổ chức ữ liệu ễ ng cho người ứng ụng v máy t nh đọc hiểu m kh ng ị lệ thuộc ất kỳ v o tool hay platform cụ thề  XML – Extensible Markup Language 1 o Cho phép tổ chức lưu trữ ữ liệu th o cấu tr c th o ngữ nghĩa ễ giao tiếp hay trao đổi. B n c nh đ ữ liệu một cách ễ ng XML còn cho phép việc khai thác ng th ng qua ất kỳ tr nh so n thảo đ n giản nhất m kh ng cần tool hỗ trợ o Cho phép người sử ụng định nghĩa nội ung tag mới ph hợp với qui định về c pháp linh động trong định nghĩa tag m kh ng ị uộc th o các tag qui định sẵn ph hợp với mục đ ch v nội ung của người sử ụng o Nội ung v tổ chức được lưu trữ trong fil c phần mở rộng l xml o Các nội ung qui định cách viết nội ung viết xml tuân th o các qui định của W3C chi tiết t i trang www.w3c.org  XML Parser o L một chư ng tr nh kiểm tra x m tập tin đ viết đ ng c pháp th o qui định hay chưa o Được hỗ trợ cho người lập tr nh v ứng ụng để khai thác ữ liệu của XML o C 02 lo i tất cả  Hỗ trợ kiểm tra x m XML c đ ng qui định định ng của quá tr nh giao tiếp hay kh ng vali ation th ng qua các qui định thiết lập trong DTD hay Sch ma  Chỉ kiểm tra x m XML c viết đ ng qui luật qui định hay kh ng kiểm tra w ll-form  kh ng kiểm tra vali ation Các th tag của XML thường kh ng được định nghĩa trước m ch ng được t o ra th o quy ước của người hoặc Chư ng tr nh t o ra XML th o những quy ước của ch nh họ  XML sử ụng các khai áo kiểu ữ liệu DTD Docum nt Typ D finition hay lược đồ Sch ma để m tả ữ liệu. Ưu điểm của XML:  Dữ liệu độc lập l ưu điểm ch nh của XML. Do XML chỉ ằng ng để m tả ữ liệu ng t xt n n tất cả các chư ng tr nh đều c thể đọc được XML.  Dễ ng đọc v phân t ch ữ liệu nhờ ưu điểm n y m XML thường được để trao đổi ữ liệu giữa các hệ thống khác nhau  Dễ  Lưu trữ cấu h nh cho w ng để t o 1 fil XML sit 2 ng 1.2.  Cấu trúc tài liệu XML Gồm có 02 phần o Document prolog: Chứa đựng các th ng tin tổng quan về t i liệu – m ta ata v ao ồm 02 phần  Khai báo: XML Declaration  Phần ổ trợ cung cấp th ng tin về t i liệu XML misc llan ous ao gồm Document Type Declaration, comments, processing instructions, whitespace, ….  To n ộ phần Docum nt prolog c hay kh ng c cũng được nhưng khuyến cáo của W3C n n luôn có dòng XML Declaration o Root Element: đây l tag lớn uy nhất của t i liệu chứa tất cả tag con n trong v nội ung của t i liệu XML H nh 1.1 Cấu tr c một t i liệu XML  Một v ụ đ n giản về t i liệu XML 3 H nh 1.2 V  ụ về 1 t i liệu XML Định nghĩa các thành phần trong cấu trúc XML o T i liệu XML n n ắt đầu với XML  claration ở òng đầu ti n Cú pháp khai báo  Thuộc t nh v rsion trong c pháp xml tr n thể hiện các th nh phần XML được viết phải tuân th o qui định trong v rsion. Thuộc t nh n y ắt uộc phải sử ụng khi c khai áo xml ở tr n. Hiện t i c 2 v rsion của XML cái đầu ti n XML 1.0 được định nghĩa đầu ti n v o n m 1998 kể từ đ n trải qua nhiều lần sửa đổi nhỏ nhưng vẫn giữ nguy n v rsion t n l 1.0 v đến 2008 th đ l phi n ản thứ 5 của XML 1.0 n được ng rộng r i v lu n được khuy n l n n sử ụng. Phi n ản thứ 2 l XML 1.1 được c ng ố ng y 4/2/2004 ản thứ 2 của XML 1.1 được c ng ố ng y 16/8/2006 những thay đổi ch nh của ản 1.1 l cho phép c khả n ng sử ụng các ký tự kết th c òng ựa tr n nền tảng EBCDIC và Unicode 3.2 nhưng n kh ng được ng rộng r i v chỉ ng khi ta muốn sử ụng các t nh n ng khác iệt đ . Muốn 4 iết nhiều h n về sự khác iệt của n th v o http:// n.wikip ia.org/wiki/XML để x m  Thuộc t nh nco ing thể hiện nội ung chuyển đổi ký tự trong t i liệu xml để pars r chuyển đổi nội ung v n ản đ ng định ng chữ để chuyển đến cli nt. Thuộc t nh n y l c hay kh ng c cũng được. Khi kh ng c mặc định l UTF-8  Thuộc t nh stan alon th ng áo cho pars r iết l t i liệu c tham chiếu hay kh ng tham chiếu đến các ntity được định nghĩa ở n ngo i t i liệu hay mặc định được khai áo ởi pars r  Giá trị y s: t i liệu kh ng tham chiếu đến các xt rnal ntity  Giá trị no: giá trị mặc định nếu thuộc t nh nco ing kh ng được khai áo để thể hiện t i liệu sẽ tham chiếu đến xt rnal ntity o Processing Instructions  Các lệnh thực thi được y u cầu đến ộ pars r  C pháp: ắt đầu với nhưng kh ng phải l o Whitespace  L các khoảng trắng – spac s ký tự xuống h ng – carriage r turns ký tự ắt đầu h ng – linefeeds, và các tab – tabs o  Document Type Declaration  Khai áo hay tham chiếu đến DTD hỗ trợ vali ation. Comments  Cho phép ghi ch giảng giải nội ung thực hiện v sẽ được pars r ỏ qua khi parsing  Cú pháp:  Không được phép c comm nt lồng trong comm nt  Được xuất hiện ất kỳ trong đâu ngo i trừ trước XML claration kh ng được nằm trong phần t n tag  o Kh ng được phép c ký tự “–” ở giữa comm nt Marked-up tag  Được ng trong phần thân của t i liệu  Bao gồm tag ắt đầu tag kết th c tag cho thân rỗng tham chiếu đến các ntity tham chiếu đến các ký tự comm nts … 5  L tất cả các chữ v ký tự kh ng nằm trong các tag markup. Hay l ký tự ất kỳ trong v n ản nằm trong thân tag hay ất kỳ đâu ngoài tag  C thể kết hợp với các whit spac  Được parsing ởi pars r PCDATA v c thể kh ng được pars ởi pars r v để nguy n giá trị để gửi tới ứng ụng CDATA  C pháp để chữ kh ng được pars o Lưu ý: CDATA kh ng thể lồng th m CDATA v c pháp của n phải ch nh xác giữa các ấu hiệu nghĩa l kh ng được c th m ất kỳ khoảng trắng n o cả 1.3. Cú pháp XML và Well – formed tài liệu XML Một t i liệu xml vali ation th phải l t i liệu viết đ ng c pháp – well-formed. Mặc định các ộ pars r chỉ kiểm tra w ll-form o vậy muốn kiểm tra vali ation th ộ pars r phải được thiết lập để thực hiện nội ung n y Well-formed: các qui định tổng quát về cách thức viết XML đúng cú pháp  Tài liệu XML chỉ có duy nhất một tag làm root duy nhất và sẽ chứa tất cả các node con bên trong o Nội dung này thể hiện khái niệm tư ng tự như m h nh cây chỉ có một nốt root duy nhất và là cha duy nhất trong cây sau đ l các no con n ưới  Các tag trong tài liệu xml phải tuân thủ qui luật là mở tag phải c đ ng tag  Nếu là tag rỗng thì phải dùng d ng cú pháp  Ký tự đầu tiên của tên luôn bắt đầu với một chữ hay dấu g ch ưới (_)  Kế tiếp ký tự theo có thể là chữ, số, g ch ưới, g ch ngang, dấu chấm, và dấu chấm phẩy  Trong tên không cho phép bất kỳ ký tự khoảng trắng, enter, tab (whitespace) nào cả  T n n n đặt c ý nghĩa v ễ ng đọc hiểu  Các tên tag phải tuân theo qui luật đặt tên  Tên của các thuộc tính trong tag là duy nhất 6  Nếu tên thuộc tính có kết hợp với namespace (qualified name bao gồm nam spac _pr fix:local_nam   th cũng phải tuân theo qui luật nó là duy nhất o Tên namespace là giống nhau o Tên local name là khác nhau Thuộc tính luôn xuất hiện một cặp bao gồm o tên_thuộc_t nh = “giá trị của thuộc t nh” hay o tên_thuộc_t nh = „giá trị của thuộc t nh‟ Tất cả các tag trong tài liệu phải được lồng nhau th o đ ng thứ tự, tag không được đ ng mở tùy ý  Tất cả khai báo namespace trong tài liệu XML phải có prefix khác nhau, duy nhất v tuân đ ng luật về đặt t n tư ng tự như tag  XML là một ngôn ngữ có phân biệt hoa thường – case sensitive, do vậy, chúng ta cần lưu ý khi sử dụng ký tự trong quá tr nh đặt tên và truy xuất  XML Basic: Syntax Rules Các luật c pháp của XML th rất đ n giản v logic các luật cũng ễ học v ễ sử ụng.  Tất cả các element đều phải có tag đóng Trong HTML một v i l m nt kh ng cần phải c tag đ ng thật sự đ ng quy chuẩn th phải c nhưng ộ phân t ch c pháp của HTML vẫn chấp nhận mà không áo lỗi nhưng sẽ ảnh hưởng đến phần nội ung kể từ đ trở đi)

This is a paragraph.
Trong XML th l i kh ng được như vậy tất cả l m nt đều phải c tag đ ng.

This is a paragraph.


 Phân biệt chữ hoa chữ thường Trong XML th khác . Tag đ ng v tag mở phải giống nhau y hệt. This is incorrect This is correct 7  Lồng nhau thì phải đúng thứ tự Trong HTML lồng kh ng th o thứ tự cũng kh ng áo lỗi: This text is bold and italic Còn trong XML th tuyệt đối phải đ ng thứ tự: This text is bold and italic  Phải có 1 element gốc T i liệu XML phải c chứa 1 l m nt m l cha của tất cả các l m nt khác. El m nt n y gọi l root l m nt. .....  Các giá trị của thuộc tính phải được bao lại bằng nháy kép El m nt XML c thể c các thuộc t nh th o cặp như nam /valu như HTML. Trong XML th các giá trị phải được nằm trong nháy kép. X m thử 2 v đầu th sai v ụ ưới v ụ sau th đ ng: Tove Jani -------------------------------------------- Tove Jani  Các tham chiếu thực thể Một v i ký tự c ý nghĩa đặc iệt trong XML. Nếu ta đặt 1 ký tự như “<” n trong l m nt XML. N sẽ gây ra lỗi v các pars r sẽ cho n l ắt đầu 1 l m nt mới.V ụ: if salary < 1000 then Để tránh điều n y thay thế “<” ằng 1 thực thể tham chiếu Ví ụ: 8 ụ if salary < 1000 then Dưới đây l ảng thực thể tham chiếu trong XML: Bảng 1.2 Thực thể tham chiếu < < less than > > greater than & & ampersand ' „ apostrophe " “ quotation mark Lưu ý: Chỉ c ấu < v & l kh ng hợp lệ trong XML mấy ký hiệu khác th cũng c thể sử ụng được tuy nhiên tốt nhất l n n thay thế ch ng.  Ghi chú trong XML Cũng giống HTML đ l :  Khoảng trắng được giữ nguyên trong XML Trong HTML th các khoảng trắng ư thừa sẽ ị cắt đi hết chỉ giữ l i 1 cái khoảng trắng. Còn trong XML th n kh ng ị cắt  XML lưu trữ dòng mới như là LF (line Feed) Các ứng ụng win ows lưu trữ 1 òng mới: Ký tự ắt đầu òng v ký tự xuống dòng (CR + LF) o Unix and Mac OSX uses LF. o Old Mac systems uses CR. o XML stores a new line as LF  Một số ví dụ về well formed tài liệu XML o Ví dụ 1 9  T i liệu ho n to n w ll-form cho tag thứ 2 ook c thứ tự con kh ng đ ng thứ tự trong DTD v các tag khác nhưng luật w llform  kh ng đề cập đến thứ tự Khi Vi w t i liệu n y tr n Brows r ch ng ta thấy 10 o Ví dụ 2  T i liệu n y kh ng w ll-form pháp xml declaration  Tool checking  Browser 11 v c khoảng trắng trong khai áo c o Ví dụ 3  T i liệu kh ng w ll-form v tag mở kh ng tr ng tag đ ng 12 o Ví dụ 4  T i liệu kh ng w ll-formed vì các khai báo trong DTD không có chứa các khoảng trắng y u cầu 13 o Ví dụ 5  T i liệu kh ng w ll-formed v c chứa khoảng trắng trong tag 14 o Ví dụ 6  T i liệu kh ng w ll-form v c chứa nhiều h n 1 no 15 root
- Xem thêm -

Tài liệu liên quan