Tải bản đầy đủ (.ppt) (65 trang)

Bài giảng Phát triển Web nâng cao - Chương 8: XML

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (773.21 KB, 65 trang )

CHƯƠNG VIII:

XML
Lý thuyết 3 tiết
Thực hành 6 tiết


CƠ BẢN VỀ XML



Giới thiệu XML
Cấu trúc của tài liệu XML


Giớ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).


Cấ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 (start-tag) và
một thẻ kết thúc (end-tag).
Giữa start-tag và end-tag 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.


Cấ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>


Cấ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à well-formed.
Một tài liệu XML well-formed 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)


Một tài liệu XML well-formed







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 .


Processing Instructions và Comments





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 well-formed 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


Processing Instructions và Comments
standalone="yes"?>
<Order>
<OrderDate>2002-6-14</OrderDate>
<Customer>Helen Mooney</Customer> <Item>
<ProductID>1</ProductID>
<Quantity>2</Quantity>
</Item>
</Order>


Processing Instructions và Comments


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

<?xml-stylesheet type="text/xsl“ ref="order.xsl"?>



Có thể thêm Comment bằng cách dùng cặp
Tags <!-- và --> .


Namespace


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.


Namespace
<?xml version="1.0"?>
<BookOrder OrderNo="1234">
<OrderDate>2001-01-01</OrderDate>
<Customer>
<Title>Mr.</Title> <FirstName>Graeme</FirstName>
<LastName>Malcolm</LastName>
</Customer>
<Book>
<Title>Treasure Island</Title>
<Author>Robert Louis Stevenson</Author>
</Book>
</BookOrder>



Namespace






Để 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 .


Namespace
<?xml version="1.0"?>
<BookOrder OrderNo="1234">
<OrderDate>2001-01-01</OrderDate>
<Customer xmlns=" /><Title>Mr.</Title> <FirstName>Graeme</FirstName>
<LastName>Malcolm</LastName>
</Customer>
<Book xmlns=" /><Title>Treasure Island</Title>
<Author>Robert Louis Stevenson</Author>
</Book>
</BookOrder>



XÂY DỰNG TÀI LIỆU XML



Document Type Define (DTD)
XML schema


Document Type Define (DTD)




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.


Document Type Define (DTD)
<?xml version="1.0"?>
<!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>


Document Type Define (DTD)
<?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>


Document Type Define (DTD)
Và file “note.dtd”
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>



XML schema




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


Lý do sử dụng XML Schema


XML Schema là một sự thay thế cho DTD






Hỗ trợ nhiều loại dữ liệu

Sử dụng cú pháp XML
Bảo toàn sự giao tiếp dữ liệu
Ràng buộc khóa và tham chiếu mạnh hơn DTD
Tích hợp với namespace


XML Schema (Ví dụ
<?xml version="1.0"?>
<xs:schema xmlns:xs=“ />targetNamespace=“”
xmlns=“”
elementFormDefault="qualified">
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>


Schema và Namespace
<schema xmlns= />targetNamespace=“ />…..
</schema>





namespace
của các từ khóa dùng trong sự xác định lược đồ
XML, ví dụ: schema, targetNamespace,…
targetNamespace: định nghĩa namespace của lược
đồ được xác định trong tài liệu <schema>…
</schema> trên


Tham chiếu đến một XML Schema
<?xml version="1.0"?>
xmlns:xsi= />xsi:schemaLocation=" note.xsd">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

xsi:schemaLocation nghĩa là lược đồ của namespace
được tìm thấy ở
note.xsd


LẬP TRÌNH VỚI XML



1. Xpath
2. Document Object Model (DOM)



×