Bài giảng Web technologies and e-Services - Bài 8, Phần 1: XML, DTD và XML Schema - Nguyễn Bình Minh
06/05/2021
IT4409: Web Technologies and e-Services
2020-2
XML, DTD và XML Schema
Dr. Dao Thanh Chung
Department of Information Systems
School of Information and Communication Technology
Hanoi University of Science and Technology
1
Nội dung
1. Giới thiệu và cú pháp XML
2. Đặc tả nội dung với DTD
3. Đặc tả nội dung với XMLSchema
2
1
06/05/2021
1. Giới thiệu và cú pháp XML
1. Giới thiệu XML
2. Đặc điểm XML
3. Ứng dụng XML
4. Cú pháp XML
§
§
§
§
§
Định chuẩn của XML
Thẻ khai báo tham số
Thẻ chỉ thị xử lý
Thẻ ghi chú
Thẻ CDATA và PCDATA
5. Cấu trúc, đặc tả cấu trúc và nội dung của XML
6. Sử dụng thẻ thực thể, tên thẻ
7. Namespace
3
Giới thiệu XML
XML: eXtensible Markup Language - là một ngôn ngữ đánh dấu được sử dụng để
tạo ra thẻ riêng, tạo nên các văn bản với dữ liệu tự mô tả.
Được tạo nên bởi Liên minh mạng toàn cầu W3Schools nhằm khắc phục những
hạn chế của HTML - ngôn ngữ đánh dấu siêu văn bản. Giống như HTML, XML
cũng được dựa trên SGML – Standard Generalized Markup Language.
Là cơ sở của nền công nghệ thương mại điện tử, các công ty đang sử dụng
XML để giải quyết những vấn đề kinh doanh.
4
4
2
06/05/2021
Giới thiệu XML
XML là ngôn ngữ đánh dấu mở rộng với mục đích chung do W3C đề nghị, để
tạo ra các ngôn ngữ đánh dấu khác.
Là một tập con của SGML, có khả năng mô tả nhiều loại dữ liệu khác nhau.
Mục đích chính của XML là đơn giản hóa việc chia sẻ dữ liệu giữa các hệ
thống khác nhau, đặc biệt là các hệ thống được kết nối với Internet.
5
5
Giới thiệu XML
HTML
t kế cho mu
XML
HTML được thiê
́
̣
́
̀
́
́
cho mu
̣c đí
bay dữ liê
̀
̣
̀
̀
̉
̣
́
̣
́
́
HTML du
trong vao viê
như thê na
HTML hiên thi
̀
̉
hiê
̉
̣
dữ liê
̣
̀
chu
́
̀
̣u và chú
̣
̀
̣
̣
̉
̣
̣
o nô
i dung cu
̉
u
́
̀o
̉
̣
thông tin
XML mô ta
̉
6
6
3
06/05/2021
Giới thiệu XML
Văn bản có cấu trúc XML cho phép biểu diễn thông tin về các đối tượng trong thực tế
XML du
̀
̣
̣
cho viê
̣
̉
dữ liê
̣
̀
ra sao) để ca
́
̣
́
́
́
thê
̉
̣
̀
̣
̀
̣t
cá
̣
̣
Ca
́
̉
(tag) cu
̉
̣
̃a trước mà chúng được tạo ra theo
quy ước cu
̉
̀
̣
XML sử du
̣
́
́
̉u dữ liệ
Schema để mô ta
̉
̣
7
7
Ưu điểm XML
Dữ liê
̣
̣
̣
̀
ưu điê
̉
́
̉
̉
dùng để mô tả dữ liệu bằng
dang text nên tâ
̣
́
̉
́
̀
̀
́
thể đọc được XML.
Dễ da
̀
̣
̀
phân ti
́
̣
̉m này mà XML thường được dùng để
trao đô
̉
̣
́
̣
́
́
Dễ da
Lưu trữ câ
Sử dung cho phương thức Remote Procedure Calls (RPC) phục vụ web service
̀
̣
́
̀
̣
8
8
4
06/05/2021
Đặc điểm của XML
XML cung cấp một phương tiện dùng văn bản (text) để mô tả thông tin và áp
dụng một cấu trúc kiểu cây cho thông tin đó.
Tại mức căn bản, mọi thông tin đều thể hiện dưới dạng text, chen giữa là các
thẻ đánh dấu (markup) với nhiệm vụ ký hiệu sự phân chia thông tin thành một
cấu trúc có thứ bậc, các phần tử (element) dùng để chứa dữ liệu và các thuộc
tính của các phần tử đó.
9
9
Đặc điểm của XML
XML sử dụng bộ kí tự toàn cầu Universal Character Set làm cơ sở, kết hợp
các chuỗi kí tự với nhau tạo nên một tài liệu XML.
XML dùng để mô tả thông tin nhưng không biết về ngữ nghĩa của dữ liệu.
Vậy nên được dùng cho nhiều loại dữ liệu đa phương tiện.
10
10
5
06/05/2021
Đặc điểm của XML
Rất nhiều các phần mềm soạn thảo hỗ trợ soạn thảo và bảo trì XML.
Dữ liệu có tên, cấu trúc thứ bậc và các thuộc tính.
XML có cú pháp chung cho các tài liệu để các phần mềm XML Parser có thể đọc
và phân tích, hiểu bố cục tương đối của thông tin trong tài liệu.
XML không hạn chế về việc được sử dụng như thế nào, có rất nhiều các phần
mềm với chức năng trừu tượng hóa dữ liệu thành các định dạng khác giàu
thông tin hơn.
11
11
Ứng dụng của XML
Mô tả cấu hình của 1 Website, ứng dụng. Ví dụ trong ASP.NET là tập tin
web.config; khi xây dựng web application bằng JSP là faces-config.xml va
̀
web.xml.
Cung câ
dung. Ví dụ sử du
tinh năng dang na
tự đông như gia va
́
̣
́
̣
thô
́
́
́ thể khai thác, sử
̣
̣
́
́
̉
́
́
cung cấp
́
̀
́y tin
́
̀
̣
́
Xây dựng các hệ thống thu thập dữ liệu XML theo thời gian từ các hệ thống
con.
12
12
6
06/05/2021
Ứng dụng của XML
Ví dụ tệp web.xml:
13
13
Cú pháp XML
Văn bản có cấu trúc XML cho phép biểu diễn thông tin về các đối tượng trong
thực tế.
Đối tượng x thuộc loại X trong thực tế được biểu diễn bởi thẻ X trong tài liệu
XML bao gồm cả các thuộc tính a của x.
Ví dụ:
Phân số 4/5 trong thực tế có thẻ:
<PHAN_SO Tu_so="4" Mau_so="5" />
14
14
7
06/05/2021
Cú pháp XML
Ví dụ (tiếp):
Dãy các số nguyên a bao gồm các số nguyên 1,4,5,-3 sẽ được biểu diễn bởi thẻ
<DAY_SO>
<SO Gia_tri="1" />
<SO Gia_tri="4" />
<SO Gia_tri="5" />
<SO Gia_tri="-3" />
</DAY_SO>
15
15
Định chuẩn XML
Hệ thống các thẻ đánh dấu:
Các thẻ đánh dấu trong ngôn ngữ theo định chuẩn XML bao gồm 2 loại: Thẻ
có nội dung và thẻ rỗng.
§ Các thẻ có nội dung có dạng:
<Tên> Nội dung </Ten>
§ Các thẻ rỗng có dạng:
<Tên />
Các thẻ có thể có hoặc không có các thuộc tính (trong cùng thẻ ). Thuộc tính
trong một thẻ có dạng:
Ten_thuoc_tinh=”Gia_tri”
16
16
8
06/05/2021
Định chuẩn XML
Ví dụ : Tài liệu XML
<?xml version="1.0" encoding="utf-8"?>
<DUONG_TRON Ban_kinh="5">
<DIEM x="4" y="2"/>
</DUONG_TRON>
17
17
Định chuẩn XML
Quan hệ lồng nhau giữa các thẻ có nội dung:
§ Nội dung bên trong thẻ có nội dung có thể là các thẻ khác. Khi thẻ A có
nội dung là thẻ B ta gọi: Thẻ A là thẻ cha của B , thẻ A chứa thẻ B.
§ Qui định yêu cầu các thẻ với quan hệ lồng nhau hoàn toàn. Khi thẻ A là
thẻ cha của thẻ B, A phải chứa phần bắt đầu và cả phần kết thúc của
thẻ B.
18
18
9
06/05/2021
Định chuẩn XML
Ví dụ:
Thẻ A là thẻ cha của B với dạng lồng nhau hoàn toàn (hợp lệ):
<A>
<B> ….</B>
</A>
Thẻ A là thẻ cha của B với dạng lồng nhau không hoàn hoàn toàn (không hợp
lệ):
<A>
<B ></A>
</B>
19
19
Định chuẩn XML
Một tài liệu XML phải có duy nhất một và chỉ một thẻ chứa tất cả các thẻ còn lại,
gọi là thẻ gốc – Root element (Document element):
Ví dụ:
<?xml version="1.0"?>
<Blog>
<Title>Let me know what you think
</Title>
<Author>Yin Yang</Author>
</Blog>
20
20
10
06/05/2021
Định chuẩn XML
Các kiểu tài liệu XML:
§ Well-formed Document: tài liệu XML đu
§ DTD - Constrained Document: Tao XML co
(Document type definition) đê mô tả câu tru
XML.
§ XML-Schema - Constrained Document: Tao XML co
dung “lược đô” Schema đê kiêm tra tinh hợp lê cua XML.
́
́ phá
̣
́
́
̉
́
́
̣
̣
́ sử
̣
̀
̉
̉
́
̣
̉
21
21
Định chuẩn XML
Well-formed XML Document (đúng cú pháp) :
§ Co
element).
§ Môi môt the
§ Cac the khi đo
§ Tên the không nên co
§ Cac thuôc tinh (atributes) cu
“<gia_tri>”; không nên đặt tên thuô
trong cặp dâ
tên giông như đô
§ Cac the (tag) trong XML co
trong).
́
duy nhâ
́
́
mô
̣
̀
̣
́
́
̀
̣
̀
̣
̀
nu
́
́
̃
̣
́
̉
̉
́
̣
́
̣
́
́
́
́
́
̉
̉
kha
22
22
11
06/05/2021
Nội dung tài liệu XML
Nội dung của tài liệu XML bao gồm 2 phần:
§ Nội dung chính: Hệ thống các thẻ đánh dấu (có hoặc không có nội dung)
tương ứng với các thông tin cần biểu diễn.
§ Nội dung phụ: Hệ thống các thẻ khác có ý nghĩa bổ sung, tăng cường
một số thông tin về tài liệu XML. Các thẻ này có tác dụng giúp cho việc
sử dụng, xử lý trên tài liệu XML tốt hơn trong một số trường hợp nhất
định.
23
23
Nội dung tài liệu XML
Các thẻ bên trong nội dung phụ bao gồm:
§ Thẻ khai báo tham số
§ Thẻ chỉ thị xử lý
§ Thẻ ghi chú
§ Thẻ CDATA
§ Thẻ khai báo cấu trúc (đặc tả cấu trúc với DTD)
§ Thẻ khai báo thực thể (Kĩ thuật đặc tả nội dung tài liệu XML)
24
24
12
06/05/2021
Thẻ khai báo tham số
Thẻ khai báo tham số: mô tả thêm một số thông tin chung (tham số) về tài liệu
XML ngoài các thông tin biểu diễn trong nội dung chính.
Cú pháp:
<?xml Ten_1=”Gia_tri_1” Ten_2=”Gia_tri_2” … ?>
Ten_1, Ten_2, …: các tên các tham số và Gia_tri_1, Gia_tri_2, … là các giá trị
tương ứng. Có 3 tham số được dùng là version, encoding, và standalone.
25
25
Thẻ khai báo tham số
Tham số version : Khai báo về phiên bản của định chuẩn XML được sử dụng.
Ví dụ :
Tài liệu XML thuộc định chuẩn 1.0
<?xml version=”1.0” ?>
26
26
13
06/05/2021
Thẻ khai báo tham số
Tham số encoding : Khai báo về cách mã hóa các ký tự trong tài liệu.
Ví dụ: Tài liệu XML sử dụng cách mã hóa Unicode ký hiệu utf-8:
<?xml version=”1.0” encoding=”utf-8” ?>
Tài liệu XML sử dụng cách mã hóa Unicode ký hiệu utf-16:
<?xml version=”1.0” encoding=”utf-16” ?>
27
27
Thẻ khai báo tham số
Tham số standalone : Khai báo về liên kết của tài liệu XML và các tài liệu khác.
Tham số này chỉ có 2 giá trị hợp lệ là “yes” , “no”. Giá trị định sẵn là “no”.
Ví dụ: Tài liệu XML có liên kết với các tài liệu khác:
<?xml standalone=”yes” ?>
Tài liệu XML không có liên kết với các tài liệu khác:
<?xml version=”1.0” standalone=”no” ?>
28
28
14
06/05/2021
Thẻ chỉ thị xử lý
Thẻ chỉ thị xử lý: cho phép mô tả thêm một số thông tin (liên quan xử lý) về tài
liệu XML có ý nghĩa riêng với một công cụ xử lý nào đó.
Dạng khai báo chung:
<? Bo_xu_ly Du_lieu ?>
Bo_xu_ly là ký hiệu của bộ xử lý sẽ tiến hành một số xử lý nào đó trên tài
liệu XML . Du_lieu là thông tin được gởi đến Bo_xu_ly.
29
29
Thẻ chỉ thị xử lý
Ví dụ:
<?xml-stylesheet
type=”text/css” href=”Dinh_dang.css” ?>
§ Là thẻ chỉ thị cần xử lý định dạng thể hiện tài liệu XML với “chương
trình định dạng ” theo ngôn ngữ css được lưu trữ bên trong tập tin
Dinh_dang.css.
30
30
15
06/05/2021
Thẻ ghi chú
Thẻ ghi chú: cho phép bổ sung các thông tin ghi chú có ý nghĩa đối với con người
và hoàn toàn không có ý nghĩa với các hệ thống xử lý tài liệu XML.
Cú pháp:
<-- Nội dung ghi chú -->
Chú ý:
§ Trong nô
§ Không nên đặt ghi chú trong 1 the
§ Không nên đặt ghi chú trước dong khai ba
̣
̉
́
ky
́
tự “-“.
c giới ha
o <?xml….?>.
̉
̣
̣n mở thẻ … đóng thẻ).
̀
́
31
31
Thẻ CDATA
Thẻ CDATA: yêu cầu các bộ phân tích tài liệu XML Parser bỏ qua và không phân
tích vào nội dung bên trong của thẻ này.
Tác dụng của thẻ là cho phép sử dụng trực tiếp bên trong thẻ một số ký hiệu
không được phép nếu sử dụng bên ngoài ( ví dụ các ký tự “<” , “>” , …).
Dạng khai báo chung:
<![CDATA [ Nội dung ]]>
32
32
16
06/05/2021
Thẻ PCDATA
PCDATA (Parsed character data): la
chương trinh phân tich XML.
Trong PCDATA không được phe
̀
dữ liê
̣
̃
được đo
̣
̀
phân ti
́ch bởi
̀
́
p du
̀
́
́
tự đặc biê
̣
́
liên quan đến việc
xa
́
̣
́
̀
̉
33
33
Cấu trúc tài liệu XML
Khái niệm về cấu trúc tài liệu XML:
§ Tương ứng với cấu trúc của nội dung chính
§ Cách thức tổ chức, sắp xếp của các thẻ (có hay không có nội dung) trong nội dung chính.
Ngôn ngữ đặc tả cấu trúc: Có rất nhiều ngôn ngữ đặc tả để mô tả cấu trúc tài
liệu Xml như: DTD, XML Schema, XMl- Data, Schematron , RELAX NG, v,v..
.Trong số đó có 2 ngôn ngữ thông dụng là DTD, XML Schema.
34
34
17
06/05/2021
Cấu trúc tài liệu XML
Đặc điểm của DTD:
§ Ra đời rất sớm
§ Cho phép mô tả văn bản có cấu trúc bất kỳ
§ Đơn giản, dễ học và sử dụng
§ Chỉ cho phép đặc tả một số “kiểu dữ liệu đơn giản” trong nội dung chính
của tài liệu XML
Đặc điểm của XML Schema:
§ Được đề xuất bởi W3C
§ Chỉ áp dụng cho tài liệu XML
§ Khó học và sử dụng so với DTD
§ Cho phép đặc tả chi tiết về các “kiểu dữ liệu” được sử dụng trong nội
dung chính của tài liệu XML
35
35
Cấu trúc tài liệu XML
Ví dụ : Với tài liệu Xml:
<?xml version="1.0" encoding="utf-8"?>
<PHAN_SO>
<Tu_so> 4 </Tu_so>
<Mau_so> 3 </Mau_so>
</PHAN_SO>
36
36
18
06/05/2021
Cấu trúc tài liệu XML
Đặc tả với DTD:
<!DOCTYPE PHAN_SO [
<!ELEMENT PHAN_SO (Tu_so, Mau_so) >
<!ELEMENT Tu_so #PCDATA >
<!-- Tu_so : Số nguyên // >0
-->
<!ELEMENT Mau_so #PCDATA>
<!-- Mau_so : Số nguyên // >0 -->
]>
37
37
Cấu trúc tài liệu XML
Đặc tả với Xml Schema:
<?xmlversion="1.0"encoding="utf-8"?>
<xs:elementname="PHAN_SO" type="PHAN_SO"/>
<xs:complexType name="PHAN_SO">
<xs:sequence>
<xs:elementname="Tu_so"type="SO_NGUYEN_DUONG" minOccurs="1"maxOccurs="1"/>
<xs:elementname="Mau_so"type=" SO_NGUYEN_DUONG " minOccurs="1"maxOccurs="1” />
</xs:sequence>
</xs:complexType>
<xs:simpleType name="SO_NGUYEN_DUONG">
<xs:restrictionbase="xs:int">
<xs:minExclusivevalue="0"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
38
38
19
06/05/2021
Sử dụng đặc tả cấu trúc
Ý nghĩa của đặc tả cấu trúc: Có 2 trường hợp chính cần thiết sử dụng các tài
liệu đặc tả cấu trúc:
§ Trường hợp 1 : Sử dụng cho việc trao đổi thông tin người – người.
§ Trường hợp 2 : Sử dụng cho việc trao đổi thông tin người – hệ thống xử lý.
39
39
Sử dụng đặc tả cấu trúc
Trường hợp 1: với trường hợp này tài liệu đặc tả cấu trúc được sử dụng như
phương tiện giao tiếp giữa các chuyên viên tin học có liên quan đến tài liệu
XML tương ứng.
Có thể được lưu trữ theo bất kỳ định dạng nào thích hợp cho việc sử dụng (
trình bày, xem báo cáo , v.v..).
40
40
20
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Web technologies and e-Services - Bài 8, Phần 1: XML, DTD và XML Schema - Nguyễn Bình Minh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
- bai_giang_web_technologies_and_e_services_bai_8_phan_1_xml_d.pdf