Nghiên cứu CSDL XML, ONTOLOGY
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
Trang 2MỤC LỤC
PHẦN I LÝ THUYẾT 3
A XML 3
1 XML là gì? 3
1.1 Lịch sử: 3
1.2 Các đặc trưng của XML: 3
2 Những đóng góp và đặc điểm cụ thể của XML? 3
2.1 XML được dùng để tạo cấu trúc dữ liệu: 3
2.2 XML có một số điểm giống với HTML: 4
2.3 XML là một văn bản, nhưng không giống những loại văn bản thông thường: 4
2.4 XML có một tập hợp các kỹ thuật kèm theo: 4
2.5 XHTML là sự kết hợp giữa XML và HTML: 5
2.6 XML có tính module: 5
2.7 XML là cơ sở của RDF và Semantic Web 5
2.8 XML được sử dụng miễn phí, có platform độc lập và được hỗ trợ rất tốt: 6
3 So sánh giữa XML và HTML: 6
4 Cấu trúc của XML: 7
5 Ứng dụng của XML: 8
6 Biên dịch và chạy tài liệu XML: 8
7 DTD (Document Type Definition): 9
8 Xpath: 9
9 XSL: 14
B ONTOLOGY: 27
1 Giới thiệu về Ontology: 27
2 Vài trò của Ontology: 27
3 Xây dựng Ontology: 27
4 Các thành phần của ontology: 28
5 Ngôn ngữ Ontology: 29
5.1 RDFS (RDF-Shema): 29
5.2 OWL (Ontology Web Language): 30
6 Công cụ xây dựng và quản trị Ontology: 32
6.1 Quy trình phát triển Ontology: 32
6.2 Công cụ phát triển ontology: 34
PHẦN II ỨNG DỤNG 37
TÀI LIỆU THAM KHẢO 38
Trang 3NGHIÊN CỨU CSDL XML, ONTOLOGY
XML là một ngôn ngữ đánh dấu tương đối mới vì nó là một phần nhỏ hơn của
và đến từ một ngôn ngữ đánh dấu tên là Standard Generalized Markup Language (SGML) Ngôn ngữ HTML cũng dựa vào SGML, thật ra nó là một áp dụng của SGML
Vì SGML rất rắc rối, và HTML có nhiều giới hạn nên năm 1996 tổ chức W3C thiết kế XML XML version 1.0 được định nghĩa trong hồ sơ February 1998 W3C Recommendation, giống như một Internet Request for Comments (RFC), là một "tiêu chuẩn" Từ HTML đến XML
Sử dụng kỹ thuật XML không chỉ có tập đoàn Microsoft mà ngay cả hãng Sun, IBM, Oracles đều hỗ trợ XML và dùng nó trong các ứng dụng
1.2 Các đặc trưng của XML:
XML: Extensible Markup Language – là ngôn ngữ tổng quát dùng để
lưu trữ dữ liệu thông qua các thẻ có ý nghĩa
XML: Được định nghĩa bởi tổ chức mạng toàn cầu World Wide Web
Consortium (W3C).
Là ngôn ngữ đánh dấu độc lập với phần mềm, phần cứng
Cho phép các máy tính truyền các cấu trúc dữ liệu giữa hệ thống không đồng nhất
2 Những đóng góp và đặc điểm cụ thể của XML?
2.1 XML được dùng để tạo cấu trúc dữ liệu:
Chẳng hạn như bảng công tác, sổ địa chỉ, các tham số cấu hình, giao dịch tài chính và vẽ kỹ thuật XML là một hệ thống các luật (có thể coi là những hướng dẫn hay quy ước) dựng cho việc thiết kế các format cho văn bản giúp tạo cấu trúc cho dữ liệu XML không phải là ngôn ngữ lập trình và người dùng cũng không cần phải là
Trang 4NGHIÊN CỨU CSDL XML, ONTOLOGY
một lập trình viên để có thể học và sử dụng nó thành thạo XML giúp cho người dùng dễ dàng tạo dữ liệu, đọc dữ liệu và làm cho cấu trúc dữ liệu trở nên rõ ràng dễ hiểu XML cũng giúp tránh được những bẫy thông thường trong thiết kế ngôn ngữ:
nó có thể mở rộng, có platform hoàn toàn độc lập và hỗ trợ tính quốc tế hóa và nội địa hóa XML hỗ trợ hoàn toàn Unicode
2.2 XML có một số điểm giống với HTML:
Tương tự HTML, XML cũng sử dụng các tags (các từ được đặt trong ngoặc với '<' và '>') và dựng thuộc tính (với mẫu name="value") Trong khi HTML đặc biệt chú ý tới từng tag và attribute có ý nghĩa gì, và phần văn bản giữa các tag đó sẽ hiển thị như thế nào trong trình duyệt thì XML sử dụng các tag chỉ để phân định ranh giới giữa các mẩu dữ liệu, và coi việc đọc và xử lý dữ liệu đó hoàn toàn là nhiệm vụ của ứng dụng Nói cách khác, nếu thấy "<p>" trong một file XML, đừng cho rằng đó là
ký hiệu của một đoạn Tùy thuộc vào văn cảnh, nó có thể là giá (price), một tham số (a parameter), một người (a person), hay một cái gì đó bắt đầu bằng chữ cái 'p' trong tiếng Anh
2.3 XML là một văn bản, nhưng không giống những loại văn bản thông thường:
Các chương trình dựng để tạo bảng công tác, sổ địa chỉ, và các dữ liệu được cấu trúc hóa thông thường lưu dữ liệu trên đĩa, sử dụng khuôn dạng text hay nhị phân Một thuận lợi của khuôn dạng văn bản là cho phép xem dữ liệu mà không cần phải có chương trình tạo ra dữ liệu đó; nói cách khác,người dùng có thể đọc nó với bất kì bộ soạn thảo văn bản nào mà họ thích Các khuôn dạng văn bản cũng cho phép tìm lỗi dễ dàng hơn trong các ứng dụng Tuy nhiên XML lại có điểm không bằng HTML, các luật dựng trong file XML rất hạn chế Chỉ cần quên một tag, hay một thuộc tính không đi kèm với nội dung (quots) sẽ làm cho toàn bộ file XML đó ngừng hoạt động, trong khi ở HTML những lỗi này có thể được bỏ qua Bản ghi XML chính thức không cho phép các ứng dụng tìm hiểu đến lần thứ 2 nguyên nhân gây lỗi file XML; nếu file bị lỗi ứng dụng đó ngừng hoạt động ngay lập tức và báo lỗi
2.4 XML có một tập hợp các kỹ thuật kèm theo:
XML 1.0 là một bản ghi định nghĩa về "tags" và "thuộc tính" Trên XML 1.0,
"the XML family" là một bộ các module cung cấp các dịch vụ hữu dụng để hoàn thành những nhiệm vụ yêu cầu cú tính chất thường xuyên và quan trọng Xlink được coi như một phương thức chuẩn để đưa các liên kết siêu văn bản vào file XML XPointer and XFragments là những cú pháp để phát triển các phần trong văn bản XML XPointer có đôi chỗ giống URL, nhưng thay vì tập trung vào văn bản trên
Trang 5mạng, nó lại tập trung vào từng đoạn dữ liệu trong file XML CSS, the style sheet language, có thể áp dụng được đối với XML giống như HTML XSL là một loại ngôn ngữ rất tiến bộ dựng cho style sheets Nó dựa trên XSLT, một loại ngôn ngữ chuyển đổi sử dụng trong việc sắp xếp lại, Thêm vào và xoá đi một số tag và thuộc tính DOM là một bộ các chức năng chuẩn dựng cho thao tác file XML (và HTML)
từ một ngôn ngữ lập trình XML Schemas 1 và 2 giúp các nhà thiết kế định nghĩa chính xỏc cấu trúc định dạng trên của chính họ Ngoài ra còn có một số module và công cụ khác hay vẫn đang được phát triển
2.5 XHTML là sự kết hợp giữa XML và HTML:
XML có một ứng dụng rất quan trọng đó là khuôn dạng văn bản: XHTML của W3C, đây là thế hệ tiếp sau của HTML XHTML có nhiều điểm chung với HTML Tuy nhiên, trong cú pháp cũng có một số thay đổi để phù hợp với các luật trong XML Một văn bản được tạo ra với XML sẽ mang cấu trúc của XML và bị hạn chế ở một số phương diện (Ví dụ, XHTML cho phép "<p>", nhưng lại không cho
"<r>"); nó cũng bổ sung thêm ý nghĩa cho cú pháp (XHTML qui định "<p>" là
"đoạn văn (paragraph)", chứ không phải "giá (price)", "người (person)", hay bất cứ một cái gì khác)
2.7 XML là cơ sở của RDF và Semantic Web
Khung miêu tả tài nguyên của W3C (RDF) là một khuôn dạng văn bản XML
hỗ trợ mô tả tài nguyên và các ứng dụng metadata, ví dụ như danh sách bản nhạc, bộ sưu tầm ảnh , sưu tầm thư mục RDF cho phép bạn nhận diện người trong album ảnh web sử dụng thông tin từ danh sách liên lạc cá nhân; sau đó chương trình nhận gửi thư sẽ tự động gửi message đến những người này thông báo cho họ biết ảnh của họ đang ở trên mạng Cũng như các văn bản tích hợp HTML, hệ thống menu, và ứng dụng forms dựng để bắt đầu các Web gốc, ứng dụng tích hợp RDF và các tác nhân trong Semantic Web Cũng giống như con người cần có sự thống nhất về ý nghĩa
Trang 6những từ họ sử dụng trong giao tiếp, các máy vi tính cần có cơ chế thống nhất về ý nghĩa các thuật ngữ để truyền đạt thông tin một cách hiệu quả Định nghĩa chính thức các thuật ngữ trong một vài lĩnh vực (mua bán hay sản xuất) gọi là bản thể học rất cần thiết trong Web Semantic RDF, bản thể học, và việc thể hiện ý nghĩa, vì vậy các máy tính có thể giúp con người tiến hành công việc của mình là toàn bộ nội dung hoạt động của Semantic Web.
2.8 XML được sử dụng miễn phí, có platform độc lập và được hỗ trợ rất tốt:
Khi lựa chọn XML làm cơ sở để thực hiện một dự án, bạn có thể tiếp cận với rất nhiều các cụng cụ phát triển Lựa chọn XML có đôi chút giống với chọn SQL cho
cơ sở dữ liệu: bạn vẫn phải xây dựng cơ sở dữ liệu cho mình và các chương trình riêng cũng như phải có những qui tắc để thao tác nó Có rất nhiều công cụ có sẵn và bạn cũng có thể dễ dàng nhận được sự giúp đỡ của nhiều người Và XML không cần phải mua bản quyền mới sử dụng được nên bạn có thể tạo cho mình một phần mềm riêng mà không phải trả một khoản chi phí nào hết
3 So sánh giữa XML và HTML:
Phân biệt giữa HTML Sitemap và XML Sitemap? Khi nói về sitemap (sơ đồ website), chúng ta thường nhắc đến hai loại chính: HTML (Hyper Text Makeup Language) sitemap và XML (EXtensible Makeup Language) sitemap Tuy chức năng
cơ bản đều là sơ đồ cấu trúc website, nhưng về đối tượng và kỹ thuật thì lại hoàn toàn khác nhau
Cả HTML và XML đều dựa trên chuẩn ngôn ngữ dạng tổng quát SGML
Content Markup Language Presenttation Markup Language
Cho phép người dùng định nghĩa các phần
tử
Các phần tử đã được định nghĩa sẵn
Cho phép trao đổi dữ liệu giữa các ứng
dụng
Chỉ được thiết kế để trình diễn
Cần phải được định nghĩa một cách chặt
chẽ
Không bắt buộcCác phần tử cần phải đóng Các phần tử rỗng không cần phải đóng
Trang 74 Cấu trúc của XML:
Một tài liệu XML gồm:
• Định nghĩa các phần tử, các thuộc tính, kiểu dữ liệu,vv
• Chứa các dữ liệu, các phần tử chứa dữ liệu như text, hình ảnh,
media,vv
• Tập tin XML có phần mở rộng XML
Ví dụ: greeting.xml
Trang 8Giải thích:
Ưu điểm của XML:
• Dễ dàng xử lý, chuyển tải và trao đổi dữ liệu
• Mô tả dữ liệu và cách dữ liệu muốn thể hiện thông qua thẻ nhớ
• Tổ chức dữ liệu có cấu trúc và phân cấp
5 Ứng dụng của XML:
• CML – Ngôn ngữ định dạng hóa học.
• MathML – Ngôn ngữ định dạng toán học.
• XHTML: Mở rộng và định nghĩa lại HTML.
• WML (Wireless Markup Language)
6 Biên dịch và chạy tài liệu XML:
Bộ kiểm tra (XML Validator)
• Dùng để kiểm tra tài liệu XML viết có đúng khuôn dạng và hợp lệ hay không?
• Các bộ kiểm tra thông dụng
• XML Write: Là trình soạn thảo và kiểm tra tính hợp lệ của tài
liệu
Trang 9• Altova XMLSpy 2010 : Là trình biên tập và là môi trường phát
triển XML bán chạy nhất thị trường cho các tác vụ tạo mẫu, biên tập, chuyển đổi cũng như dò lỗi các công nghệ dựa trên nền tảng XML
7 DTD (Document Type Definition):
DTD là một bộ những qui tắc cú pháp cho nhãn Nó cho bạn biết những nhãn nào bạn có thể sử dụng trong một tài liệu, chúng nên được xếp theo thứ tự nào, những nhãn nào có thể xuất hiện bên trong các nhãn khác, những nhãn nào có các thuộc tính, Một DTD có thề là một bộ phận của một tài liệu XML, nhưng thường nó là một tài liệu riêng biệt hoặc một loại các tài liệu
<?xml version="1.0"?>
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
Chúng ta đã thấy cấu trúc và cú pháp của XML tương đối đơn giãn XML cho
ta một cách chuẩn để trao đổi tin tức giữa các computers Bước tiếp theo là tìm hiểu cách nào một chương trình chế biến (process) một tài liệu XML
Dĩ nhiên để chế biến một XML chương trình ứng dụng phải có cách đi lại bên trong tài liệu để lấy ra values của các Elements hay Attributes Do đó người ta thiết kế
Trang 10ra ngôn ngữ XML Path language, mà ta gọi tắt là XPath XPath đóng một vai trò
quan trọng trong công tác trao đổi dữ liệu giữa các computers hay giữa các chương trình ứng dụng vì nó cho phép ta lựa chọn hay sàng lọc ra những tin tức nào mình muốn để trao đổi hay hiển thị
Nếu khi làm việc với cơ sở dữ liệu ta dùng SQL statement Select from
TableXYZ WHERE để trích ra một số records từ một table, thì khi làm việc với
XML, một table dữ liệu nho nhỏ, XPath cho ta những expressions về criteria (điều
kiện) giống giống như clause WHERE trong SQL
XPath là một chuẩn để process XML, cũng giống như SQL là một chuẩn để làm việc với cơ sở dữ liệu Tiên phuông trong việc triển khai các chương trình áp dụng XPath là công tác của các công ty phần mềm lớn như Microsoft, Oracle, Sun, IBM, v.v Sở dĩ ta cần có một chuẩn XPath là vì nó được áp dụng trong nhiều hoàn cảnh, nên cần phải có một lý thuyết rõ ràng, chính xác
Lý thuyết về XPath hơi khô khan nhưng nó được áp dụng trong mọi kỹ thuật của gia đình XML Cho nên bạn hãy kiên nhẫn nắm vững những điều căn bản về nó để khi nào gặp chỗ người ta dùng XPath thì mình nhận diện và hiểu được So với võ thuật, thì XPath trong XML giống như Tấn pháp và cách thở Tập luyện Tấn pháp thì mõi chân, tập thở thì nhàm chán, nhưng không có hai thứ đó thì ra chiêu không có công lực, chưa đánh đã thua rồi
XPath cho ta cú pháp để diễn tả cách đi lại trong XML Ta coi một tài liệu XML như được đại diện bằng một tree (cây) có nhiều nodes Mỗi Element hay Attribute là một node Để minh họa ý niệm nầy, bạn hãy quan sát tài liệu đặt hàng (order) XML sau:
Trang 11Ta có thể biểu diễn XML trên bằng một Tree như dưới đây, trong đó node Element màu nâu, node Attribute màu xanh:
Chỉ định Location Path
Bạn có thể dùng XPath expression để chỉ định Location Path (lối đi đến vị trí)
đến node nào hay trích ra (trả về) một hay nhiều nodes thỏa đúng điều kiện yêu cầu
XPath expression có thể là tuyệt đối, tức là lấy node gốc làm chuẩn hay tương đối, tức là khởi đầu từ node vừa mới được chọn Node ấy được gọi là context node (node
vai chính trong tình huống)
Có hai cách viết để diễn tả XPath Location, viết nguyên và viết tắt Trong cả hai
cách ta đều dùng dấu slash (/) để nói đến Document Element, tức là node gốc Ta có
thể đi lại trong các node của Tree giống giống như các node của Windows System Directory mà ta thấy trong Panel bên trái của Window Explorer Ta cũng sẽ dùng
những ký hiệu như slash /, một chấm và hai chấm của Windows System File Folder
cho cách viết tắt trong XPath Location để đi xuống các nodes con, cháu, chỉ định context node, hay đi ngược lên các nodes tổ tiên
Trang 12Location Path tuyệt đối
Chúng ta hãy tìm vài location paths trong cái Tree của tài liệu XML về đặt hàng
nói trên Muốn chọn cái node của Element Order (nó cũng là Root Element) bằng cú
pháp nguyên, ta sẽ dùng XPath expression sau đây:
Nếu bạn muốn lấy ra một node Attribute, bạn phải nói rõ điều nầy bằng cách
dùng từ chìa khóa (keyword) attribute trong cách viết nguyên hay dùng character @
trong cú pháp tắt Do đó để lấy Attribute OrderNo của Element Order, ta sẽ dùng
XPath expression sau:
/child::Order/attribute::OrderNo
Cú pháp tắt cho Attribute OrderNo là:
/Order/@OrderNo
Để trích ra các nodes con cháu, tức là các nodes nhánh xa hơn, ta dùng keyword
descendant trong cú pháp nguyên hay một double slash (//) trong cú pháp tắt Thí dụ,
để lấy ra các nodes Product trong tài liệu, bạn có thể dùng expression location path sau:
/child::Order/descendant::Product
Cú pháp tắt tương đương là:
/Order//Product
Trang 13Bạn cũng có thể dùng wildcards (lá bài Joker) để nói đến những nodes mà tên của chúng không thành vấn đề Thí dụ, dấu asterisk (*) wildcard chỉ định bất cứ node
tên nào Location path sau đây chọn tất cả các nodes con của Element Order:
/child::Order/child::*
Cú pháp tắt tương đương là:
/Order/*
Location Path tương đối
Nhiều khi XPath location paths là tương đối với context node, trong trường hợp
ấy location path diễn tả cách lấy ra một node hay một số (set of) nodes tương đối với
context node Thí dụ như, nếu Element Item thứ nhất trong order là context node, thì location path tương đối để trích ra Element con Quantity là:
child::Quantity
Trong cú pháp tắt, location path tương đối là:
Quantity
Tương tự như vậy, để lấy ra Attribute ProductID của Element con Product, cái
location path tương đối là:
Element OrderDate, thì Attribute OrderNo có thể được lấy ra từ Element Order bằng
cách dùng location path tương đối sau:
parent::Order/attribute::OrderNo
Để ý là cú pháp nầy chỉ trả về một trị số khi node cha tên Order Nếu muốn lấy
ra Attribute OrderNo từ node cha không cần biết nó tên gì bạn phải dùng expression
sau:
parent::*/attribute::OrderNo
Trang 14Viết theo kiểu tắt đơn giản hơn vì bạn không cần phải cung cấp tên của node
cha Bạn có thể nói đến node cha bằng cách dùng hai dấu chấm ( ) như sau:
/@OrderNo
Ngoài ra, bạn có thể nói đến chính context node bằng cách dùng hoặc keyword
self hoặc một dấu chấm (.) Điều nầy rất tiện trong vài trường hợp, nhất là khi bạn
muốn biết current context node là node nào
Dùng điều kiện trong Location Path
Bạn có thể giới hạn số nodes lấy về bằng cách gắn thêm điều kiện sàng lọc vào location path Cái điều kiện giới hạn một hay nhiều nodes được tháp vào expression
bên trong một cặp ngoặc vuông ([]) Thí dụ, để lấy ra mọi Element Product có
Attribute UnitPrice lớn hơn 70, bạn có thể dùng XPath expression sau đây:
XSL - eXtensible Style Sheet (những trang diễn tả dáng điệu) là một ngôn ngữ
chuẩn giúp ta biến đổi (transform) một tài liệu XML ra format khác, như HTML,
Trang 15Wireless (vô tuyến điện) Markup Language (WML), và ngay cả một XML khác Lúc nguyên thủy, XSL được thiết kế để sanh ra nhiều HTML trong những dạng khác nhau tùy theo Style sheet Tức là XSL thêm dáng điệu cho XML, vì chính bản chất của XML chỉ là một cấu trúc của những mảnh dữ liệu
Thí dụ ta có hai Style sheet versions cho một XML, một cái dùng để tạo ra HTML cho trang Web thông thường trên computer, còn cái kia để tạo ra trang Web dùng cho Mobile Phone hay Pocket PC, những dụng cụ có màn ảnh nhỏ Cả hai trang Web đều chứa cùng một số dữ liệu, có thể trên màn ảnh nhỏ thì giới hạn những dữ liệu quan trọng thôi, nhưng cách trình bày có thể rất khác nhau
Tuy nhiên, sau đó không lâu, người ta thấy XML có thể được XSL biến đổi ra bất cứ Output Format nào, ngay cả chính XML Có một version mới, rất hay của
XSL vừa ra đời Nó được gọi là XSL Transformations (XSLT)
Chúng ta sẽ lần lượt học các cú pháp thông dụng của XSL Tuy không nhiều, nhưng nó giúp bạn có một ý niệm căn bản về kỹ thuật nầy để bạn có thể bắt đầu dùng XSL style sheets biến chế dữ liệu trong tài liệu XML
Nên nhớ là giống như XPath, XSL và XSLT chỉ là những tiêu chuẩn ấn định những gì ta đòi hỏi một chương trình áp dụng được thực hiện để hổ trợ chúng cần phải có Tuy nhiên, ai triển khai chương trình đó, và bằng ngôn ngữ lập trình nào cũng được Thí dụ như Microsoft cho ta MSXML version 3 để dùng XSL và XSLT
Những trang XSL Style Sheet
Những trang XSL định nghĩa những style sheets (trang dáng điệu) để ta có thể
áp dụng vào những tài liệu XML Một style sheet chứa những chỉ dẫn (instructions)
để bảo một XML parser làm cách nào phát sinh (generate) ra một tài liệu trình duyệt kết quả cho những dữ liệu trong một tài liệu XML
Bản thân XSL style sheet cũng là một XML well-formed nhưng nó chứa những lệnh (commands) XSL và những câu HTML text dùng y nguyên cho output
Để XML parser nhận diện được các lệnh trong một XSL, bạn phải khai báo
(declare) một namespace trong root element, thường thường với một prefix xsl Một Style sheet thường thường chứa một trong hai namespaces: cái namespace XSL nguyên thủy (http://www.w3.org/TR/WD-xsl) hay cái namespace mới XSLT
(http://www.w3.org/1999/XSL/Transform) Microsoft XML parser (MSXML) từ version 3.0 trở lên đều hỗ trợ cả hai namespaces
Trang 16Xin lưu ý là Internet Explorer version 5.x dùng MSXML 2.5, nên không hỗ trợ
namespace XSLT Muốn khắc phục trở ngại ấy, hoặc là bạn cài đặt Internet Explorer
version 6, hoặc là bạn cài MSXML3 trong Replace mode bằng cách dùng công cụ tên
Xmlinst.exe để thêm chức năng hỗ trợ namespace XSLT trong IE v5.x
Cái Root Element trong một tài liệu XSL document thường thường là một
Element stylesheet Nó chứa một hay nhiều Element Template để được matched
(cặp đôi vì giống nhau) với dữ liệu trong tài liệu XML, thí dụ như tài liệu đặt hàng (order) dưới đây:
Style sheet nầy dựa trên namespace XSLT và chứa vỏn vẹn một template (bảng
kẻm in) được áp dụng vào Root (biểu hiệu bằng dấu slash / là trị số của Attribute
match) của tài lịệu XML và mọi Element bên trong của nó
Trang 17Một template thật thì gồm có một loạt Tags HTML sẽ hiện ra trong hồ sơ kết quả, nhưng trong trường hợp nầy cái Template không làm chuyện gì hữu ích; nó chỉ output (cho ra) một tài liệu HTML y nguyên như nằm trong XSL và không có chứa dữ liệu gì từ hồ sơ input XML Để merge (hòa đồng) các dữ liệu trong XML vào XSL
template, bạn cần phải dùng một ít lệnh (commands) XSL Lệnh value-of
XSL định nghĩa một số lệnh chế biến (processing commands) để trích dữ liệu ra
từ một tài liệu XML và hòa nó vào một hồ sơ kết quả Cái lệnh căn bản và hữu dụng
nhất trong số nầy là lệnh value-of Lệnh value-of chọn trị số (value) của một
Element hay Attribute nào đó trong XML và hòa nó với hồ sơ output
Lệnh value-of có dạng một XML Element trong XSL Nó dùng một Attribute tên select có value là một XPath Location Path để trích ra một Node Kết quả là value
của (value-of) Node ấy Do đó, khá hơn lần trước, bây giờ ta có thể trình bày dữ liệu
của XML với lệnh value-of như sau:
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
match parameter của Element template (trong trường hợp nầy là Root Element, biểu hiệu bằng dấu slash / )
Trang 18Áp dụng Style sheet nầy vào hồ sơ đặt hàng (order) XML ta sẽ được HTML sau đây:
Hầu hết ngôn ngữ lập trình cho ta phương tiện để áp dụng cùng một cách chế biến cho mọi món trong nhóm Như trong Visual Basic ta có FOR loop hay DO loop
để iterate qua từng món trong bộ Trong XSL cũng thế, bạn có thể dùng lệnh
for-each để đi lần lượt qua từng Element trong nhóm, bằng cách dùng Attribute select
để chỉ định những nodes mà bạn muốn làm việc
Thí dụ ta có thể làm cho cái Style sheet hay hơn bằng cách liệt kê các Item trong Order thành một table:
Trang 19Lưu ý ở đây các XPath expressions tương đối dùng cái Node chỉ định trong lệnh
for-each làm context node Trong trường hợp nầy nó là Node Item Cuối của for-each
loop là closing Tag của Element for-each (</xsl:foreach>) Style sheet trên nầy khi áp dụng vào tài liệu đặt hàng sẽ cho ra HTML sau đây: