Giới thiệu XSLT

Một phần của tài liệu Phần 3: Lập trình Cơ sở dữ liệu nâng cao với ADO.NET_Chương 14 (Trang 81 - 84)

XML là một cách tuyệt vời để trình bày dữ liệu trong một định dạng linh động, nhưng XML không chứa thông tin về việc làm sao để định dạng dữ liệu này cho sự hiển thị. Extensible Stylesheet Language Transformation (Sự biến đổi ngôn ngữ Stylesheet mở rộng) (XSLT) cho phép bạn kiểm soát sự định dạng của dữ liệu XML, và có thể thường thay đổi dữ liệu XML tới một định dạng thích hợp để trình bày nó như một tài liệu.

Một stylesheet XSL - cũng được biết đến như một file XSLT- là một khuôn mẫu chứa những quy tắc mô tả dữ liệu trong file XML sẽ được định dạng như thế nào cho sự hiển thị.

File XML và XSLT được xử lý cùng nhau bởi một bộ xử lý XSLT. Những quy tắc được định nghĩa trong file XSLT được ứng dụng vào dữ liệu trong file XML, và kết quả cuối cùng được xuất ra bởi bộ xử lý

XSLT.Microsoft Internet Explorer chứa một bộ xử lý XSLT, và bạn sẽ thấy những ví dụ trong mục này trình bày những kết quả của sự xử lý một file XML và XSLT trong Internet Explorer.

Ghi chú : Internet Explorer thật sự đến cùng với một file XSLT mặc định, nó gây cho những file XML sử dụng những màu khác nhau cho những phần của tài liệu XML và sẽ được trình bày với những biểu tượng + và - để mở rộng và co lại mạng lưới dữ liệu XML.

<?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <HTML> <HEAD> <TITLE>Customers</TITLE> </HEAD> <BODY> <xsl:for-each select="/NorthwindCustomers/Customers"> <p> <b>Customer:</b> <br><xsl:value-of select="CustomerID"/></br> <br><xsl:value-of select="CompanyName"/></br> <br><xsl:value-of select="PostalCode"/></br> <br><xsl:value-of select="Country"/></br> <br><xsl:value-of select="Phone"/></br> </p> </xsl:for-each> </BODY> </HTML> </xsl:template> </xsl:stylesheet>

Như bạn có thể thấy, file CustomersStylesheet.xsl chứa những thẻ HTML và những thẻ xsl. Những thẻ xsl là những chỉ dẫn chỉ định XML sẽ được thay đổi như thế nào. Bạn có thể tham chiếu file XSLT này trong một file XML ; những quy tắc trong file XSLT rồi được ứng dụng vào dữ liệu trong file XML . Bạn sẽ học cách làm điều đó như thế nào sau trong mục này.

Chúng ta hãy nhìn kỹ hơn tại những hàng trong file CustomersStylesheet.xsl . File này bắt đầu với hàng sau đây, nó cho biết file sử dụng XML phiên bản 1.0

<?xml version="1.0"?> Những hàng kế tiếp là những thẻ xsl <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/">

Dòng đầu tiên sử dụng xsl: thẻ stylesheet và chỉ định không gian tên http://www.w3.org/1999/XSL/Transform sẽ được sử dụng. Dòng thứ hai sử dụng xsl: thẻ template và gán thuộc tính phù hợp tới /, nó chỉ rõ toàn bộ tài liệu XML sẽ được chọn và sử dụng bởi bộ xử lý XSLT, bắt đầu tại nút gốc.

Ghi chú: Bạn có thể gán thuộctính match cho bất kỳ biểu thức XPath nào. Chẳng hạn, nếu bạn gán match tới //Customers, thì tất cả những nút Customers sẽ được chọn.

Những dòng kế tiếp là những thẻ HTML, nó bắt đầu phần HTML của file, định nghĩa một đầu mục, và bắt đầu thân mục.

<HTML> <HEAD>

</HEAD> <BODY>

Những hàng kế tiếp là nội dung thực sự của file XSLT và sử dụng xsl: thẻ for -each để lặp qua những nút Customers: <xsl:for-each select="/NorthwindCustomers/Customers"> <p> <b>Customer:</b> <br><xsl:value-of select="CustomerID"/></br> <br><xsl:value-of select="CompanyName"/></br> <br><xsl:value-of select="PostalCode"/></br> <br><xsl:value-of select="Country"/></br> <br><xsl:value-of select="Phone"/></br> </p> </xsl:for-each>

Còn lại dòng gần sát những phấn HTML và xsl của file: </BODY>

</HTML> </xsl:template> </xsl:stylesheet>

File XSLT chỉ chứa những quy tắc để thay đổi dữ liệu XML; chúng tôi vẫn còn cần cung cấp chính dữ liệu XML. Danh sách 16.10 cho thấy một file XML có tên CustomersUsingStylesheet.xml, chứa dữ liệu XML cho hai khách hàng.

Danh sách 16.10: CUSTOMERSUSINGSTYLESHEET.XML <?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="CustomersStylesheet.xsl"?> <NorthwindCustomers> <Customers> <CustomerID>ALFKI</CustomerID> <CompanyName>Alfreds Futterkiste</CompanyName> <PostalCode>12209</PostalCode> <Country>Germany</Country> <Phone>030-0074321</Phone> </Customers> <Customers> <CustomerID>ANATR</CustomerID>

<CompanyName>Ana Trujillo Emparedados y helados</CompanyName> <PostalCode>05021</PostalCode>

<Country>Mexico</Country> <Phone>(5) 555-4729</Phone> </Customers>

</NorthwindCustomers>

Danh sách này đồng nhất với File Customers.xml được trình bày trước đó trong Danh sách 16.7 nhưng với sự thêm của hàng sau, nó tham chiếu file CustomersStylesheet.xsl:

<?xml-stylesheet type="text/xsl" href="CustomersStylesheet.xsl"?>

Dòng này gây ra bộ xử lý XSLT đọc và áp dụng những quy tắc trong file CustomersStylesheet.xsl lên dữ liệu XML trong file CustomersUsingStylesheet.xml . Hình 16.5 trình bày CustomersUsingStylesheet.xml hiển thị như thế nào khi xem bằng Intrenet Explorer . để xem file này, kích phải vào CustomersUsingStylesheet.xml

trong Windows Explorer và chọn Open With > Internet Explorer.

Hình 16.5: xem CustomersUsing- Stylesheet.xml trong Internet Explorer Khi bạn mở CustomersUsingStylesheet.xml, Bộ xử lý XSLT của Internet Explorer mở file

CustomersStylesheet.xsl và áp dụng những quy tắc trong nó vào dữ liệu XML trong

CustomersUsingStylesheet.xml. Đầu ra được phát sinh bởi bộ xử lý XSLT và rồi được trình bày trong Internet Explorer.

Tôi chỉ bàn đến sử dụng XSLT trong mục này. XSLT là một ngôn ngữ rất mạnh chứa đựng nhiều chức năng bạn có thể sử dụng để định dạng dữ liệu XML của bạn. Để biết chi tiết hơn, xem Mastering XSLT viết bởi Chuck White (Sybex, 2002). Bạn cũng có thể học nhiều hơn tại trang web của tập đoàn mạng toàn cầu tại www.w3.org; hãy tìm trong XSLT trong bảng mục lục.

Một phần của tài liệu Phần 3: Lập trình Cơ sở dữ liệu nâng cao với ADO.NET_Chương 14 (Trang 81 - 84)

Tải bản đầy đủ (PDF)

(124 trang)