CH ƯƠ NG VIII:XML Lý thuyết 3 tiết Thực hành 6 tiết... Graeme Malcolm Treasure Island Robert Louis Stevenson... ]> Tove Jani Reminder Don't forget me this weekend... Tove Jani Re
Trang 1CH ƯƠ NG VIII:
XML
Lý thuyết 3 tiết
Thực hành 6 tiết
Trang 2C B N V XML Ơ Ả Ề
Gi i thi u XMLớ ệ
C u trúc c a tài li u XMLấ ủ ệ
Trang 3Gi i thi u XML ớ ệ
XML là vi t t t cho ch eXtensible Markup ế ắ ữ
Language
XML là ngôn ng đánh d u tữ ấ ương đ i là ố
m i, đớ ược phát tri n t m t ngôn ng đánh ể ừ ộ ữ
d u Standard Generalized Markup Language ấ (SGML)
Trang 4C u trúc c a tài li u XML ấ ủ ệ
G m nhi u ph n t (element), m i thành ồ ề ầ ử ỗ
ph n đầ ược b t đ u v i m t th b t đ u ắ ầ ớ ộ ẻ ắ ầ (starttag) và m t th k t thúc (endtag).ộ ẻ ế
Gi a starttag và endtag là n i dung c a ữ ộ ủ
ph n t này .ầ ử
N i dung có th bao g m d li u văn b n ộ ể ồ ữ ệ ả
hay có th là m t ph n t khác.ể ộ ầ ử
Trang 5C u trúc c a tài li u XML (Vd) ấ ủ ệ
<?xml version=“1.0”?>
<Catalog>
<Product>
<ProductID>F10</ProductID>
<ProductName>Shimano</ProductName>
<ListPrice>47.76</ListPrice>
</Product>
</Catalog>
Trang 6C u trúc c a tài li u XML (tt) ấ ủ ệ
M t tài li u XML không có t n t i m t th nào ộ ệ ồ ạ ộ ẻ
không đúng quy đ nh ị
Khi xây d ng tài li u XML c n ph i tuân th theo ự ệ ầ ả ủ
m t s quy lu t nào đó, n u tuân th đúng quy lu t ộ ố ậ ế ủ ậ thì đ ượ c g i là ọ wellformed.
M t tài li u XML wellformed ch a ch c là m t tài ộ ệ ư ắ ộ
li u h p l , nó ch đ ệ ợ ệ ỉ ượ c xem là h p l n u đ m ợ ệ ế ả
b o nh ng quy t c trong tài li u Document Type ả ữ ắ ệ Definition (DTD) hay gi n đ (schema) ả ồ
Trang 7M t tài li u XML wellformed ộ ệ
Ph i có m t root Element duy nh t, g i là ả ộ ấ ọ
Document Element
M i tag m ph i có m t tag đóng tỗ ở ả ộ ương
ng
ứ
Tags trong XML thì case sensitive
M i child Element ph i n m trong Element ỗ ả ằ
cha
Giá tr thu c tính trong XML ph i đị ộ ả ược bao
trong m t c p ngo c kép hay m t c p ngo c ộ ặ ặ ộ ặ ặ kép
Trang 8 Processing Instructions (ch th v cách ch ỉ ị ề ế
bi n) n m trong c p tag ế ằ ặ <? Và ?>
M c dù m t tài li u XML wellformed ặ ộ ệ
không c n có m t Processing Instruction, ầ ộ
nh ng thông thư ường ta s đ hàng đ u tài ẽ ể ở ầ
li u, đệ ược g i là ọ prologue
Trang 9<?xml version="1.0" encoding="utf8"
standalone="yes"?>
<Order>
<OrderDate>2002614</OrderDate>
<Customer>Helen Mooney</Customer> <Item>
<ProductID>1</ProductID>
<Quantity>2</Quantity>
</Item>
</Order>
Trang 10 Có m t lo i Processing Instruction khác cũng ộ ạ
khá thông d ng là cho bi t tên stylesheet c a ụ ế ủ XML này
<?xmlstylesheet type="text/xsl“ ref="order.xsl"?>
Có th thêm Comment b ng cách dùng c p ể ằ ặ
Tags <! và >
Trang 11 Cho ta cách dùng m t Elemet đ nói đ n hai ộ ể ế
d li u khác nhau trong cùng m t tài li u ữ ệ ộ ệ
XML.
Trang 12<?xml version="1.0"?>
<BookOrder OrderNo="1234">
<OrderDate>20010101</OrderDate>
<Customer>
<Title>Mr.</Title>
<FirstName>Graeme</FirstName>
<LastName>Malcolm</LastName>
</Customer>
<Book>
<Title>Treasure Island</Title>
<Author>Robert Louis Stevenson</Author>
</Book>
</BookOrder>
Trang 13 Đ tránh s nh m l n, b n có th s d ng ể ự ầ ẫ ạ ể ử ụ
Namespace đ nói rõ tên Element y thu c ể ấ ộ
v URI (Univeral Resource Identifier) nào .ề
M t URI có th là m t URL hay m t ch ộ ể ộ ộ ỗ
nào đ nh nghĩa nó.ị
Khai báo m t Namespace trong m t Element ộ ộ
b ng cách dùng Attribute ằ xmlns đ khai báo ể
m t default namespace .ộ
Trang 14<?xml version="1.0"?>
<BookOrder OrderNo="1234">
<OrderDate>20010101</OrderDate>
<Customer xmlns="http://www.northwindtraders.com/customer">
<Title>Mr.</Title>
<FirstName>Graeme</FirstName>
<LastName>Malcolm</LastName>
</Customer>
<Book xmlns="http://www.northwindtraders.com/book”>
<Title>Treasure Island</Title>
<Author>Robert Louis Stevenson</Author>
</Book>
</BookOrder>
Trang 15XÂY D NG TÀI LI U XML Ự Ệ
Document Type Define (DTD)
XML schema
Trang 16 DTD là m t b nh ng qui t c cú pháp cho ộ ộ ữ ắ
nhãn. Nó cho b n bi t nh ng nhãn nào b n ạ ế ữ ạ
có th s d ng trong m t tài li u, chúng nên ể ử ụ ộ ệ
được x p theo th t nào, nh ng nhãn nào ế ứ ự ữ
có th xu t hi n bên trong các nhãn khác, ể ấ ệ
nh ng nhãn nào có các thu c tính, ữ ộ
M t DTD có th là m t b ph n c a m t tài ộ ề ộ ộ ậ ủ ộ
li u XML, nh ng thệ ư ường nó là m t tài li u ộ ệ riêng bi t ho c m t lo i các tài li u.ệ ặ ộ ạ ệ
Trang 17<?xml version="1.0"?>
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend</body>
</note>
Trang 18<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Trang 19Và file “note.dtd”
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
Trang 20 XML Schema mô t c u trúc c a tài li u ả ấ ủ ệ
XML, thay th cho DTDế
XML Schema mô t :ả
Các ph n t và thu c tính trong tài li u XML ầ ử ộ ệ
Th t và s l ứ ự ố ượ ng các ph n t con ầ ử
Các ki u d li u c a ph n t và thu c tính ể ữ ệ ủ ầ ử ộ