Phần 1 của bài giảng Chuyên đề công nghệ XML và ứng dụng cung cấp cho học viên những nội dung về: tổng quan XML; tạo tài liệu XML hợp khuôn dạng; định nghĩa kiểu tài liệu - DTD; định dạng tài liệu XML với CSS và XSL; phần tử điều khiển choose;... Mời các bạn cùng tham khảo!
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP QUẢNG NINH KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG CHUYÊN ĐỀ CÔNG NGHỆ XML VÀ ỨNG DỤNG (Dành cho sinh viên bậc Đại học) (LƯU HÀNH NỘI BỘ) Quảng Ninh, 2020 MỤC LỤC Chương 1: TỔNG QUAN VỀ XML 1.1 Giới thiệu tổng quan ngôn ngữ định dạng XML 1.2 Ngôn ngữ định dạng 1.3 Tài liệu XML hợp khuôn dạng 1.4 Tài liệu XML hợp lệ 1.5 Bộ phân tích XML 10 1.6 Bộ kiểm tra XML 11 1.7 Trình soạn thảo XML 12 1.8 Một số ứng dụng XML 12 Chương 2: TẠO TÀI LIỆU XML HỢP KHUÔN DẠNG 14 2.1 Xây dựng tài liệu hợp khuôn dạng 14 2.2 Định dạng liệu kiểu ký tự 16 2.3 Phần khởi đầu tài liệu XML 16 2.4 Các khai báo câu thích tài liệu XML 17 2.5 Không gian tên 17 2.6 Thẻ phần tử 18 2.6.1 Thẻ phần tử 18 2.6.2 Tên thẻ 18 2.6.3 Phần tử rỗng 18 2.7 Phần tử gốc 19 2.8 Thuộc tính 19 2.8.1 Tên thuộc tính 19 2.8.2 Trị gán cho thuộc tính 19 2.8.3 Thuộc tính xml:lang 20 2.9 Một số quy tắc xây dựng cấu trúc tài liệu hợp khuôn dạng 20 2.10 Phân đoạn CDATA 20 2.11 Không gian tên XML 21 2.11.1 Tạo không gian tên 21 2.11.2 Không gian tên cục 21 Tài liệu giảng dạy môn: Chuyên đề Công nghệ XML Ứng dụng Chương 3: ĐỊNH NGHĨA KIỂU TÀI LIỆU – DTD 23 3.1 Định nghĩa kiểu tài liệu 23 3.2 Định nghĩa tài liệu DTD 24 3.2.1 Phần tử 24 3.2.1.1 Định nghĩa DTD tham chiếu nội 24 3.2.1.2 Định nghĩa DTD tham chiếu ngoại 25 3.2.2 Phần tử 27 3.2.3 Phần tử 28 3.4 Thực thể 33 3.4.1 Thực thể gì? 33 3.4.1.1 Thực thể tổng quát 33 3.4.1.2 Thực thể tham số 35 Chương 4: ĐỊNH DẠNG TÀI LIỆU XML VỚI CSS VÀ XSL 38 4.1 Định dạng tài liệu CSS 38 4.1.1 Tạo chèn định nghĩa kiểu CSS 38 4.1.1.1 Định nghĩa khai báo CSS ngoại 39 4.1.1.2 Định nghĩa sử dụng CSS nội 39 4.1.1.3 Khai báo kiểu CSS trực tiếp 39 4.1.1.4 Nhóm định nghĩa kiểu vào lớp 40 4.1.2 CSS XML 40 4.2 XSL gì? 41 4.2.1 Quy tắc chung 42 4.2.2 Một số phần tử thường dùng XSL 42 4.2.2.1 Phần tử value-of 42 4.2.2.2 Phần tử attribute 44 4.2.2.3 Phần tử attribute-set 44 4.2.2.4 Phần tử element 44 4.2.2.5 Phần tử apply-templates 46 4.2.2.6 Phần tử call-template 47 4.2.2.7 Phần tử for-each 47 4.2.2.8 Phần tử if 48 Tài liệu giảng dạy môn: Chuyên đề Công nghệ XML Ứng dụng 4.2.2.9 Phần tử điều khiển choose 49 4.2.2.10 Phần tử variable 50 4.2.2.11 Phần tử param 50 4.2.2.12 Phần tử include 52 4.2.2.13 Phần tử import 52 Chương 5: LƯỢC ĐỒ XML 54 5.1 Tại nên dùng XML Schema? 54 5.2 Các thành phần XML Schema 54 5.2.1 Thành phần schema 55 5.2.2 Tham chiếu đến schema từ trang XML 56 5.3 Quá trình kiểm tra tính hợp lệ trang XML 56 5.4 Lược đồ không gian tên 57 5.5 Xây dựng lược đồ từ nhiều thành phần 57 5.6 Khai báo phần tử XML Schema 58 5.7 Các kiểu phần tử 58 5.7.1 Định nghĩa phần tử giản đơn 58 5.7.2 Các kiểu liệu thông dụng 59 5.7.3 Ví dụ 59 5.8 Giá trị mặc định cố định 59 5.9 Khai báo thuộc tính ràng buộc 60 5.9.1 Định nghĩa thuộc tính XSD 60 5.9.2 Khai báo loại thuộc tính 60 5.9.3 Ràng buộc nội dung 60 5.9.4 Ràng buộc giá trị 60 5.9.5 Ràng buộc ký tự dấu cách 62 5.9.6 Ràng buộc độ dài 63 5.9.7 Định nghĩa phần tử phức hợp 63 5.9.7.1 Định nghĩa phần tử phức hợp XSD 64 5.9.7.2 Định nghĩa phần tử rỗng 64 5.9.7.3 Định nghĩa phần tử chứa phần tử 65 5.10 Ví dụ XML, XSD VÀ XSL 65 Tài liệu giảng dạy môn: Chuyên đề Công nghệ XML Ứng dụng Chương 6: DOM VÀ XỬ LÝ XML VỚI JAVASCRIPT 69 6.1 Mô hình DOM 69 6.2 Nạp tài liệu XML cần xử lý JavaScript 70 6.3 Phần tử nạp liệu 77 6.4 Truy xuất nút liệu dựa vào tên 80 6.5 Truy xuất giá trị thuộc tính 82 6.6 Phân tích trực tiếp tồn liệu XML 84 6.7 Phân tích nội dung kiểu liệu nút 87 BÀI TẬP THỰC HÀNH 91 TÀI LIỆU THAM KHẢO 104 Tài liệu giảng dạy môn: Chuyên đề Công nghệ XML Ứng dụng Chương TỔNG QUAN VỀ XML Mục tiêu học tập: Sau học xong chương người học sẽ: - Có nhìn tổng quan ngôn ngữ XML - Hiểu tài liệu XML hợp lệ hay hợp khuôn dạng - Biết cách kiểm tra tính hợp lệ XML Tóm tắt chương Để tìm hiểu chi tiết XML nào, trước tiên, nên có nhìn tổng quát XML Chương giới thiệu cách tổng quát XML ứng dụng 1.1 Giới thiệu tổng quan ngôn ngữ định dạng XML Hiện XML (eXtensible Markup Language) chiếm vị trí quan trọng việc chuyển tải, trao đổi liệu liên lạc ứng dụng Điều khẳng định hệ điều hành từ WindowsXP trở hệ điều hành khác bên chứa nhiều tập tin XML Hơn Net đời làm cho XML trở nên thịnh hành ngày ứng dụng rộng rãi Sử dụng kỹ thuật XML khơng có tập đồn Microsoft mà Sun, IBM, Oracles điều hỗ trợ XML sử dụng hệ điều hành ứng dụng XML ngôn ngữ xây dựng cấu trúc tài liệu văn bản, dựa theo chuẩn SGML (Standard Generalized Markup Language: siêu ngôn ngữ có khả sinh ngơn ngữ khác) SGML phát triển cho việc định cấu trúc nội dung tài liệu điện tử, tổ chức ISO (International Organization for Standards) chuẩn hóa năm 1986 SGML IBM đưa ra, song khơng thể khơng kể đến đóng góp công ty khác XML W3C (World Wide Web Consortium - tổ chức độc lập định tiêu chuẩn cho trình duyệt Web, máy chủ ngơn ngữ) phát triển, đặc tả XML lại Netscape, Microsoft thành viên dự án Text Encoding Initiative (TEI) xây dựng Tổ chức W3C XML Special Interest Group có đại diện từ 100 cơng ty nhiều chuyên gia mời khác Lý đời XML SGML rắc rối khó sử dụng 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 định nghĩa hồ sơ February 1998 W3C Recommendation Điểm quan trọng kỹ thuật XML khơng thuộc riêng công ty Tài liệu giảng dạy môn: Chuyên đề Cơng nghệ XML Ứng dụng nào, sản phẩm mà trí tuệ thuộc giới, tiêu chuẩn người cơng nhận soạn W3C (World Wide Web Consortium) Bản thân XML đơn giản, công cụ chuẩn định để làm việc với XML Document Object Model - DOM, XPath, XSL, lại hữu hiệu, chuẩn phát triển không ngừng XML giống HTML ngôn ngữ đánh dấu, điều cần nói đời XML nhằm để khắc phục số mặt hạn chế HTML HTML XML sử dụng thẻ thẻ HTML liệu xây dựng định nghĩa trước, nghĩa người lập trình phải tuân thủ theo thẻ định nghĩa HTML, HTML có khoản 400 thẻ, để nhớ hết 400 thẻ khơng có khó khăn người lập trình web chuyên nghiệp thật khó người khơng chun Hơn nữa, thẻ HTML khơng nói lên mơ tả liệu Nhưng XML hồn tồn khác tag XML người lập trình tự định nghĩa thẻ mơ tả liệu mà người lập trình muốn truyền đạt 1.2 Ngôn ngữ định dạng Ngôn ngữ định dạng (Markup Language ) tất dùng để mơ tả nội dung tài liệu, cách mà nội dung tài liệu diễn dịch Tuy nhiên, ngôn ngữ định dạng thường sử dụng trước HTML Ví dụ: Tạo tập tin document.html Hello HTML Hello From HTML Well come to the wild and woolly word of HTML Kết tập tin document.html hiển thị trình duyệt: Tài liệu giảng dạy môn: Chuyên đề Công nghệ XML Ứng dụng HTML XML có mối quan hệ gần với Cả hai dựa chuẩn ngôn ngữ định dạng tổng quát SGML Câu hỏi đặt là: XML sử dụng hiển thị trình duyệt nào? Sau chuyển nội dung tập tin document.html sang thành tập tin document.xml sau: Hello From XML Well come to the wild and woolly word of HTML Kết hiển thị trình duyệt tập tin document.xml Tài liệu giảng dạy môn: Chuyên đề Công nghệ XML Ứng dụng Hai kết hoàn toàn khác Đối với tập tin document.xml chúng hiển thị với tập tin gốc trình duyệt khơng hiểu thẻ ta tự định nghĩa Chính vậy, để trình duyệt hiểu thẻ ta định nghĩa hiển thị chúng, ta phải dùng bảng định kiểu (Style Sheet) Có cách bảng định kiểu định dạng: - Dùng CSS (Cascade Style Sheet) - Dùng XSL (Extensible Style Language) Ví dụ: Ta dùng bảng định kiểu CSS để hiển thị nội dung tập tin document.xml Bước 1:Ta thêm đoạn code (in đậm) vào tập tin document.xml sau: Hello From XML Well come to the wild and woolly word of HTML Bước 2:Tạo tiếp tập tin document.css: GREETING { display:block; font-size:18pt; color:#FF0000; text-align:center; } MASSAGE {display:block; font-size:18pt; color:#000000;} Bây giờ, kết chạy tập tin document.xml trình duyệt có hình dạng sau khơng cịn hiển thị nội dung tập tin gốc Tài liệu giảng dạy môn: Chuyên đề Công nghệ XML Ứng dụng 1.3 Tài liệu XML hợp khuôn dạng Tài liệu XML gọi hợp khn dạng (Well-formed) cần phải tuân theo cú pháp thiết lập cho XML tổ chức W3C Các quy tắc nêu đặc tả XML 1.0 (những quy định luật thẻ, phần tử, thuộc tính, giá trị,…) Nói cách khác, tài liệu XML hợp khuôn dạng phải tài liệu XML có cấu trúc Để hợp khn dạng, tài liệu XML phải tuân theo luật sau: - Có phần tử gốc nhất, chứa tất phần tử khác - Mỗi thẻ mở phải có thẻ đóng giống Ví dụ: Thẻ sai ; Hay ; - Mỗi phần tử nằm trọn phần tử cha - Giá trị thuộc tính XML phải đặt cặp ngoặc kép hay cặp ngoặc đơn - Các khai báo phải đặt dòng tài liệu - Chỉ có thành phần gốc (root) Ví dụ: Tài liệu hợp khn dạng Hello From XML Well come to the wild and woolly word of HTML 1.4 Tài liệu XML hợp lệ Tài liệu XML gọi hợp lệ (Valid) tài liệu kết hợp với định nghĩa kiểu liệu (DTD – Document Type Definition) tuân theo chuẩn DTD Hầu hết trình duyệt kiểm tra tính hợp khn dạng trước Tiếp theo vài trình duyệt kiểm tra thêm tính hợp lệ tài liệu XML Các định nghĩa DTD nhằm xác định cú pháp đắn cho tài liệu DTD chứa tập tin riêng biệt chứa tài liệu, DTD sử Tài liệu giảng dạy môn: Chuyên đề Công nghệ XML Ứng dụng (internal) đặt trực tiếp tập tin tài liệu HTML Ngồi ra, cịn sử dụng định nghĩa CSS trực tiếp nơi định dạng văn 4.1.1.1 Định nghĩa khai báo CSS ngoại Cấu trúc khai báo CSS ngoại: … … Dùng thẻ tài liệu HTML để tham chiếu đến tập tin định kiểu CSS ngoại sau: CSS and HTML Document Here is body style Heading Style Heading Style Both Heading StyleParagrap here
4.1.1.2 Định nghĩa sử dụng CSS nội Các định nghĩa CSS nội thường đặt thẻ đầu tài liệu HTML hr {color: sienna} p {margin-left: 20px} body {background-image: url(“images/back40.gif”)} 4.1.1.3 Khai báo kiểu CSS trực tiếp Ta định kiểu CSS phần định dạng Ví dụ:Tài liệu giảng dạy môn: Chuyên đề Công nghệ XML Ứng dụng 39 This is paragraph
Cách khai báo CSS trực tiếp khơng tổng qt áp dụng cho định dạng đặc trưng cho phép chồng lên định dạng CSS khai báo trước 4.1.1.4 Nhóm định nghĩa kiểu vào lớp Thay áp dụng kiểu CSS trực tiếp cho phần tài liệu, ta nhóm thuộc tính định kiểu lại thành nhóm gọi lớp (class) Định nghĩa lớp bắt đầu dấu chấm (.), tiếp đến tên lớp Ví dụ: RED_ITALIC lớp mang kiểu thuộc tính bao gồm chữ màu đỏ in nghiêng hr {color: sienna} p {margin-left: 20px} body {background-image: url(“images/back40.gif”)} RED_ITALIC {color: red; font-style=italic} Sử dụng lớp phần tử định dạng thuộc tính CLASS Ví dụ:This is paragraph use red_italic class
4.1.2 CSS XML Dữ liệu XML khơng có khả hiển thị, CSS hỗ trợ quy định màu sắc liệu cụ thể mà phần tử XML dùng để hiển thị trình duyệt Khai báo sử dụng CSS XML tương tự HTML Ví dụ: Ta tạo tập tin style.xml bên dưới: XML Programming By MK IntroductionThis Introduction to XML Programming
XML is markup language for documents Tài liệu giảng dạy môn: Chuyên đề Công nghệ XML Ứng dụng 40
Tập tin style.css định trên, định nghĩa sau: TITLE {display: block; font-size: 24pt; font-weight:bold; text- font-weight:bold; text- align: center; text-decoration:underline} AUTHOR {display: block; font-size:18pt; align: center} SECTION {display: block; font-size: 16pt; font-weight:bold; textalign: center; font-style:italic} P {display: block; margin-top: 10} RED_ITALIC {color: red; font-style:italic} Kết tập tin style.xml hiển thị trình duyệt sau: 4.2 XSL gì? XSL (Extension Style Language) ngôn ngữ chuẩn giúp chuyển đổi tài liệu XML thành định dạng khác HTML, WML (Wireless Markup Language), định dạng XML khác Ban đầu XSL thiết kế để sinh HTML dạng khác tùy theo style sheet Nhưng XSL hữu ích cho việc chuyển đổi định dạng tài liệu XML Hiện có phiên XSL XSLT (eXtensible Style Sheet Transformations) Để biết XSL làm việc kết hợp nào, lần lược tìm hiểu số cú pháp XSL Tài liệu giảng dạy môn: Chuyên đề Công nghệ XML Ứng dụng 41 4.2.1 Quy tắc chung Bản thân XSL XML well-formed chứa lệnh liệu HTML dùng y ngun cho liệu Vì phải tuân thủ quy tắc XML well-formed Để trình phân tích XML nhận diện lệnh XSL cần phải khai báo namespace phần tử gốc Một style sheet thường chứa hai namespace: Namespace nguyên thủy: http://www.w3.org/TR/WD-xsl Namespace XSLT: http://www.w3.org/1999/XSL/Transform Phần tử gốc tài liệu XSL thường phần tử xsl:stylesheet, chứa hay nhiều phần tử xsl:template Ví dụ: Chúng ta có tập tin test.xsl sau: Northwind Home PageCustomer Order
Thuộc tính match phần tử template để nút (node) xuất phát Để tham chiếu tập tin XSL vào tài liệu XML cách thêm vào đầu tài liệu XML dòng: Trong URI/URL địa tài liệu XSL mà muốn tham chiếu Ví dụ: Muốn tham chiếu đến tập tin test.xsl ta thực dòng khai báo sau: 4.2.2 Một số phần tử thường dùng XSL 4.2.2.1 Phần tử value-of Phần tử value-of có chức chọn giá trị phần tử hay thuộc tính Tài liệu giảng dạy môn: Chuyên đề Công nghệ XML Ứng dụng 42 tài liệu XML để hịa vào tài liệu xuất Value-of sử dụng thuộc tính select có giá trị biểu thức XPath để trích phần tử Kết kết việc thực biểu thức XPath Ví dụ: Tài liệu XSL lưu với tên test.xsl XML 10 4 7 value-of Kết hiển thị trình duyệt 10 Giải thích ví dụ: Dịng 1: Phần tử stylesheet dùng để khai báo namespace, báo cho trình phân tích biết phiên XSLT Dịng 2: Khai báo kiểu liệu ra, kiểu liệu dạng HTML Dòng 3: Khai báo phần tử template cho biết vị trí khởi đầu phần tử gốc Dòng 4: Các thẻ mở HTML Dòng 4, 6, 7: Chọn nội dung phần tử BBB thứ 1, 2, Dịng 8: Các thẻ đóng HTML Dịng 9: Thẻ đóng phần tử template Dịng 10: Thẻ đóng phần tử stylesheet Tài liệu giảng dạy mơn: Chuyên đề Công nghệ XML Ứng dụng 43 4.2.2.2 Phần tử attribute Phần tử giúp đưa thêm thuộc tính vào phần tử hồ sơ kết với trị số lấy từ tài liệu XML Ví dụ: Tài liệu XSL lưu với tên test.xsl XML Products.php?ProductID= Chair xsl:value-of select="Product"/> Kết hiển thị trình duyệt Chair Giải thích ví dụ: Dịng 4: Tạo thuộc tính có tên HREF cho phần tử A dòng Kết cho từ Chair, từ có link Products.php? ProductID=1 4.2.2.3 Phần tử attribute-set Phần tử dùng để tạo tập thuộc tính Phần tử có hai thuộc tính: - name: Tên tập thuộc tính - use-attribute-sets: Nếu thuộc tính sử dụng giá trị tên tập thuộc tính khác để bổ sung vào cho tập thuộc tính Các phần tử phần tử phần tử attribute 4.2.2.4 Phần tử element Phần tử cho phép thêm phần tử vào tài liệu kết Phần tử có thuộc tính: - name: Giá trị tên phần tử cần định nghĩa - namespace: Giá trị không gian tên Tài liệu giảng dạy môn: Chuyên đề Công nghệ XML Ứng dụng 44 - use-attribute-set: Giá trị nhiều tên phần tử attribute hay attribute-set khác (có nghĩa muốn dùng thuộc tính định nghĩa phần tử attribute) Ví dụ: Tài liệu XSL lưu với tên test.xsl xsl:attribute name = "a">1 bbb ccc xsl:attribute name = "b">2 Kết hiển thị trình duyệt 33 44 10 11 12 13 555 14 15 16 Giải thích ví dụ: Dịng 3: Thiết lập tập thuộc tính, tập có tên xxx Dịng 4, 5: Thiết lập hai thuộc tính a b cho tập thuộc tính xxx Dịng 6: Thiết lập tập thuộc tính, tập có tên yyy, ngồi thuộc tính thiết lập dịng 8, cịn sử dụng thêm tập thuộc tính xxx Tài liệu giảng dạy môn: Chuyên đề Công nghệ XML Ứng dụng 45 Dòng 8, 9: Thiết lập thuộc tính cc dd cho tập thuộc tính yyy Dòng 11: Chỉ định phần tử gốc Dòng 12: Thiết lập phần tử QQQ có thuộc tính ngồi thuộc tính thiết lập dịng 13 cịn sử dụng thêm tập thuộc tính yyy Kết tạo mơt tài liệu XML, tài liệu có phần tử QQQ có thuộc tính a="1" b="2" cc="33" dd="44" xxx="444" 4.2.2.5 Phần tử apply-templates Khi style sheet chứa nhiều phần tử template, áp dụng chúng vào khung trình bày cách sử dụng phần tử apply-templates Chúng ta cần tạo phần tử template để chứa phần tử apply-templates, lấy kết template nằm bên ngồi template chứa để đưa vào khung trình bày Nếu trường hợp khơng có template ngồi áp dụng tự lấy kết thân Để dễ hiểu xem ví dụ sau: Tài liệu XSL lưu với tên test.xsl 10 4 7 Mã HTML kết BBB[1]: 10 BBB[2]: BBB[]: Tài liệu giảng dạy môn: Chuyên đề Công nghệ XML Ứng dụng 46 4.2.2.6 Phần tử call-template Phần tử dùng để triệu gọi xsl:template tên xsl:template Ví dụ: Tài liệu XSL lưu với tên test.xsl bbb ccc Kết hiển thị trình duyệt bbb ccc 4.2.2.7 Phần tử for-each Phần tử for-each dùng để qua tất phần tử định thuộc tính select (for-each làm việc giống lệnh for ngơn ngữ lập trình) Ví dụ: Tài liệu XSL lưu với tên test.xsl TT CN PM TTH Kết hiển thị trình duyệt TT CN PM TTH Tài liệu giảng dạy môn: Chuyên đề Cơng nghệ XML Ứng dụng 47 Giải thích ví dụ: Dòng 4: Phần tử for-each cho phép duyệt qua hết tất phần tử BBB Dòng 5: Phần tử value-of lấy nội dung phần tử BBB thời 4.2.2.8 Phần tử if Phần tử if phần tử dùng để kiểm tra điều kiện biểu thức logic, biểu thức logic có giá trị true phần tử bên phần tử if thực ngược lại khơng (cách làm việc giống câu lệnh if ngơn ngữ lập trình khác) Phần tử có thuộc tính tên test thuộc tính chứa biểu thức điều kiện Biểu thức biểu thức so sánh biểu thức XPath, kết true kết biểu thức nhận giá trị sau: - Một nút có nút - Một số khác không - Một mảnh - Một chuỗi khơng phải rỗng Ví dụ: Tài liệu XSL lưu với tên test.xsl bbb ="111"> B-1 : B-2 222 333 111 Kết hiển thị trình duyệt BBB:B-1 B-2 222 333 111 Giải thích ví dụ: Dịng 3: Dùng để node khởi đầu q trình trích liệu BBB CCC Tài liệu giảng dạy môn: Chuyên đề Cơng nghệ XML Ứng dụng 48 Dịng 4: Kiểm tra xem node có phải node thứ hay khơng, node có vị trí lấy tên node dấu “:” ngược lại khơng Dịng 5: Lấy nội dung node thời 4.2.2.9 Phần tử điều khiển choose Đây phần tử điều khiển chọn lựa, làm việc giống câu lệnh switch số ngôn ngữ lập trình Các chọn lựa phần tử điều khiển choose phần tử xsl:when (giống case trong câu lệnh switch ngôn ngữ C) phần tử xsl:otherwise (Giống default câu lệnh switch ngơn ngữ C) Phần tử choose khơng có thuộc tính, phần tử xsl:when có thuộc tính test, giá trị biểu thức, phần tử xsl:otherwise khơng có thuộc tính Để dễ hiểu xem ví dụ sau: Ví dụ: Tài liệu XSL lưu với tên test.xsl 10 4 test=7 7 test=4 otherwise Kết hiển thị trình duyệt ortherwise test=4 test=7 Giải thích ví dụ: Dịng 2: Chỉ định node bắt đầu Dòng 3: Phần tử lựa chọn Tài liệu giảng dạy môn: Chuyên đề Công nghệ XML Ứng dụng 49 Dòng 4: Kiểm tra xem giá trị node có hay khơng cho câu test=7 Dịng 4: Thực cơng việc giống dịng kiểm tra xem giá trị node có hay khơng, cho câu test=4 Dịng 6: Nếu hai điều kiện khơng thỏa cho câu ortherwise Kết quả: Lần lượt qua node BBB, node có giá trị 10 nên cho câu ortherwise tiếp đến qua node BBB thứ hai có giá trị nên cho câu test=4, cuối qua node BBB cuối có giá trị nên cho câu test=7 4.2.2.10 Phần tử variable Phần tử dùng để khai báo biến Để khai báo biến viết theo hai cách sau: - - Giá trị gián cho biến Một biến khai báo mà khơng có giá trị khởi tạo 4.2.2.11 Phần tử param Phần tử tương tự phần tử variable để khai báo biến hai phần tử có số điểm khác Phần tử param khai báo giá trị khởi gán cho giá trị default, giá trị biến thay đổi phần tử with-param (phần tử with-param dùng để gán giá trị cho biến khai báo phần tử param) Ví dụ: Tài liệu XSL lưu với tên test.xsl 11 bbb 33 ccc Tài liệu giảng dạy môn: Chuyên đề Công nghệ XML Ứng dụng 50 44 10 Kết hiển thị trình duyệt 11 + 33 = 44 44 + 111 = 166 111 + = 11 Giải thích ví dụ: Dịng 2: Tạo phần tử xsl:template, phần tử có hai phần tử xsl:calltemplate Dòng 3: Tạo phần tử xsl:call-template để triệu gọi phần tử template có tên print, phần tử call-template có hai phần tử xsl:param Dịng 4: Gán giá trị cho biến A =11 biến B=33 Dòng 7: Tương tự dòng 3, phần tử có phần tử xsl:param dùng để gán giá trị cho biến A=44 Dòng 10: Tạo phần tử xsl:template có tên print Phần tử có phần tử thực chức sau: - Khai báo biến A (khơng có giá trị khởi tạo) - Khai báo biến B (với giá trị khởi tạo 111) - Cho giá trị biến A - Cho dấu „+‟ - Cho giá trị biến B - Cho dấu „=‟ - Cho tổng biến A B Các bước thược hiện: Tài liệu giảng dạy môn: Chuyên đề Công nghệ XML Ứng dụng 51 - Gọi đến phần tử template có tên print, gán giá trị cho biến A=11, B=33 thực cộng hai biến A B - Gọi đến phần tử template có tên print, gán giá trị cho biến A=44 thực cộng hai biến A B 4.2.2.12 Phần tử include Phần tử làm việc giống câu lệnh include số ngơn ngữ lập trình (C, PHP ), tức phần tử có chức chèn đoạn tập tin XSL thuộc tình href phần tử include vào phần tử include, có nghĩa thực phép 4.2.2.13 Phần tử import Phần tử làm việc giống phần tử include, cần lưu ý phần tử import phải phần tử phần tử stylesheet Ví dụ: Tài liệu XSL lưu với tên test.xsl Xslt33.xslt version = "1.0"> xsl:output method = "text"/> xsl:template match = "/"> xsl:text >]: XML Kết hiển thị trình duyệt BBB[1]: cc BBB[3]: aa BBB[4]: fff cc BBB[4]: FFF ff BBB[6]: Aa aa BBB[7]: ccCCC Tài liệu giảng dạy môn: Chuyên đề Công nghệ XML Ứng dụng 52 fff FFF Aa ccCCC Kết chương Trong chương tìm hiểu qua cách chuyển dịch liệu XML sang định dạng HTML XSL XSL cho phép tạo tập mẫu tách rời định dạng liệu Dữ liệu thường đặt tập tin XML định dạng đặt tập tin XSL Tuy XSL CSS giống phần tạo định dạng kết xuất cho tài liệu XML XSL viết theo chuẩn đặc tả XML cịn CSS khơng Trong XSL nhờ vào thẻ điều khiển mà XML cung cấp Câu hỏi củng cố: Tại cần phải định kiểu XML? Nêu cú pháp cách khai báo CSS nội CSS ngoại XSL gì? Nêu số quy tắc chung sử dụng XSL? Cho biết số phần tử thường dùng XSL, cho ví dụ? Tự thực hành dùng CSS XSL Tài liệu giảng dạy môn: Chuyên đề Công nghệ XML Ứng dụng 53 ... 2 .10 Phân đoạn CDATA 20 2 .11 Không gian tên XML 21 2 .11 .1 Tạo không gian tên 21 2 .11 .2 Không gian tên cục 21 Tài liệu giảng dạy môn: Chuyên đề Công nghệ. .. 1. 5 Bộ phân tích XML 10 1. 6 Bộ kiểm tra XML 11 1. 7 Trình soạn thảo XML 12 1. 8 Một số ứng dụng XML 12 Chương 2: TẠO TÀI LIỆU XML HỢP KHUÔN... XML? Tài liệu giảng dạy môn: Chuyên đề Công nghệ XML Ứng dụng 13 Chương TẠO TÀI LIỆU XML HỢP KHUÔN DẠNG Mục tiêu học tập: Sau học xong chương người học sẽ: - Hiểu cú pháp XML; Các phần tử XML;