34
Chng I: TNG QUAN XML !"# $ $$%&&’’’

Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

Ch��ng I: T�NG QUAN XML

���������� ��� � ��� ������ �������

������ �������������������� ���

!�"#�$�� �$$%�&&''' �������������� ���

Page 2: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

Ch��ng 1 - M�c tiêu

� T�ng quan XML.

� So sánh gi�a HTML & XML

� Mô t� c�u trúc 1 file xml

� Các �ng d�ng XML

� Son th�o và biên dch XML

� Vi�t m�t tài li u XML well-form

Page 3: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

T�ng quan XML

� XML- Extensible Markup Language - là ngôn ng� t�ngquát dùng �� l�u tr� d� li u thông qua các th� cóngh�a.

� XML ���c �nh ngh�a b�i t� ch�c mng toàn c�uWorld Wide Web Consortium (W3C).

� Là ngôn ng� �ánh d�u ��c l�p v�i ph�n m�m, ph�nc�ng và n�n (cross-platform).

� Cho phép các máy tính truy�n c�u trúc d� li u gi�ah th�ng không ��ng nh�t.

Page 4: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

XML ���c s� d�ng � �âu?

� Gi�m t�i server

� N�i dung web site

� Remote Procedure Calls

� E-Commerce

Page 5: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

SO SÁNH GI�A XML VÀ HTML [1]

� C� HTML và XML ��u d�a trên chu�n ngôn ng� �nh dng t�ngquát SGML

H�u nh� không b�t l�iKi�m tra tính h�p l

Các ph�n t� �ã ���c �nhngh�a s�n

Cho phép ng��i dùng �nh ngh�a cácph�n t�

Presenttation Markup LanguageContent Markup Language

HTMLXML

Page 6: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

SO SÁNH GI�A XML VÀ HTML [2]

HTMLXML

Các ph�n t� r�ng không c�nph�i �óng

Các ph�n t� ph�i ���c �óng

Không b�t bu�cC�n ph�i ���c �nh ngh�a m�t cáchch t ch!

Ch" ���c thi�t k� �� trình di#nCho phép trao ��i d� li u gi�a các�ng d�ng

Page 7: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

C$U TRÚC C%A XML

� C�u trúc

� Ví d�

� &u �i�m c'a XML.

Page 8: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

C�u trúc tài li u Xml

� M�t tài li u XML có 2 ph�n:

� C�u trúc logic: �nh ngh�a các ph�n t�, các thu�c tính, ki�u d� li u, vv…

� C�u trúc v�t lý: ch�a d� li u và các ph�n t� ch�a d�li u nh� text, hình �nh, media, vv…

� ->Chú ý: t�p tin Xml có ph�n m� r�ng: .xml

Page 9: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

Ví d�: - greating.xml

<?xml version=“1.0” encoding=“UTF-8”?>

<?xml-stylesheet type="text/css" href="greeting.css"?>

<document>

<greeting>

Hello

</greeting>

<message>

Welcome to my page

</message>

</document>

Page 10: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

Ví d� - greating.css

greeting

{

display: block; font-size: 30pt; color: blue

}

message

{

display: block; font-size: 15pt; color: green

}

Page 11: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

Gi�i thích

<?xml version=“1.0” encoding=“UTF-8”?>

� Th� khai báo ch" th x� lý.

� � t � ngay dòng ��u tiên.

� Trong �ó:

� <document> là ph�n t� g�c c�a tài li�u.

� <greeting>, <message> là các ph�n t� ��c �nhngh�a bên trong ph�n t� g�c, nó có th� ch�a d� li�uho c các ph�n t� khác.

Page 12: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

&u �i�m c'a XML

� D� dàng x� lý, chuy�n t�i và trao ��i d� li�u.

� Mô t� d� li�u và cách d� li�u mu�n th� hi�nthông qua tên các th�.

� T� ch�c d� li�u có c�u trúc và phân c�p.

Page 13: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

CÁC (NG D)NG TH*C T+ C%A XML

