Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
561,02 KB
Nội dung
8/2/2010 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI ViỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG Lập trình PHP với MySQL Bài 05 XML, XHTML Do Ba Lam lamdb-fit@mail.hut.edu.vn Nội dung Giới thiệu XML Cú pháp XML Không gian tên XML Tài liệu XML hợp lệ Document Object Model (DOM) Simple API for XML (SAX) XML CSS Extensible Stylesheet Language (XSL) 8/2/2010 Giới thiệu XML • XML viết tắt từ eXtensible Markup Language (ngôn ngữ đánh dấu mở rộng) • Là ngôn ngữ dùng để định nghĩa liệu thông qua thẻ • Các thẻ định nghĩa Giới thiệu XML Nguyễn Bích Ngọc 10/10/1990 Hà Nội Trần Văn Đức 10/10/1991 Hải Phòng 8/2/2010 Giới thiệu XML • Lịch sử đời ▫ 1990, Tim Berners Lee đưa HTML ▫ 1995, nhóm XML mong muốn Không giới hạn ngôn ngữ Đơn giản cho lập trình viên Dễ dàng cho Search Enginge ▫ 11/1996, đặc tả XML phát hành ▫ 2/1998, W3C phê chuẩn công nhận version 1.0 XML Giới thiệu XML • Các chức ▫ ▫ ▫ ▫ Dễ dàng trao đổi liệu Tùy biến ngôn ngữ đa dạng Dữ liệu mô tả Dữ liệu có cấu trúc tích hợp 8/2/2010 Cú pháp XML • 2.1 Quy tắc chung XML • 2.2 Tạo tài liệu XML hợp khuôn dạng 2.1 Quy tắc chung XML • XML: tự định nghĩa thẻ • Xây dựng cách hiển thị chúng CSS XSL • Thẻ XML ▫ Một phần tử XML bao gồm cặp thẻ mở đầu kết thúc, bên liệu Nguyễn Bích Ngọc ▫ Phần liệu muốn thêm kí tự đặc biệt (dấu >, > ▫ Tạo thẻ gốc: file XML phải có thẻ gốc ▫ Tạo thuộc tính: Dạng ten_thuoc_tinh=“gia_tri” Giá trị bao nháy kép “” nháy đơn „‟ 12 2.1 Quy tắc chung XML • Tạo khai báo XML ▫ Thuộc tính xml:lang Hello ▫ Search engine sử dụng để nhận dạng ngôn ngữ sử dụng ▫ Tên quốc gia theo chuẩn ISO 693 gồm kí tự tắt 8/2/2010 13 2.2 Tạo tài liệu XML hợp khuôn dạng • Các trình dịch XML thường yêu cầu nghiêm ngặt kiểm tra cú pháp • Một tài liệu XML coi cú pháp hợp khuôn dạng • Khuôn dạng: quy tắc khai báo, thẻ, thuộc tính, đặt tên thẻ… 14 2.2 Tạo tài liệu XML hợp khuôn dạng • Quy tắc ▫ Các khai báo XML cần đặt dòng ▫ Mỗi tài liệu có phần tử gốc ▫ Thẻ đầy đủ bao gồm thẻ đóng thẻ mở thẻ với dấu / cuối ▫ Các thẻ lồng phải có thẻ đóng, thẻ mở hợp vị trí ▫ Tên thuộc tính thẻ ▫ Giá trị (kể số) nằm cặp dấu nháy đơn nháy kép 8/2/2010 15 Không gian tên XML • XML cho phép tự định nghĩa đặt tên thẻ • Kết hợp tài liệu XML từ ứng dụng khác gặp phải khả trùng tên thẻ 16 Không gian tên XML • Cần có phân biệt phạm vi hay không gian tên mà thẻ có ý nghĩa • Namespace: cho phép tạo sử dụng thẻ tên độc lập mà không gây lỗi • Sử dụng: ▫ ▫ URI xâu xác định tài nguyên mạng Internet, dùng để tạo namespace ▫ Thường trỏ tới URL chứa thông tin liên quan 8/2/2010 17 Không gian tên XML • Ví dụ • Giả sử thông tin sinh viên phòng Đào tạo tạo quản lý Viện CNTT muốn bổ sung thêm thông tin sinh viên Để phân biệt thông tin phòng Đào tạo hay Viện đưa ra, tránh thẻ trùng tên định nghĩa không gian tên khác 18 Không gian tên XML Nguyễn Bích Ngọc 10/10/1990 Hà Nội Tin 1 8/2/2010 19 Không gian tên XML • Thuộc tính xmlns:prefix đặt thẻ không giới hạn phần tử gốc => Có thể đặt định nghĩa không gian tên đến nơi bắt đầu sử dụng 20 Không gian tên XML Nguyễn Bích Ngọc 10/10/1990 Hà Nội Tin 10 8/2/2010 23 Tài liệu XML hợp lệ Vấn đề • Thẻ XML người sử dụng tự định nghĩa • Kiểm tra xem tài liệu XML có thẻ phép hay không (tương tự CSDL bảng gồm trường ghi gồm liệu trường) => XML hợp lệ • Documents Type Definitions (DTDs): định nghĩa kiểu tài liệu • Schemas: giản đồ tương tự DTD cho phép định nghĩa nhiều kiểu liệu 24 4.1 Documents Type Definitions • DTD chứa định nghĩa cấu trúc tài liệu XML • DTD định nghĩa tài liệu XML định nghĩa file bên liên kết đến tài liệu XML • DTD XML, có cú pháp riêng • Khai báo ▫ ▫ 12 8/2/2010 25 4.1 Documents Type Definitions • Định nghĩa DTD … • Trong ▫ element-content: thẻ nằm element-name ▫ category: kiểu liệu thành phần Với liệu văn #PCDATA 26 ]> 13 8/2/2010 27 student.dtd student(name, date, place)> name(#PCDATA)> date(#PCDATA)> place(#PCDATA)> student.xml 28 4.1 Documents Type Definitions • Hạn chế ▫ DTD hợp lệ tài liệu XML thân lại XML ▫ Tài liệu XML có DTD ▫ XML có nhiều namespace nhiên DTD không hỗ trợ khả ▫ DTD hỗ trợ kiểu xâu text • => Schema 14 8/2/2010 29 4.2 Schema • Schema ▫ định nghĩa thành phần (element) tài liệu ▫ định nghĩa thuộc tính tài liệu ▫ định nghĩa thành phần thành phần ▫ định nghĩa thứ tự xuất hiện, kiểu liệu…cho thành phần • Schema khuyến cáo sử dụng W3C vào ngày 2/5/2001 30 4.2 Schema • Ưu điểm Schema so với DTD ▫ Nhiều kiểu liệu hơn: boolean, dates and times, URIs, integer, bytes, lóng, decimals… ▫ Hỗ trợ namespaces ▫ DTD mô hình “closed”: mô tả tất thành phần xuất tài liệu; Schema cho phép mô hình “open” mô tả thành phần thành mô tả ▫ Là định dạng XML 15 8/2/2010 31 32 [...]... language="javascript"> function readXML(){ var xmlObj, rootNode, childNode, nameNode; var name; xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async="false"; xmlDoc.load("student .xml" ); rootNode = xmlDoc.documentElement; childNode = rootNode.firstChild; nameNode = childNode.firstChild; name = nameNode.text; alert("Name: "+name); } 42 6 Simple API for XML (SAX) • DOM: ▫ coi tài liệu như... place)> name(#PCDATA)> date(#PCDATA)> place(#PCDATA)> student .xml < ?xml version=“1.0” standalone=“yes”?> 28 4.1 Documents Type Definitions • Hạn chế ▫ DTD hợp lệ tài liệu XML nhưng bản thân lại không phải là XML ▫ Tài liệu XML chỉ có duy nhất một DTD ▫ XML có thể có nhiều namespace tuy nhiên DTD không hỗ trợ khả năng... của XML • Không gian tên mặc định ▫ Định nghĩa một không gian tên mặc định cho tất cả các thẻ trong tài liệu prefix=“” ▫ Khi kết hợp hai tài liệu XML với nhau => chỉ cần mô tả không gian tên của tài liệu thứ hai 22 3 Không gian tên của XML Nguyễn Bích Ngọc 10/10/1990 Hà Nội ... liệu • SAX ▫ xử lý tài liệu XML theo mô hình hướng sự kiện ▫ dữ liệu sẽ tự động được gửi đến khi có sự kiện phát sinh ▫ Nguồn gốc là API của Java, các phiên bản hiện nay hỗ trợ nhiều ngôn ngữ lập trình khác ▫ SAX 2.0 gồm 2 gói chuẩn: org .xml. sax, org .xml. sax.helpers 21 8/2/2010 43 7 XML và CSS • Sử dụng CSS để định nghĩa cách hiển thị các thẻ XML • Thực hiện ▫ Tạo ra tài liệu XML ▫ Tạo ra file CSS (kiểu... thành phần có thể xuất hiện trong tài liệu; Schema cho phép mô hình “open” mô tả các thành phần ngoài các thành mô tả ▫ Là định dạng XML 15 8/2/2010 31 < ?xml version="1.0"?> … 16 8/2/2010 33 4.2 Schema • Tập giá trị cho một thành phần