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 đủ
pdf 61 trang Thùy Anh 24340 Free
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:

  • pdfbai_giang_web_technologies_and_e_services_bai_8_phan_1_xml_d.pdf