� CML - ngôn ng� �nh d�ng hoá h�c.

� MathML - ngôn ng� �nh d�ng toán h�c.

� SMIL (Synchronized Multimedia Integration Language).

� HTML+TIME

� XHTML: m� r�ng và �nh ngh�a l�i HTML.

� VML (Vector Markup Language) –

� WML – Wireless Markup Language.

Page 14: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

Son th�o và biên dch XML

� Môi tr��ng son th�o

� Biên dch XML

Page 15: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

Môi tr��ng son th�o XML

� XML Notepad

(www.microsoft.com/xml/notepad/intro.asp)

� XML Writer

(www.xmlwriter.net)

� XML Spy

(www.xmlspy.com)

� eNotePad

(www.edisys.com/products/enotepad)

Page 16: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

Biên dch và chy tài li u XML

� B� phân tích ( XML Parser)

� B� ki�m tra (XML validator)

� Trình biên dch

Page 17: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

B� phân tích XML (XML PARSER)

� Tách d� li�u XML thành t�ng m�u nh� và khi�n chúng cóth� truy xu�t ��c b�i mã l�nh c�a ch��ng trình.

� M�t s� trình phân tích kiêm luôn c� ch�c n�ng ki�m trakhuôn d�ng ho c tính hp l� c�a tài li�u XML.

� Các b� phân tích thông d�ng:

� XML for Java (XML4J), là th� vi�n phân tích tài li�uXML ��c phát tri�n b�i IBM AlphaWorks(www.alphaworks.ibm.com/tech/cml4j)

� Microsoft XML Parser, ��c kèm theo s�n trong trìnhduy�t Internet Explorer 5 tr� lên.

Page 18: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

B� ki�m tra (XML VALIDATOR)

� Dùng �� ki�m tra xem tài li�u XML vi�t ra có �úng khuônd�ng và hp l� hay không?

� Các b� ki�m tra th��ng dùng:

� XML Writer là trình so�n th�o và ki�m tra tính hp l�c�a tài li�u.

� Tidy: phân tích và ki�m tra tính hp l� c�a tài li�u. �ach�: www.w3.org/people/raggett/tidy

� Có th� ki�m tra tính hp l� c�a tài li�u ngay trênInternet qua �a ch�: www.stg.brown.edu/service/xmlvalid

Page 19: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

Trình duy t

� Internet Explorer

� Mozilla FireFox

� Netscape navigator

� …

Page 20: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

XÂY D*NG TÀI LI,U XML

� Ví d�: to m�t tài li u XML �� l�u thông tin v� ��n � t hàng c'acác khách hàng c� th�.

� Ch" th x� lý:

<?xml version=“1.0” standalone=“yes”?>

standalone=“yes”: cho bi�t tài li u là m�t th�c th� duy nh�t khôngtham chi�u ��n các th�c th� khác. �ây c�ng là giá tr m c �nh.

� To ph�n t� g�c:

<?xml version=“1.0” standalone=“yes”?>

<document>

</document>

Page 21: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

VÍ D) (tt)

� To các ph�n t� con

<?xml version=“1.0” standalone=“yes”?>

<document>

<customer>

</customer>

<customer>

</customer>

<document>

Page 22: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

VÍ D) (tt)

� ��i v�i m�i khách hàng ta thêm thông tin v� tên b-ng th�<name> cùng v�i thông tin chi ti�t <first_name> và <last_name>

<?xml version=“1.0” standalone=“yes”?>

<document>

<customer>

<last_name>Smith</last_name>

<first_name>Sam</first_name>

</customer>

<customer>

</customer>

<document>

Page 23: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

VÍ D) (tt)

� Thêm thông tin v� ��n � t hàng

<customer>

<last_name>Smith</last_name>

<first_name>Sam</first_name>

<date>October 15, 2001</date>

<orders>

</orders>

</customer>

Page 24: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

VÍ D) (tt)

<customer>

<last_name>Smith</last_name>

<first_name>Sam</first_name>

<date>October 15, 2001</date>

<orders>

<item>

