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

an ninh N Na

tình hình trật tự xã hội

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

an ninh

(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

Hello (cid:61550) Search engine sẽ sử dụng để nhận dạng ngôn

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

an ninh N Na

an ninh N Na

tình hình trật tự xã hội

bình thường yên ổn, không có rối loạn

tình hình trật tự xã Hội 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”> an ninh N Na

bất kỳ thẻ nào chứ không chỉ giới hạn ở phần tử gốc

tình hình trật tự xã Hội bình thường yên ổn, không có rối loạn

=> Có thể đặt định nghĩa không gian tên đến

nơi nó bắt đầu được sử dụng

composite word

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

an ninh N Na

tình hình trật tự xã Hội bình thường yên ổn, không có rối loạn

composite word

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

7