8/24/2011
Nội dung
Bộ môn Công nghệ Phần mềm Viện CNTT & TT Trường Đại học Bách Khoa Hà Nội
(cid:76)(cid:7852)(cid:80)(cid:32)(cid:84)(cid:82)(cid:204)(cid:78)(cid:72)(cid:32)(cid:87)(cid:69)(cid:66)(cid:32)(cid:72)(cid:431)(cid:7898)(cid:78)(cid:71)(cid:32)(cid:74)(cid:65)(cid:86)(cid:65) Bài 04: Extensible Markup Language
Giảng viên: ThS. Trịnh Tuấn Đạt Bộ môn CNPM Email: trinhtuandat.bk@gmail.com/dattt@soict.hut.edu.vn
2
(cid:61550) 1. Giới thiệu XML (cid:61550) 2. Cú pháp của XML (cid:61550) 3. Không gian tên của XML (cid:61550) 4. Ứng dụng của XML (cid:61550) 5. Document Object Model (DOM) (cid:61550) 6. XML và CSS (cid:61550) 7. Extensible Stylesheet Language (XSL)
1. Giới thiệu XML
1. Giới thiệu XML
(cid:61550) 1990, Tim Berners Lee đã đưa ra HTML (cid:61550) 1995, nhóm XML mong muốn
(cid:61550) XML viết tắt của từ eXtensible Markup Language (cid:61550) Là tập các quy ước chuẩn về cách phân chia một tài liệu ra thành nhiều phần, đánh dấu từng phần theo đặc trưng của nó rồi ghép lại
(cid:61550) So sánh với HTML
(cid:61550) XML: là ngôn ngữ dùng để định nghĩa dữ liệu, người
(cid:61550) Không giới hạn ngôn ngữ (cid:61550) Đơn giản cho lập trình viên (cid:61550) Dễ dàng cho các Search Enginge
dùng có thể tự định nghĩa các thẻ
(cid:61550) 11/1996, đặc tả đầu tiên của XML được phát
(cid:61550) HTML: là ngôn ngữ dùng để hiển thị nội dung dữ liệu
hành
thông qua các thẻ chuẩn
(cid:61550) 2/1998, W3C phê chuẩn công nhận version 1.0
của XML
3
4
(cid:61550) Lịch sử ra đời
1. Giới thiệu XML
1. Giới thiệu XML
(cid:61550) Dễ dàng trao đổi dữ liệu (cid:61550) Tùy biến ngôn ngữ đa dạng (cid:61550) Dữ liệu mô tả (cid:61550) Dữ liệu có cấu trúc tích hợp
bình thường yên ổn, không có rối loạn
5
6
(cid:61550) Ví dụ về trang XML (cid:61550) Các chức năng chính
1
8/24/2011
2. Cú pháp XML
2.1. Quy tắc chung trong XML
XSL
(cid:61550) XML: tự do định nghĩa thẻ (cid:61550) Xây dựng cách hiển thị chúng bởi CSS hoặc (cid:61550) 2.1. Quy tắc chung trong XML (cid:61550) 2.2. Tạo tài liệu XML hợp khuôn dạng
(cid:61550) Một phần tử XML bao gồm cặp thẻ mở đầu và
kết thúc, bên trong là dữ liệu
(cid:61550) Phần dữ liệu muốn thêm các kí tự đặc biệt (dấu >, <…) thì thực hiện giống như trong HTML
7
8
(cid:61550) Thẻ XML
2.1. Quy tắc chung trong XML
2.1. Quy tắc chung trong XML
(cid:61550) W3C khuyến cáo: mỗi tài liệu XML nên có duy
(cid:61550) Nếu chỉ có một thẻ thì thêm dấu / phía cuối:
nhất một khai báo
(cid:61550) Trong mỗi thẻ có thể định nghĩa thêm các thuộc
(cid:61550) version=“1.0”: cho biết số hiệu phiên bản XML
tính (cid:61550) Tên thẻ
đang sử dụng
(cid:61550) standalone=“no”: cho biết tài liệu này không có
liên quan đến tài liệu khác
(cid:61550) XML phân biệt chữ hoa và chữ thường (cid:61550) Bao gồm: chữ cái, chữ số, dấu “_”, dấu “-”, dấu “:” nhưng không được bắt đầu là chữ số, dấu “-”
(cid:61550) encoding=“UTF-8”: cho biết kiểu mã hóa ngôn
9
10
ngữ
(cid:61550) Tạo khai báo XML (cid:61550) Thẻ XML
2.1. Quy tắc chung trong XML
2.1. Quy tắc chung trong XML
(cid:61550) Kết hợp dữ liệu của XML với CSS
(cid:61550) Thuộc tính xml:lang
ngữ sử dụng.
(cid:61550) Tên quốc gia theo chuẩn ISO 693 gồm 2 kí tự tắt
(cid:61550) Tạo dòng ghi chú: tương tự HTML (cid:61550) Tạo thẻ gốc: mỗi file XML phải có một thẻ gốc (cid:61550) Tạo thuộc tính:
(cid:61550) Dạng ten_thuoc_tinh=“gia_tri” (cid:61550) Giá trị được bao trong nháy kép “” hoặc nháy đơn ‘’
11
12
(cid:61550) Tạo khai báo XML (cid:61550) Tạo khai báo XML
2
8/24/2011
2.2. Tạo tài liệu XML hợp khuôn dạng
2.2. Tạo tài liệu XML hợp khuôn dạng
nghiêm ngặt về kiểm tra cú pháp
(cid:61550) Quy tắc cơ bản (cid:61550) Các trình dịch XML thường yêu cầu rất
(cid:61550) Các khai báo XML cần đặt ở dòng đầu tiên (cid:61550) Mỗi tài liệu chỉ có một phần tử gốc (cid:61550) Thẻ đầy đủ bao gồm thẻ đóng và thẻ mở hoặc
khi nào hợp khuôn dạng
thẻ với dấu / ở cuối
(cid:61550) Một tài liệu XML được coi là đúng cú pháp
(cid:61550) Các thẻ lồng nhau phải có thẻ đóng, thẻ mở hợp
vị trí
tính, đặt tên thẻ…
(cid:61550) Tên thuộc tính trong một thẻ là duy nhất (cid:61550) Giá trị (kể cả số) nằm trong cặp dấu nháy đơn
hoặc nháy kép
13
14
(cid:61550) Khuôn dạng: các quy tắc khai báo, thẻ, thuộc
3. Không gian tên của XML
3. Không gian tên của XML
thẻ
gian tên mà mỗi thẻ có ý nghĩa
(cid:61550) XML cho phép tự định nghĩa và đặt tên các (cid:61550) Cần có sự phân biệt về phạm vi hay không
liên quan đến tài liệu khác
(cid:61550) standalone=“yes”: cho biết tài liệu này có
thẻ và tên của thuộc tính
15
16
(cid:61550) Namespace: cho phép tạo và sử dụng các thẻ cùng tên độc lập mà không gây ra lỗi (cid:61550) Sử dụng: thêm một prefix ở trước tên của
3. Không gian tên của XML
3. Không gian tên của XML
bình thường yên ổn, không có rối loạn
17
18
(cid:61550) Ví dụ (cid:61550) Ví dụ: định nghĩa namespace là dic
3
8/24/2011
3. Không gian tên của XML
3. Không gian tên của XML
không gian tên mới bằng cách thêm “prefix:”
phía trước (cid:61550) Có thể bổ sung thêm các thẻ mới cùng tên (cid:61550) Có thể đưa thêm thuộc tính vào thẻ trong xmlns:dic=“URL1” xmlns:nmspc=“URL2”>
bất kỳ thẻ nào chứ không chỉ giới hạn ở phần
tử gốc => Có thể đặt định nghĩa không gian tên đến nơi nó bắt đầu được sử dụng
19
20
(cid:61550) Thuộc tính xmlns:prefix có thể được đặt ở
3. Không gian tên của XML
4. Ứng dụng của XML
21
22
4.1. MathML - Ngôn ngữ định dạng toán học
4.2. CML – Ngôn ngữ định dạng hóa học
(cid:61550) XML có thể tạo ra các ngôn ngữ con khác. (cid:61550) Các ứng dụng thực tiễn của XML là một tập các thẻ XML hoạt động trong một lĩnh vực nào đó như toán học, tin học, kinh doanh… (cid:61550) Mỗi lĩnh vực dựa trên đặc tả XML
(cid:61550) Mục đích: hiển thị và định dạng các biểu thức
một phần tử hóa học
toán học trên Web
(cid:61550) Giúp trình duyệt không chỉ hiển thị mà còn
(cid:61550) CML mô tả và hiển thị nội dung của cấu trúc
các phần tử đã định nghĩa sẵn
hiểu các biểu thức toán học (cid:61550) Version 2.0 ra đời 21/3/2001 (cid:61550) Ví dụ công thức
ac
b (cid:61485) (cid:61617)
X
(cid:61501)
2 4 b (cid:61485) a 2
23
24
(cid:61550) Cung cấp danh sách công thức hóa học của
4
8/24/2011
5. Document Object Model (DOM)
4.2. CML - Ngôn ngữ định dạng hóa học
XML
(cid:61550) DOM là một API đối với HTML và XML, định nghĩa cấu trúc logic của tài liệu và các xử lý của chúng (cid:61550) DOM được sử dụng để xử lý dữ liệu lưu trong
25
26
5. Document Object Model (DOM)
5. Document Object Model (DOM)
(cid:61550) Tài liệu XML sẽ là một cây bao gồm tập hợp các nút chứa: phần tử, dữ liệu, thuộc tính…
Các loại nút trong DOM
(cid:61550) Ví dụ
Nút Element Attribute Text Entity Processing Instruction
Mô tả Phần tử XML Thuộc tính Dữ liệu Thực thể Chỉ thị xử lý Chú thích
Comment Document Document Type Document Fragment
Tài liệu Kiểu tài liệu Đoạn tài liệu
Notation
Ghi chú
27
28
5. Document Object Model (DOM)
5. Document Object Model (DOM)
(cid:61550) Các đối tượng cơ bản của DOM
(cid:61550) Nếu các thẻ lồng nhau => mô hình phân cấp: nút cha, nút con, nút cháu…, dữ liệu (cid:61550) W3C định nghĩa nhiều mức độ cho DOM
Đối tượng
Mô tả
(cid:61550) Level 0: đặc tả DOM khởi đầu, áp dụng trước đây
Node
Một nút đơn trong kiến trúc
trong NN 3.0, IE 3.0
NodeList
Một tập hợp nút
(cid:61550) Level 1: đặc tả DOM sử dụng phổ biến hiện nay (cid:61550) Level 2: kết hợp DOM với CSS hay XSL (cid:61550) Level 3: mức độ hoạch định
NamedNodeMap Một tập các nút, cho phép truy xuất theo tên cũng như chỉ số
29
30
5
8/24/2011
5. Document Object Model (DOM)
5. Document Object Model (DOM)
(cid:61550) Một số phương thức trong DOM
(cid:61550) Ví dụ
Mô tả
(cid:61550) nodRoot trỏ tới nút gốc LexicalEntry (cid:61550) nodRoot.childNodes(0) => HeadWord (cid:61550) nodRoot.childNodes(1) => Category (cid:61550) nodRoot.childNodes(0).nextSibling() =>
Category
(cid:61550) nodRoot.childNodes(0).parentNode() =>
LexicalEntry
Phương thức childNodes Trả về NodeList chứa các nút con firstChild Trả về nút con đầu tiên lastChild Trả về nút con cuối cùng parentNode Trả về nút cha previousSibling Trả về nút cùng mức đứng trước nextSibling nodeName nodeValue
Trả về nút cùng mức kế tiếp Trả về tên của nút Trả về giá trị của nút
31
32
6. XML và CSS
6. XML và CSS
thẻ XML (cid:61550) Thực hiện
(cid:61550) Tạo ra tài liệu XML (cid:61550) Tạo ra file CSS (kiểu External Style) có chứa định
nghĩa các style của các thẻ trong tài liệu XML
(cid:61550) Chèn đoạn mã khai báo việc sử dụng CSS
33
34
(cid:61550) Sử dụng CSS để định nghĩa cách hiển thị các (cid:61550) Ví dụ
Kết luận
7. Extensible Stylesheet Language (XSL)
ứng dụng đa dạng
(cid:61550) Ngôn ngữ XML rất dễ dàng sử dụng và có
dùng trong tổ chức CSDL
(cid:61550) XSLT (XSL Transform): chuyên về chuyển dịch, trích rút dữ liệu XML đưa vào khuôn dạng HTML (cid:61550) XSL-FO (XSL Formatted Objects): chuyên về định
dạng: font chữ, màu sắc…
35
36
(cid:61550) XML mô tả dữ liệu có cấu trúc nên được (cid:61550) XSL được dùng để định dạng tài liệu XML với mục đích có được kết quả như một trang HTML (cid:61550) 2 loại
6
8/24/2011
Câu hỏi
37
37

