Giáo trình Xml

XML được triển khai nhờ sự đóng góp của rất nhiều người trong mười năm qua. Ngôn ngữ đánh dấu tiêu chuẩn tổng quát (SGML - Standard Generalized Markup Language), một ngôn ngữbiểu thịdữliệu trong những ứng dụng xửlý văn bản đa dạng và có cấu trúc tinh vi. Nhược điểm của nó là rất rắc rối, khó học, khó sửdụng,... Chính vì lẽ đó vào năm 1990 Tim Berners-Lee ởCERN, đã tạo ra HTML (là một ứng dụng của SGML), một phần nhỏcủa SGML, nhưng mọi người lại rất dễdùng. Không ngờsựthành công của HTML vượt quá sức tưởng tượng của chính tác giả. Nhưng rồi đến một ngày vào năm 1995 người ta bắt đầu thấy sựgiới hạn của HTML, mặc dù nó được Netscape, Microsoft cốgắng thêm thắt, bởi sựthịnh hành của Web. Do đó, nhiều người có ý định quay trởlại SGML, nhưng lại ái ngại. Ðúng lúc đó vào 1996, Jon Bosak ởSun Microsystem khởi đầu nhóm cộng tác(working group) W3C SGML, bấy giờ được gọi là nhóm XML. Mục đích là đơn giản hoá SGML đểnó dễdùng nhưHTML mà đồng thời mạnh mẽ, dễdùng,... Tim Bray và C.M. Sperberg-McQueen viết hầu hết Specification (bản điều kiện kỹthuật) nguyên thủy của XML. Trước đó, Bray đã có kinh nghiệm nhiều năm quản lý dựán "New Oxford English Dictionary". Ông muốn XML hội các điều kiện sau: •Ðơn giản đủcho lập trình viên áp dụng •Dễcho Search Engine(như AltaVista, Yahoo, Infoseek,...) phân loại •Không giới hạn trong tiếng Anh của nước Mỹ Chính vì lẽ đó, bản Specification đầu tiên của XML được ra đời vào tháng 11 năm 1996. Tháng 7 năm 1997 Microsoft áp dụng đầu tiên của XML, Channel Definition Format (CDF). Họdùng CDF đểxuất bản các trang Web đến những khách đã đóng tiền tháng (subscribers). CDF là một phần của Internet Explorer 4.0. Tháng 5 năm 1997 Microsoft và Inso Corporation xuất bản XSL (eXtensible Style Language) đểlàm Style Sheet diễn tảcách trình bày một trang XML. Ðến tháng 1 năm 1998 Microsoft cho ra một chương trình miễn phí tên MSXSL đểgenerate một trang HTML từmột cặp trang XML và XSL. Sau này thì Internet Explorer 5.0có thểhiển thịtrực tiếp một trang XML (bên trong có ghi phải tìm trang XSL ở đâu), không cần cho thấy kết quảtrang HTML. Vào tháng 2 năm 1998 Tổhợp Web toàn cầu W3Cphê chuẩn cho chính thức thi hành Version 1.0của XML Specification.