<product>Tomatoes</product>

<number>8</number>

<price>$1.25</price>

</item>

</orders>

</customer>

Page 25: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

XML WELL - FORM

� XML phân bi t ch� hoa và ch� th��ng

� Các khai báo XML ph�i ���c � t ngay dòng ��u tiên c'a tài li u

� Tài li u ch" có 1 ph�n t� g�c, các ph�n t� khác n�u có ph�i làcon c'a ph�n t� g�c

� M.i ph�n t� XML khác r�ng ph�i bao gôm ��y �' th� �óng

� �óng ph�n t� r�ng v�i chu�i �óng />

� M.i ph�n t� trong tài li u khác ph�n t� g�c ��u ph�i n-m gi�ac p th� g�c

� Các giá tr c'a thu�c tính ph�i ���c � t trong d�u nháy �ôi (“”)

Page 26: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

M�t s� khái ni m khác

� T�p ký t� và mã hóa

� Không gian tên (Namespace)

Page 27: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

T/P KÝ T* VÀ MÃ HOÁ

� T�p ký t� m c �nh c'a XML là UTF-8 (8 bits). �ây làb� mã thu g.n c'aUTF-16 (16 bits), nó chính là b� mãASCII n-m trong ph�n ��u c'a b� mã Unicode.

Page 28: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

KHÔNG GIAN TÊN (NAMESPACES)

� Khi k�t h�p các tài li u XML v�i nhau có th� x�y ratr��ng h�p trùng tên th�, vì v�y c�n �nh ngh�akhông gian tên �� phân bi t chúng.

Page 29: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

T0O KHÔNG GIAN TÊN (tt)

� Ví d�:

�ây là m�t th� vi n sách có ph�n t� g�c là <library>

<library>

<book>

<title>XML</title>

</book>

</library>

Page 30: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

VÍ D) (tt)

Không gian tên dcs ���c to ra cho th� vi n nh� sau:

<library

xmlns:dcs=“http://www.incoll4.edu.vn/lib”>

<book>

<title>XML</title>

</book>

</library>

Page 31: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

VÍ D) (tt)

� Áp d�ng không gian tên dcs cho t�t c� các th� nàotrong tài li u mà ta mu�n chúng duy nh�t và ��cquy�n v� dcs

<dcs:library

xmlns:dcs=“http://www.incoll4.edu.vn/lib”>

<dcs:book>

<dcs:title>XML</dcs:title>

</dcs:book>

</dcs:library>

Page 32: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

VÍ D) (tt)

� N�u ta c�n tham kh�o ��n các t�a sách c'a Amazon, tài li u nàych�c ch�n s! có ph�n t� mang tên <book>. �� an toàn ta s! tom�t không gian tên cho Amozon nh� sau:

<dcs:library

xmlns:dcs=“http://www.incoll4.edu.vn/lib”

xmlns:amazon=“http://www.amazon.com/lib”

<dcs:book>

<dcs:title>XML</dcs:title>

</dcs:book>

</dcs:library>

Page 33: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

VÍ D) (tt)

� Bây gi� b�t k� t�a sách nào c'a Amazon ��u có th� ��a vào v�icùng �nh dng và c�u trúc c'a th� vi n dcs

<dcs:library

xmlns:dcs=“http://www.incoll4.edu.vn/lib”

xmlns:amazon=“http://www.amazon.com/lib”

<dcs:book>

<dcs:title>XML</title>

</dcs:book>

<amazon:book>

<amazon:title>XML</amazon:title>

</amazon:book>

</dcs:library>

Page 34: Ch ng I: T NG QUAN XML · So sánh gi a HTML & XML Mô t c u trúc 1 file xml Các ng d ng XML So n th o và biên d ch XML Vi t m t tài li u XML well-form ˘ T ng quan XML XML-

������ ��� ��� � � �������� ������������������������

CDATA

� Th1a k� t1 SGML - Character DATA

� XML parser s! b2 qua vi c phân tích v�n b�n.

<tagname><![CDATA[text]]></tagname>