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
Ni dung  
1. Gii thiu và cú pháp XML  
2. Đc tni dung vi DTD  
3. Đc tni dung vi XMLSchema  
2
1
06/05/2021  
1. Gii thiu và cú pháp XML  
1. Gii thiu XML  
2. Đc đim XML  
3. ng dng XML  
4. Cú pháp XML  
§
§
§
§
§
Đnh chun ca XML  
Thkhai báo tham số  
Thchthxlý  
Thghi chú  
ThCDATA và PCDATA  
5. Cu trúc, đc tcu trúc và ni dung ca XML  
6. Sdng ththc th, tên thẻ  
7. Namespace  
3
Gii thiu XML  
XML: eXtensible Markup Language - là mt ngôn ngđánh du được sdng để  
to ra thriêng, to nên các văn bn vi dliu tmô t.  
Được to nên bi Liên minh mng toàn cu W3Schools nhm khc phc nhng  
hn chế ca HTML - ngôn ngđánh du siêu văn bn. Ging như HTML, XML  
cũng được da trên SGML – Standard Generalized Markup Language.  
Là cơ sca nn công nghthương mi đin t, các công ty đang sdng  
XML đgii quyết nhng vn đkinh doanh.  
4
4
2
06/05/2021  
Gii thiu XML  
XML là ngôn ngđánh du mrng vi mc đích chung do W3C đngh, để  
to ra các ngôn ngđánh du khác.  
Là mt tp con ca SGML, có khnăng mô tnhiu loi dliu khác nhau.  
Mc đích chính ca XML là đơn gin hóa vic chia sdliu gia các hệ  
thng khác nhau, đc bit là các hthng được kết ni vi Internet.  
5
5
Gii thiu XML  
HTML  
t kế cho mu  
XML  
HTML được thiê  
́
̣
́
̀
́
́
cho mu  
̣c đí  
bay dliê  
̀
̣
̀
̀
̉
̣
́
̣
́
́
HTML du  
trong vao viê  
như thê na  
HTML hiên thi  
̀
̉
hiê  
̉
̣
dliê  
̣
̀
chu  
́
̀
̣u và chú  
̣
̀
̣
̣
̉
̣
̣
o nô  
i dung cu  
̉
u
́
̀o  
̉
̣
thông tin  
XML mô ta  
̉
6
6
3
06/05/2021  
Gii thiu XML  
Văn bn có cu trúc XML cho phép biu din thông tin vcác đi tượng trong thc tế  
XML du  
̀
̣
̣
cho viê  
̣
̉
dliê  
̣
̀
ra sao) đca  
́
̣
́
́
́
thê  
̉
̣
̀
̣
̀
̣t  
cá  
̣
̣
Ca  
́
̉
(tag) cu  
̉
̣
̃a trước mà chúng được tạo ra theo  
quy ước cu  
̉
̀
̣
XML sdu  
̣
́
́
̉u dliệ  
Schema đmô ta  
̉
̣
7
7
Ưu đim XML  
Dliê  
̣
̣
̣
̀
ưu điê  
̉
́
̉
̉
dùng đmô tả dliệu bng  
dang text nên tâ  
̣
́
̉
́
̀
̀
́
thể đọc được XML.  
Dda  
̀
̣
̀
phân ti  
́
̣
̉m này mà XML thường được dùng để  
trao đô  
̉
̣
́
̣
́
́
Dda  
Lưu trcâ  
Sdung cho phương thc Remote Procedure Calls (RPC) phục vụ web service  
̀
̣
́
̀
̣
8
8
4
06/05/2021  
Đc đim ca XML  
XML cung cp mt phương tin dùng văn bn (text) đmô tthông tin và áp  
dng mt cu trúc kiu cây cho thông tin đó.  
Ti mc căn bn, mi thông tin đu thhin dưới dng text, chen gia là các  
thđánh du (markup) vi nhim vký hiu sphân chia thông tin thành mt  
cu trúc có thbc, các phn t(element) dùng đcha dliu và các thuc  
tính ca các phn tđó.  
9
9
Đc đim ca XML  
XML sdng bkí ttoàn cu Universal Character Set làm cơ s, kết hp  
các chui kí tvi nhau to nên mt tài liu XML.  
XML dùng đmô tthông tin nhưng không biết vngnghĩa ca dliu.  
Vy nên được dùng cho nhiu loi dliu đa phương tin.  
10  
10  
5
06/05/2021  
Đc đim ca XML  
Rt nhiu các phn mm son tho htrson tho và bo trì XML.  
Dliu có tên, cu trúc thbc và các thuc tính.  
XML có cú pháp chung cho các tài liu đcác phn mm XML Parser có thđc  
và phân tích, hiu bcc tương đi ca thông tin trong tài liu.  
XML không hn chế vvic được sdng như thế nào, có rt nhiu các phn  
mm vi chc năng tru tượng hóa dliu thành các đnh dng khác giàu  
thông tin hơn.  
11  
11  
ng dng ca XML  
Mô tả ́u hình của 1 Website, ng dụng. Ví dtrong ASP.NET là tập tin  
web.config; khi xây dng web application bng JSP là faces-config.xml va  
̀
web.xml.  
Cung câ  
dung. Ví dsdu  
tinh năng dang na  
tự đông như gia va  
́
̣
́
̣
thô  
́
́
́ thkhai thác, sử  
̣
̣
́
́
̉
́
́
cung cấp  
́
̀
́y tin  
́
̀
̣
́
Xây dng các hthng thu thp dliu XML theo thi gian tcác hthng  
con.  
12  
12  
6
06/05/2021  
ng dng ca XML  
Ví dụ tệp web.xml:  
13  
13  
Cú pháp XML  
Văn bn có cu trúc XML cho phép biu din thông tin vcác đi tượng trong  
thc tế.  
Đi tượng x thuc loi X trong thc tế được biu din bi thX trong tài liu  
XML bao gm ccác thuc tính a ca x.  
Ví d:  
Phân s4/5 trong thc 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 snguyên a bao gm các snguyên 1,4,5,-3 sđược biu din bi thẻ  
<DAY_SO>  
<SO Gia_tri="1" />  
<SO Gia_tri="4" />  
<SO Gia_tri="5" />  
<SO Gia_tri="-3" />  
</DAY_SO>  
15  
15  
Đnh chun XML  
Hthng các thđánh du:  
Các thđánh du trong ngôn ngtheo đnh chun XML bao gm 2 loi: Thẻ  
có ni dung và thrng.  
§ Các thni dung có dng:  
<Tên> Ni dung </Ten>  
§ Các thrng có dng:  
<Tên />  
Các thcó thcó hoc không có các thuc tính (trong cùng th). Thuc tính  
trong mt thcó dng:  
Ten_thuoc_tinh=”Gia_tri”  
16  
16  
8
06/05/2021  
Đnh chun XML  
Ví d: Tài liu XML  
<?xml version="1.0" encoding="utf-8"?>  
<DUONG_TRON Ban_kinh="5">  
<DIEM x="4" y="2"/>  
</DUONG_TRON>  
17  
17  
Đnh chun XML  
Quan hlng nhau gia các thcó ni dung:  
§ Ni dung bên trong thcó ni dung có thlà các thkhác. Khi thA có  
ni dung là thB ta gi: ThA là thcha ca B , thA cha thB.  
§ Qui đnh yêu cu các thvi quan hlng nhau hoàn toàn. Khi thA là  
thcha ca thB, A phi cha phn bt đu và cphn kết thúc ca  
thB.  
18  
18  
9
06/05/2021  
Đnh chun XML  
Ví d:  
ThA là thcha ca B vi dng lng nhau hoàn toàn (hp l):  
<A>  
<B> ….</B>  
</A>  
ThA là thcha ca B vi dng lng nhau không hoàn hoàn toàn (không hp  
l):  
<A>  
<B ></A>  
</B>  
19  
19  
Đnh chun XML  
Mt tài liu XML phi có duy nht mt và chmt thcha tt ccác thcòn li,  
gi là thgc – 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 chun XML  
Các kiu tài liu XML:  
§ Well-formed Document: tài liu XML đu  
§ DTD - Constrained Document: Tao XML co  
(Document type definition) đê mô tcâu tru  
XML.  
§ XML-Schema - Constrained Document: Tao XML co  
dung “lược đô” Schema đê kiêm tra tinh hp lê cua XML.  
́
́ phá  
̣
́
́
̉
́
́
̣
̣
́ sử  
̣
̀
̉
̉
́
̣
̉
21  
21  
Đnh chun 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 cp dâ  
tên giông như đô  
§ Cac the (tag) trong XML co  
trong).  
́
duy nhâ  
́
́
mô  
̣
̀
̣
́
́
̀
̣
̀
̣
̀
nu  
́
́
̃
̣
́
̉
̉
́
̣
́
̣
́
́
́
́
́
̉
̉
kha  
22  
22  
11  
06/05/2021  
Ni dung tài liu XML  
Ni dung ca tài liu XML bao gm 2 phn:  
§ Ni dung chính: Hthng các thđánh du (có hoc không có ni dung)  
tương ng vi các thông tin cn biu din.  
§ Ni dung ph: Hthng các thkhác có ý nghĩa bsung, tăng cường  
mt sthông tin vtài liu XML. Các thnày có tác dng giúp cho vic  
sdng, xlý trên tài liu XML tt hơn trong mt strường hp nht  
đnh.  
23  
23  
Ni dung tài liu XML  
Các thbên trong ni dung phbao gm:  
§ Thkhai báo tham số  
§ Thchthxlý  
§ Thghi chú  
§ ThCDATA  
§ Thkhai báo cu trúc (đc tcu trúc vi DTD)  
§ Thkhai báo thc th(Kĩ thut đc tni dung tài liu XML)  
24  
24  
12  
06/05/2021  
Thkhai báo tham số  
Thkhai báo tham s: mô tthêm mt sthông tin chung (tham s) vtài liu  
XML ngoài các thông tin biu din trong ni 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 svà 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  
Thkhai báo tham số  
Tham sversion : Khai báo vphiên bn ca đnh chun XML được sdng.  
Ví d:  
Tài liu XML thuc đnh chun 1.0  
<?xml version=”1.0” ?>  
26  
26  
13  
06/05/2021  
Thkhai báo tham số  
Tham sencoding : Khai báo vcách mã hóa các ký ttrong tài liu.  
Ví d: Tài liu XML sdng cách mã hóa Unicode ký hiu utf-8:  
<?xml version=”1.0” encoding=”utf-8” ?>  
Tài liu XML sdng cách mã hóa Unicode ký hiu utf-16:  
<?xml version=”1.0” encoding=”utf-16” ?>  
27  
27  
Thkhai báo tham số  
Tham sstandalone : Khai báo vliên kết ca tài liu XML và các tài liu khác.  
Tham snày chcó 2 giá trhp llà “yes” , “no”. Giá trđnh sn là “no”.  
Ví d: Tài liu XML có liên kết vi các tài liu khác:  
<?xml standalone=”yes” ?>  
Tài liu XML không có liên kết vi các tài liu khác:  
<?xml version=”1.0” standalone=”no” ?>  
28  
28  
14  
06/05/2021  
Thchthxlý  
Thchthxlý: cho phép mô tthêm mt sthông tin (liên quan xlý) vtài  
liu XML có ý nghĩa riêng vi mt công cxlý nào đó.  
Dng khai báo chung:  
<? Bo_xu_ly Du_lieu ?>  
Bo_xu_ly là ký hiu ca bxlý stiến hành mt sxlý nào đó trên tài  
liu XML . Du_lieu là thông tin được gi đến Bo_xu_ly.  
29  
29  
Thchthxlý  
Ví d:  
<?xml-stylesheet  
type=”text/css” href=”Dinh_dang.css” ?>  
§ Là thchthcn xlý đnh dng thhin tài liu XML vi “chương  
trình đnh dng ” theo ngôn ngcss được lưu trbên trong tp tin  
Dinh_dang.css.  
30  
30  
15  
06/05/2021  
Thghi chú  
Thghi chú: cho phép bsung các thông tin ghi chú có ý nghĩa đi vi con người  
và hoàn toàn không có ý nghĩa vi các hthng xlý tài liu XML.  
Cú pháp:  
<-- Ni 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 gii ha  
o <?xml….?>.  
̉
̣
̣n mở thẻ đóng thẻ).  
̀
́
31  
31  
ThCDATA  
ThCDATA: yêu cu các bphân tích tài liu XML Parser bqua và không phân  
tích vào ni dung bên trong ca thnày.  
Tác dng ca thlà cho phép sdng trc tiếp bên trong thmt ský hiu  
không được phép nếu sdng bên ngoài ( ví dcác ký t“<” , “>” , …).  
Dng khai báo chung:  
<![CDATA [ Ni dung ]]>  
32  
32  
16  
06/05/2021  
ThPCDATA  
PCDATA (Parsed character data): la  
chương trinh phân tich XML.  
Trong PCDATA không được phe  
̀
dliê  
̣
̃
được đo  
̣
̀
phân ti  
́ch bi  
̀
́
p du  
̀
́
́
tự đặc biê  
̣
́
liên quan đến việc  
xa  
́
̣
́
̀
̉
33  
33  
Cu trúc tài liu XML  
Khái nim vcu trúc tài liu XML:  
§ Tương ng vi cu trúc ca ni dung chính  
§ Cách thc tchc, sp xếp ca các th(có hay không có ni dung) trong ni dung chính.  
Ngôn ngđc tcu trúc: Có rt nhiu ngôn ngđc tđmô tcu trúc tài  
liu Xml như: DTD, XML Schema, XMl- Data, Schematron , RELAX NG, v,v..  
.Trong sđó có 2 ngôn ngthông dng là DTD, XML Schema.  
34  
34  
17  
06/05/2021  
Cu trúc tài liu XML  
Đc đim ca DTD:  
§ Ra đi rt sm  
§ Cho phép mô tvăn bn có cu trúc bt kỳ  
§ Đơn gin, dhc và sdng  
§ Chcho phép đc tmt s“kiu dliu đơn gin” trong ni dung chính  
ca tài liu XML  
Đc đim ca XML Schema:  
§ Được đxut bi W3C  
§ Cháp dng cho tài liu XML  
§ Khó hc và sdng so vi DTD  
§ Cho phép đc tchi tiết vcác “kiu dliuđược sdng trong ni  
dung chính ca tài liu XML  
35  
35  
Cu trúc tài liu XML  
Ví d: Vi tài liu 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  
Cu trúc tài liu XML  
Đc tvi DTD:  
<!DOCTYPE PHAN_SO [  
<!ELEMENT PHAN_SO (Tu_so, Mau_so) >  
<!ELEMENT Tu_so #PCDATA >  
<!-- Tu_so : Snguyên // >0  
-->  
<!ELEMENT Mau_so #PCDATA>  
<!-- Mau_so : Snguyên // >0 -->  
]>  
37  
37  
Cu trúc tài liu XML  
Đc tvi 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  
Sdng đc tcu trúc  
Ý nghĩa ca đc tcu trúc: Có 2 trường hp chính cn thiết sdng các tài  
liu đc tcu trúc:  
§ Trường hp 1 : Sdng cho vic trao đi thông tin người – người.  
§ Trường hp 2 : Sdng cho vic trao đi thông tin người – hthng xlý.  
39  
39  
Sdng đc tcu trúc  
Trường hp 1: vi trường hp này tài liu đc tcu trúc được sdng như  
phương tin giao tiếp gia các chuyên viên tin hc có liên quan đến tài liu  
XML tương ng.  
Có thđược lưu trtheo bt kỳ đnh dng nào thích hp cho vic sdng (  
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 27/04/2022 9300
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