pdf5 trang | Chia sẻ: ttlbattu | Lượt xem: 2807 | Lượt tải: 4download
Bạn đang xem nội dung tài liệu Giáo trình Xml, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
www.viet-ebook.co.cc Sự Bùng Nổ XML!!! Ðiều gì đã khiến XML hiện nay chiếm vị trí số một và có vai trò rất quan trọng trong việc truyền tải và trao đổi dữ liệu liên lạc giữa các ứng dụng và các hệ điều hành khác nhau,... Ngay cả Microsoft, Sun, IBM, Oracles,... đều hỗ trợ XML và dùng nó trong mọi ứng dụng. Theo như sự đánh giá của những nhà khởi xướng XML cho rằng nó có thể đẩy lùi sự bất ổn từ HTML đồng thời tạo nên cuộc cách mạng trong truyền tải và trao đổi dữ liệu,... 1/ Ðôi Nét Về Lịch Sử XML: XML được triển khai nhờ sự đóng góp của rất nhiều người trong mười năm qua. Ngôn ngữ đánh dấu tiêu chuẩn tổng quát (SGML - Standard Generalized Markup Language), một ngôn ngữ biểu thị dữ liệu trong những ứng dụng xử lý văn bản đa dạng và có cấu trúc tinh vi. Nhược điểm của nó là rất rắc rối, khó học, khó sử dụng,... Chính vì lẽ đó vào năm 1990 Tim Berners-Lee ở CERN, đã tạo ra HTML (là một ứng dụng của SGML), một phần nhỏ của SGML, nhưng mọi người lại rất dễ dùng. Không ngờ sự thành công của HTML vượt quá sức tưởng tượng của chính tác giả. Nhưng rồi đến một ngày vào năm 1995 người ta bắt đầu thấy sự giới hạn của HTML, mặc dù nó được Netscape, Microsoft cố gắng thêm thắt, bởi sự thịnh hành của Web. Do đó, nhiều người có ý định quay trở lại SGML, nhưng lại ái ngại. Ðúng lúc đó vào 1996, Jon Bosak ở Sun Microsystem khởi đầu nhóm cộng tác (working group) W3C SGML, bấy giờ được gọi là nhóm XML. Mục đích là đơn giản hoá SGML để nó dễ dùng như HTML mà đồng thời mạnh mẽ, dễ dùng,... Tim Bray và C.M. Sperberg-McQueen viết hầu hết Specification (bản điều kiện kỹ thuật) nguyên thủy của XML. Trước đó, Bray đã có kinh nghiệm nhiều năm quản lý dự án "New Oxford English Dictionary". Ông muốn XML hội các điều kiện sau: • Ðơn giản đủ cho lập trình viên áp dụng • Dễ cho Search Engine (như AltaVista, Yahoo, Infoseek,...) phân loại • Không giới hạn trong tiếng Anh của nước Mỹ Chính vì lẽ đó, bản Specification đầu tiên của XML được ra đời vào tháng 11 năm 1996. Tháng 7 năm 1997 Microsoft áp dụng đầu tiên của XML, Channel Definition Format (CDF). Họ dùng CDF để xuất bản các trang Web đến những khách đã đóng tiền tháng (subscribers). CDF là một phần của Internet Explorer 4.0. Tháng 5 năm 1997 Microsoft và Inso Corporation xuất bản XSL (eXtensible Style Language) để làm Style Sheet diễn tả cách trình bày một trang XML. Ðến tháng 1 năm 1998 Microsoft cho ra một chương trình miễn phí tên MSXSL để generate một trang HTML từ một cặp trang XML và XSL. Sau này thì Internet Explorer 5.0 có thể hiển thị trực tiếp một trang XML (bên trong có ghi phải tìm trang XSL ở đâu), không cần cho thấy kết quả trang HTML. Vào tháng 2 năm 1998 Tổ hợp Web toàn cầu W3C phê chuẩn cho chính thức thi hành Version 1.0 của XML Specification. 2/ XML là gì? XML viết tắt của chữ eXtensible Markup Language (ngôn ngữ nâng cấp có thể mở rộng) là một bộ qui luật về cách chia một tài liệu ra làm nhiều phần, rồi đánh dấu và ráp các phần khác nhau lại để dễ nhận diện chúng. Ðược chỉ đạo bởi Tổ hợp Web toàn cầu (W3C), XML trở thành một đặc điểm kỹ thuật chính thức. Tổ hợp Web toàn cầu W3C gọi XML là "một cú pháp thông dụng cho việc biểu thị cấu trúc trong dữ liệu". Dữ liệu có cấu trúc tham chiếu đến dữ liệu được gán nhãn cho nội dung, ý nghĩa, hoặc công dụng. www.viet-ebook.co.cc Welcome To Lê Hưng Ðịnh Nghĩa A: "Sao anh lại cắt dây điện ở phòng họp?" B: "Vì dây điện nhà tôi thiếu mất một khúc". A: "Như vậy là lấy công làm tư!" B: "Không, như vậy là lấy dài nuôi ngắn!" Trong HTML Web page các Tag Pair đều được định nghĩa trước và không chứa đựng ý nghĩa gì về dữ kiện mà chúng kẹp bên trong, trừ trường hợp cho TITLE. Thí dụ H1 có nghĩa display hàng chữ bên trong (Ðịnh Nghĩa) theo cở lớn nhất, nhưng hàng chữ ấy có thể là bất cứ thứ gì, không nhất thiết phải là từ (Ðịnh Nghĩa) ở đây. Còn XML thì cho phép ta tự do đặt tên các Tag Pair để dùng khi cần. Nếu tính ra, Dynamic HTML có đến khoảng 400 Tags mà nếu muốn dùng ta phải nhớ hết. Trong khi đó, XML không có giới hạn về con số Tags và ta không cần phải nhớ Tag nào cả. Ý nghĩa của các Tag rất linh động và ta có thể sắp xếp các tags của XML theo loại cho hợp lý. Thí dụ muốn làm một trang XML về môn Văn học ta cần những Tag diễn tả nhân vật, ngày sanh, ngày tử,... 3/ Vì sao XML quan trọng? Những tay thiết kế Web cho rằng nội dung là trên hết. Chẳng may, thông thường thì nội dung có liên quan chặt chẽ đến cách thức nó được hiển thị. Từ trước đến nay đã có bao nhiêu lần bạn nhìn thấy câu "Best viewed at 800-by-600-pixel resolution" (hiển thị tốt nhất ở độ phân giải 800x600) khi duyệt qua một trang Web? Thay vì phải chỉ rõ phương thức hiển thị, XML sẽ giúp giải quyết vấn đề đó bởi vì những người xây dựng Web sẽ có khả năng chỉ định cấu trúc của tài liệu. Ví dụ, bạn có thể chỉ định tựa đề của tài liệu, tác giả, một danh sách các liên kết có liên quan,... Khi đó bất kỳ một thiết bị nào với một trình duyệt XML đều có thể thể hiện một phiên bản của tài liệu được tạo đặc trưng cho thiết bị đó. Tuy nhiên, có lẽ tính năng ưu việt nhất của XML đó là khả năng mở rộng kế thừa. Các tổ chức và công ty sẽ có khả năng mở rộng XML để đáp ứng những thử thách và các ứng dụng mới. Một ngôn ngữ dựa trên XML hiện đang được sử dụng - CDF của Microsoft - và còn nhiều ngôn ngữ khác đang trong quá trình hoàn thiện sắp được đưa ra, bao gồm Resourse Definition Format (RDF) và Open Software Description (OSD). Vì cả tài liệu XML đều nằm dưới dạng Text String nên nếu gởi đi xa có hư mất chút đỉnh, đầu kia cũng đoán ra được. Giả dụ vào thế kỷ 23 sau nầy có ai bắt được một tài liệu XML của năm 2000, nhưng trong đó có vài chữ bị mờ, họ cũng đoán Lê Quang Anh Hưng có nghĩa là Lê Quang Anh Hưng . Mặc dầu ta nói ai muốn đặt ra TAG nào trong XML cũng được, nhưng thí dụ mỗi nghề nghiệp như cơ khí, y học, Tin học,... ấn định một số TAGs, mỗi TAG có ý nghĩa theo sự đồng ý trước trong nghề của mình, người ta có thể dùng XML và Style Sheet để quy định cách chứa dữ kiện và ngay cả cách trình bày cho riêng nghề của mình. Một công ty cơ khí có thể dùng một chương trình chạy tự động (Robot) để dọ giá những vật liệu tư từ các công ty cung cấp qua cách dùng XML. Đây là khởi đầu cho việc giao dịch kinh doanh tự động (Business-To-Business hay B2B). Có một quy ước về cách dùng XML để trao đổi dữ kiện đã được triển khai gọi là "Open Financial Exchange Format (OFX)". Người ta thiết kế OFX để cho các chương trình tài chánh như Microsoft Money và Quicken trao đổi dữ kiện hay gởi các dữ kiện tài chánh đến nhà băng,... www.viet-ebook.co.cc 4/ SGML, HTML, và XML có quan hệ với nhau như thế nào? Ngôn ngữ đánh dấu tiêu chuẩn tổng quát (SGML - Standard Generalized Markup Language) là một phương pháp biểu thị dữ liệu trong những ứng dụng xử lý văn bản. Nó đã tồn tại hơn một thập kỷ nay; cả XML lẫn HTML đều là những định dạng tài liệu có nguồn gốc từ SGML. Vì vậy, tất cả chúng đều cùng chia sẻ một số đặc tính chẳng hạn như một cú pháp tương tự và cách dùng các nhãn trong dấu ngoặc nhọn. Nhưng HTML là một ứng dụng của SGML, trong khi XML là một bộ trình con của SGML. Sự phân biệt là rất quan trọng. Cơ bản, HTML không thể dùng để định nghĩa nên các ứng dụng mới trong khi XML có thể thực hiện được việc này. Ví dụ, cả RDF lẫn CDF đều là những ứng dụng được định nghĩa bằng XML. XML và HTML thực sự giống như hai anh em họ hơn là hai anh em ruột:-). Tổ hợp Web toàn cầu W3C đã phát triển một biểu đồ lớn để làm sáng tỏ mối quan hệ này. XML thực sự tương thích với SGML - bất cứ một công cụ tạo hoặc duyệt SGML nào cũng có thể đọc được những tài liệu XML. Tuy nhiên, XML đỡ phức tạp hơn SGML, và nó được thiết kế để chạy trên một mạng băng tầng hữu hạn ví dụ như Internet. Theo Tim Bray - đồng biên tập viên XML - thì ý tưởng đằng sau XML là tận dụng lợi ích của SGML, loại bỏ những phần phức tạp, duy trì tính nhẹ nhàng, và làm cho nó hoạt động được trên Web. HTML, SGML, và XML sẽ tiếp tục được sử dụng ở những vị trí thích hợp; sẽ không có ngôn ngữ nào trong số chúng thể hiện bất cứ tính chất lỗi thời nào khác. HTML vẫn duy trì cách thức đơn giản nhất để phát hành dữ liệu nhanh chóng trên Web, thường là những dữ kiện ngắn hạn ví dụ như các chương trình nghị sự hoặc các tờ bướm quảng cáo. Nếu dữ kiện có một công dụng dài hạn hơn và cần một cấu trúc chặt chẽ hơn, thì các nhà xây dựng Web sẽ chuyển sang XML. Không giống như HTML và XML, SGML có thể sẽ chẳng bao giờ có được sự chấp nhận phổ biến trên Internet, đơn giản bởi vì nó chưa bao giờ được thiết kế hoặc được tối ưu cho các nhu cầu của một giao thức mạng. Mức tối đa, với những ứng dụng phát hành có cấu trúc chặt chẽ ở mức độ cao, SGML sẽ tiếp tục phù hợp với mọi yêu cầu. 5/ XML được thực hiện như thế nào? XML được sử dụng trong hai cách khác nhau. Một cho sự trao đổi lẫn nhau giữa người và máy, ví dụ như từ một máy chủ Web đến trình duyệt của một người sử dụng. Một cách khác cho sự trao đổi dữ liệu giữa các ứng dụng hoặc giữa máy với máy. Trong hai trường hợp, dường như bạn sẽ cần đến một cơ cấu ba tầng: một căn cứ cơ sở dữ liệu; một máy chủ tầng giữa, nơi logic công việc hoạt động theo dữ liệu; và máy khách hàng, nơi dữ liệu được trình bày và xử lý sâu hơn. Cơ sở dữ liệu có thể nhận thông tin từ nhiều nguồn dữ liệu khác nhau, có lẽ đã được định dạng XML. Tầng giữa khi đó có thể kéo dữ liệu lại với nhau và đưa nó sang tầng trình bày cuối cùng. Ngày nay, các trang Web đôi khi được phân phối theo cách này - NEWS.COM của CNET phát hành từ một cơ sở dữ liệu. Nhưng để vào một khung duyệt mới của một trang, chẳng hạn như tùy chọn mới về máy in thân thiện của NEWS.COM, thì máy chủ phải phát sinh một trang mới. Một tài liệu XML được định dạng hoàn hảo sẽ cho phép ứng dụng máy khách hàng hiệu chỉnh lại diện mạo tài liệu cho nhiều phương tiện khác nhau, ví dụ như một máy in. www.viet-ebook.co.cc Một trang XML đơn giản nhất: Chào XML! Mạnh giỏi? Bạn có thể dùng phần mềm XML Spy 2.0 để viết XML, tại thời điểm Tôi trình bày là đã có phiên bản ver 2.0 lâu rồi. Bạn cũng có thể dùng Notepad để viết trang trên và chứa trong một file tên là "chaohoi.xml" . XML dùng Unicode, bạn nên dùng Notepad của Windows NT/2000 để Edit và chứa file dưới dạng Unicode thay vì text. File XML có thể là Unicode hay một dạng nén của Unicode gọi là UTF-8 (nó dùng 1 byte để biểu diễn một mẫu tự nếu có thể được, nếu không được thì dùng 2 bytes như bình thường). Nếu bạn không có ý định dùng chữ Việt thì chỉ cần dùng ASCII text bình thường cho XML là được rồi. Mỗi trang XML đều bắt đầu bằng một "XML processing instruction" (lệnh xử lý XML). Processing instruction bắt đầu với . Chữ đầu tiên ngay sau <? là lệnh xử lý, trong trường hợp nầy là "xml". Trong câu processing instruction nói trên cũng có hai Attributes (phụ từ), đó là "version" (ấn bản) và "standalone" (đứng một mình) . Giá trị của chúng là "1.0" và "yes". Ở đây muốn nói rằng trang XML nầy được viết theo đúng XML 1.0 Specification và nó có thể làm việc một mình, không cần phải import (kéo thêm vào) file nào khác. và là một Tag Pair. Nó kẹp một dữ kiện bên trong. Thật ra ta có thể đặt tên cho Tag nầy thứ gì cũng được. Tức là cùng một trang XML nói trên, ta đã có thể viết theo một trong ba cách sau đây: www.viet-ebook.co.cc Chào XML! Mạnh giỏi? hay Chào XML! Mạnh giỏi? hay Chào XML! Mạnh giỏi? Mặc dù các Tag có tên khác nhau, nhưng cả ba trang XML đều có cùng cấu trúc và dữ liệu. Tuy nhiên, nếu đã có dự kiến chúng ta nên chọn tên các Tag cho có ý nghĩa rõ ràng để dễ trình bày trang XML cách trong sáng sau nầy. 8/ Well-Formed XML. Mặc dù bạn có thể đặt ra bao nhiêu Tag cũng được, nhưng mỗi trang XML cần phải theo một số qui luật để được xem là Well-Formed (Có đầu, có đuôi). Nếu một trang XML không Well-Formed thì coi như xài không đuợc, không có chương trình xử lý nào sẽ chịu làm việc với dữ liệu bên trong của nó. Do đó một trang XML cần phải theo đúng các qui luật sau đây: 1. Trang XML phải bắt đầu bằng câu tuyên bố XML (XML declaration) 2. Mỗi bộ phận, gọi là "element" phải nằm giữa một Tag Pair. 3. Nếu Tag nào không chứa gì ở giữa thì phải chấm dứt bằng "/>", thí dụ như hay . 4. Một trang XML phải có một element độc nhất chứa tất cả các elements khác. Đó là root của tree biểu diễn trang XML. 5. Các Tag Pair không được xen kẻ nhau (thí dụ như John Stanmore25 King Street là bất hợp lệ vì nằm trong Tag Pair name). và thêm một vài qui luật về cách dùng các mẫu tự đặc biệt. Ngoài ra các Tag Pair phải đánh vần đúng y như nhau kể cả chữ hoa, chữ thường, (thí dụ: và là bất hợp lệ) và tất cả giá trị các Attribute đều phải nằm giữa hai ngoặc kép (thí dụ: standalone=yes là bất hợp lệ, phải dùng standalone="yes" mới được.) Tài liệu tham khảo: Applied XML: A Toolkit for Programmers - Includes CD-Rom,... IBM's XML support. www.ibm.com/xml/ ........ ........ Lê Quang Anh Hưng
Tài liệu liên quan