1. Trang chủ
  2. » Luận Văn - Báo Cáo

BÁO CÁO ĐỒ ÁN TÌM HIỂU XML TUTORIAL

45 501 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 45
Dung lượng 519,15 KB

Nội dung

1. XML Home 1 2. Giới thiệu về XML 1 a. XML là gì? 1 b. Sự khác nhau giữa XML và HTML? 1 3. Sử dụng XML như thế nào? 2 a. XML được sử dụng như thế nào? 2 b. XML tách dữ liệu từ HTML: 2 4. XML Tree 2 5. XML Syntax Rules 3 a. Tất cả các element đều phải có tag đóng. 3 b. Các tag có phân biệt chữ hoa chữ thường 4 c. Các tag lồng nhau thì phải đúng thứ tự 4 d. Phải có 1 element gốc 4 e. Các giá trị của thuộc tính phải nằm trong dấu nháy kép. 4 f. Các tham chiếu thực thể 5 6. XML Elements 6 a. XML Element là gì? 6 b. Empty Element 7 1. XML Home 1 2. Giới thiệu về XML 1 a. XML là gì? 1 b. Sự khác nhau giữa XML và HTML? 1 3. Sử dụng XML như thế nào? 2 a. XML được sử dụng như thế nào? 2 b. XML tách dữ liệu từ HTML: 2 4. XML Tree 2 5. XML Syntax Rules 3 a. Tất cả các element đều phải có tag đóng. 3 b. Các tag có phân biệt chữ hoa chữ thường 4 c. Các tag lồng nhau thì phải đúng thứ tự 4 d. Phải có 1 element gốc 4 e. Các giá trị của thuộc tính phải nằm trong dấu nháy kép. 4 f. Các tham chiếu thực thể 5 6. XML Elements 6 a. XML Element là gì? 6 b. Empty Element 7

Trang 1

ĐẠI HỌC QUỐC GIA TP.HCM ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

GVHD: Trần Hồng Nghi Thực hiện:

Nguyễn Thành Đăng Khoa 13520403

z

Trang 2

Mục Lục

1 XML Home 1

2 Giới thiệu về XML 1

a XML là gì? 1

b Sự khác nhau giữa XML và HTML? 1

3 Sử dụng XML như thế nào? 2

a XML được sử dụng như thế nào? 2

b XML tách dữ liệu từ HTML: 2

4 XML Tree 2

5 XML Syntax Rules 3

a Tất cả các element đều phải có tag đóng 3

b Các tag có phân biệt chữ hoa chữ thường 4

c Các tag lồng nhau thì phải đúng thứ tự 4

d Phải có 1 element gốc 4

e Các giá trị của thuộc tính phải nằm trong dấu nháy kép 4

f Các tham chiếu thực thể 5

6 XML Elements 6

a XML Element là gì? 6

b Empty Element 7

c Cách đặt tên Element 7

d Cách đặt tên tốt nhất 7

e Naming style 8

f XML Element có thể mở rộng 8

7 XML – Thuộc tính 9

a Cú pháp 9

b Các giá trị thuộc tính XML phải được trích dẫn 9

c Các phần tử XML so với thuộc tính 10

8 XML Namespaces 11

a Xung đột tên 11

b Giải quyết các xung đột Tên sử dụng Prefix (tiền tố) 12

c XML Namespaces – Các thuộc tính xmlns 13

d Uniform Resource Identifier (URI) 14

e Những Namespace mặc định 14

f Namespaces trong sử dụng thực 15

Trang 3

9 Hiển thị XML 16

a Xem tập tin XML 16

b Xem một tập tin XML không hợp lệ 17

c Tại sao hiển thị XML lại giống như vậy? 17

d Hiển thị tập tin XML với CSS? 17

10 XML và XSLT 19

a Hiển thị XML với XSLT 19

b XSLT sử dụng XPath để tìm thông tin trong một tài liệu XML 19

11 XML và XPath 22

a Thế nào là XPath? 22

b Biểu thức đường dẫn XPath 22

c XPath được sử dụng trong XSLT 23

d Ví dụ về XPath 23

12 XML - XLink và XPointer 25

a Xlink 25

b XPointer 28

13 XML Validator 30

a Tài liệu XML được gọi là well-formed nếu nó tuân theo quy tắc sau 30

b Tài liệu XML hợp lệ 31

14 XML-DTD 32

15 XML Schema 33

a XML Schema thì mạnh mẽ hơn DTD: 34

b Tại sao sử dụng XML Schema? 34

c XML Schema hỗ trợ kiểu dữ liệu 35

d XML Schemas dùng XML Syntax 35

16 XML Server 35

a Lưu trữ tài liệu XML trên Server 35

b Tạo XML bằng PHP 36

c Tạo XML bằng ASP 36

d Tạo XML từ CSDL 36

e Chuyển đổi XML bằng XSLT trên Server 37

17 XML Applications 38

a Thể hiện dữ liệu XML trong bảng HTML 38

b Hiển thị CD đầu tiên trong thẻ div HTML: 40

Trang 4

c Navigate Between the CDs 41

18 XML Examples 42

19 Tham khảo 43

Trang 5

1 XML Home

Ví dụ về đoạn mã xml đơn giản:

< ?xml version ="1.0" encoding ="UTF-8" ? >

< note >

< to > Tove < /to >

< from > Jani < /from >

< heading > Reminder < /heading >

< body > Don't forget me this weekend! < /body >

biệt là các hệ thống được kết nối với Internet

Ví dụ khi ta xây dựng một ứng dụng bằng C# và một ứng dụng bằng PHP thì hai ngôn ngữ nàykhông thể hiểu nhau, vì vậy ta sẽ sử dụng XML để trao đổi dữ liệu

b Sự khác nhau giữa XML và HTML?

Ví dụ:

- HTML làm việc với các tag được xác định trước như <p>, <h1>, <table> v.v Còn các tagtrong XML là do người lập trình định nghĩa và mỗi tag là một mô tả dữ liệu mà người lập trình muốntruyền đạt

Trang 6

<note>

<to>Tove</to>

<from>Jani</from>

<heading>Reminder</heading>

<body>Don't forget me this weekend!</body>

</note>

3 Sử dụng XML như thế nào?

a XML được sử dụng như thế nào?

- XML được sử dụng trong nhiều khía cạnh của phát triển web.

- XML thường được sử dụng để tách biệt dữ liệu và việc trình bày dữ liệu:

thể được trình bày theo nhiều cách khác nhau Do đó XML có sự tách biệt hoàn toàn giữa dữ liệu và sựtrình bày dữ liệu đó

b XML tách dữ liệu từ HTML:

Khi hiển thị dữ liệu dưới dạng HTML, chúng ta không cần phải chỉnh sửa các tập tinHTML khi dữ liệu thay đổi Với XML, dữ liệu có thể được lưu trữ trong các tập tin XML riêngbiệt

Với một vài dòng mã JavaScript, chúng ta có thể đọc một tập tin XML và cập nhật nộidung dữ liệu của bất kỳ trang HTML nào

XML được tạo bởi các tag (XML element) có thể lồng lên nhau, tag ngoài ta gọi là tagcha và các tag bên trong gọi là tag con và chúng có thể được tổ chức theo một cấu trúc cây thưmục

Ví dụ: Ta có sơ đồ cây lưu trữ thông tin về sách trong cửa hàng

Trang 7

Với sơ đồ trên ta có XML như sau:

<?xml version="1.0" encoding="UTF-8"?>

<bookstore>

<book category="cooking">

<title lang="en">Everyday Italian</title>

<author>Giada De Laurentiis</author>

Các luật cú pháp của XML thì rất đơn giản và logic, các luật cũng dễ học và dễ sử dụng

a Tất cả các element đều phải có tag đóng.

Trong HTML, một vài element không cần phải có tag đóng

<p>Văn bản

<br>

Tuy nhiên, trong XML thì lại không được như vậy, tất cả element đều phải có tag đóng

Trang 8

<p>Văn bản.</p>

<br />

b Các tag có phân biệt chữ hoa chữ thường

Trong XML thì các tag có phân biệt giữa chữ hoa và chữ thường, tag đóng và tag mở phải giống nhau yhệt

<Message>Đây là sai</message>

<message>Đây là đúng</message>

c Các tag lồng nhau thì phải đúng thứ tự

Trong HTML, các tag có thể lồng nhau không theo thứ tự

<b><i> Đoạn văn được in đậm và in nghiêng</b></i>

Nhưng trong XML thì tuyệt đối phải đúng thứ tự

<b><i> Đoạn văn được in đậm và in nghiêng </i></b>

e Các giá trị của thuộc tính phải nằm trong dấu nháy kép.

Element XML có thể có các thuộc tính theo cặp như name/value như HTML

Trong XML thì các giá trị phải được nằm trong nháy kép

Trang 9

<message>Dòng này sẽ bị lỗi < 1000</message>

Để tránh bị lỗi ta thay thế “<” bằng 1 thực thể tham chiếu

<message>Dòng này không bị lỗi &lt; 1000</message>

Dưới đây là bảng thực thể tham chiếu trong XML:

g Ghi chú trong XML

Cũng giống HTML đó là:

<! Viết ghi chú ở đây >

Tuy nhiên ở phần ghi chú không cho phép có 2 dấu gạch giữa liên tiếp

<! Không cho phép 2 dấu liên tiếp trong ghi chú >

h Khoảng trắng được giữ nguyên trong XML

Trang 10

Trong HTML thì các khoảng trắng dư thừa sẽ bị cắt đi hết chỉ giữ lại 1 cái khoảng trắng.

Còn trong XML thì nó không bị cắt

i. XML lưu trữ dòng mới như là LF (Line Feed)

Các ứng dụng windows lưu trữ 1 dòng mới: ký tự bắt đầu dòng và ký tự xuống dòng (CR + LF)

Hệ điều hành Unix và Mac OSX sử dụng LF

< book category ="children">

< title > Harry Potter < /title >

< author > J K Rowling < /author >

< year > 2005 < /year >

< price > 29.99 < /price >

< /book >

< book category ="web">

< title > Learning XML < /title >

< author > Erik T Ray < /author >

< year > 2003 < /year >

< price > 39.95 < /price >

< /book >

< /bookstore >

Trang 11

Trong ví dụ trên:

<title>, <author>, <year> và <price> là dạng element chứa text vì có chứa nội dung văn bản

<bookstore> và <book> là dạng element chứa element khác

<book> là dạng element chứa thuộc tính (category="children")

b Empty Element

<element></element>

<element />

c Cách đặt tên Element

Đặt tên Element XML phải theo các luật sau:

d Cách đặt tên tốt nhất

 Tên phải có tính mô tả : <first_name>, <last_name>

 Tên phải ngắn và đơn giản: như <book_title> chứ không nên dùng tên <The_title_of_book>

e Naming style

Một số lời khuyên để cho 1 tài liệu XML trở nên chuyên nghiệp và dễ đọc:

 Viết chữ thường hết:<firstname>

Trang 12

 Gạch dưới phân cách cho từng từ:<first_name>

 Viết hoa ký tự đầu từ:<FirstName>

 Viết hoa ký tự đầu của từ thứ hai:<firstName>

Một tài liệu XML thường đại diện cho 1 CSDL tương ứng, thế nên tốt nhất là lấy tên của các cột đặt tên cho element

f XML Element có thể mở rộng

Các element có thể mở rộng để mang nhiều thông tin hơn

Ví dụ mở rộng thêm cho đoạn sau:

<note>

<to>Tove</to>

<from>Jani</from>

<body>Don't forget me this weekend!</body>

<from>Jani</from>

<heading>Reminder</heading>

<body>Don't forget me this weekend!</body>

</note>

7 XML – Thuộc tính

Trang 13

Các phần tử XML có thể có các thuộc tính, giống như HTML.

Các thuộc tính được thiết kế để chứa các dữ liệu liên quan đến một phần tử cụ thể

a Cú pháp

< tên_phần_tử thuộc_tính_1 thuộc_tính_2 >

Đối với giới tính của một người, các phần tử <person> có thể được viết thế này:

<person gender="female">

Hoặc

<person gender='female'>

- Nếu các giá trị của chính thuộc tính có chứa dấu ngoặc kép, ta có thể dùng dấu nháy đơn để trích

dẫn Giá trị của thuộc tính:

<gangster name='George "Shotgun" Ziegler'>

Hoặc có thể dùng dấu nháy kép và dấu chấm phẩy:

<gangster name="George &quot;Shotgun&quot; Ziegler">

c Các phần tử XML so với thuộc tính

Hãy xem ví dụ sau:

<person gender="female">

<firstname>Anna</firstname>

<lastname>Smith</lastname>

Trang 14

<person>

<gender>female</gender>

<firstname>Anna</firstname>

<lastname>Smith</lastname>

</person>

- Trong ví dụ đầu tiên giới tính (gender) là một thuộc tính Cuối cùng, giới tính là một phần

tử Cả hai ví dụ cung cấp các thông tin tương tự

d Tránh những thuộc tính XML?

Một số điều cần xem xét khi sử dụng những thuộc tính này là:

• Các thuộc tính không thể chứa nhiều giá trị (các phần tử thì có thể)

• Các thuộc tính có thể không chứa các cấu trúc cây (các phần tử thì có thể)

• Các thuộc tính không dễ dàng mở rộng (đối với những thay đổi sau này)

Đừng kết thúc như thế này:

<note day="10" month="01" year="2008"

to="Tove" from="Jani" heading="Reminder"

body="Don't forget me this weekend!">

</note>

e Những thuộc tính XML cho Siêu dữ liệu

- Đôi khi ID tham chiếu được gán cho các phần tử

- Những ID tham chiếu này có thể dùng để định danh cho các phần tử XML theo cách giống với

ID thuộc tính trong HTML

Ví dụ:

<messages>

<note id="501">

Trang 15

<to>Tove</to>

<from>Jani</from>

<heading>Reminder</heading>

<body>Don't forget me this weekend!</body>

</note>

<note id="502">

<to>Jani</to>

<from>Tove</from>

<heading>Re: Reminder</heading>

<body>I will not</body>

</note>

</messages>

- Các id thuộc tính trên để định danh cho các note khác nhau

- Siêu dữ liệu phải được lưu trữ như là các thuộc tính, và các dữ liệu của chính nó nên được lưu

- Trong XML, tên phần tử được định danh bởi các nhà phát triển

- Điều này thường dẫn đến xung đột khi cố gắng kết hợp các tài liệu XML từ các ứng dụng XML

Trang 16

XML này mang thông tin về một bàn, 1 phần của nội thất:

- Nếu những mảnh XML được thêm vào với nhau, sẽ có cuộc xung đột tên.

- Cả hai đều chứa một phần tử <table> , nhưng những phần tử này có nội dung và ý nghĩa khác

nhau

- Người dùng hoặc một ứng dụng XML sẽ không biết để xử lí những khác biệt này.

b Giải quyết các xung đột Tên sử dụng Prefix (tiền tố)

- Xung đột tên trong XML có thể dễ dàng tránh được bằng cách sử dụng một tên tiền tố

Trang 17

- Các namespace có thể được định danh bằng các Thuộc tính xmlns trong thẻ bắt đầu của một

Phần tử

Cú pháp Khai báo Namespace trong XML

<element xmlns:name="URL">

Với:

URL là định danh của Namespace.

- Namespace chỉ có tác động tại một phạm vi giới hạn trong tài liệu Một phần tử chứa khai báo

này và tất cả các phần tử con của nó là trong phạm vi của Namespace đó Sau đây là một ví dụ đơngiản của Namespace trong XML:

<?xml version="1.0" encoding="UTF-8"?>

<cont:contact xmlns:cont="www.tutorialspoint.com/profile">

<cont:name>Tanmay Patil</cont:name>

<cont:company>TutorialsPoint</cont:company>

<cont:phone>(011) 123-4567</cont:phone>

</cont:contact>

- Ở đây, tiền tố của Namespace là cont, và định danh của Namespace (URI) là

www.tutorialspoint.com/profile Nghĩa là, các tên phần tử và tên thuộc tính với tiền tố cont(bao gồm

cả phần tử contact), là thuộc Namespace có tên là www.tutorialspoint.com/profile.

d Uniform Resource Identifier (URI)

- Một Uniform Resource Identifier (URI) là một chuỗi các ký tự trong đó xác định một tài

nguyên Internet

- URI phổ biến nhất là Uniform Resource Locator (URL) trong đó xác định một địa chỉ miền trên

Internet Loại không phổ biến của URI là Universal Resource Name (URN)

e Những Namespace mặc định

Trang 18

- Định danh namespace mặc định để lưu phần tử của chúng ta bằng cách sử dụng các Prefix

trong tất các phần tử con Có cú pháp như sau:

- Các tài liệu XML dưới đây, là một tài liệu được sử dụng để chuyển đổi XML thành HTML.

tài liệu HTML

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">

Trang 19

<th style="text-align:left">Title</th>

<th style="text-align:left">Artist</th>

</tr>

<xsl:for-each select="catalog/cd">

<tr>

<td><xsl:value-of select="title"/></td>

<td><xsl:value-of select="artist"/></td>

- File XML thô có thể được xem ở tất cả các trình duyệt chính.

- Đừng nghĩ rằng các tập tin XML được hiển thị như các trang HTML

a Xem tập tin XML

<?xml version="1.0" encoding="UTF-8"?>

- <note>

<to>Tove</to>

<from>Jani</from>

<heading>Reminder</heading>

<body>Don't forget me this weekend!</body>

Trang 20

</note>

- Xem tập tin XML trên trong trình duyệt của bạn: click 2 lần để mở file note.xml

- Hầu hết các trình duyệt sẽ hiển thị tài liệu XML với các phần tử màu sắc

- Sử dụng dấu cộng (+) hoặc dấu trừ (-) bên trái các phần tử để mở rộng hoặc thu gọn cấu trúcphần tử

- Để xem mã nguồn XML thô, chọn "View Page Source" hoặc "View Source" từ Menu của trìnhduyệt

b Xem một tập tin XML không hợp lệ

Nếu một tập tin XML bị lỗi được mở ra, một số trình duyệt sẽ báo cáo lỗi

<?xml version="1.0" encoding="UTF-8"?>

- <note>

<to>Tove</to>

<from>Jani</Ffrom>

<heading>Reminder</heading>

<body>Don't forget me this weekend!</body>

Trang 21

</note>

- Xem tập tin XML trên trong trình duyệt của bạn: click 2 lần để mở file note_error.xml

- Báo lỗi trong trình duyệt web:

c Tại sao hiển thị XML lại giống như vậy?

- Tài liệu XML thì không mang thông tin về cách hiển thị dữ liệu

- Kể từ khi thẻ XML đuợc phát minh bởi các tác giả của các tài liệu XML, trình duyệt không biếtnếu một thẻ như <table> mô tả một bảng HTML hoặc bàn ăn tối

- Nếu không có bất kỳ thông tin về cách để hiển thị dữ liệu, các trình duyệt chỉ có thể hiển thị tàiliệu XML như nó được

d Hiển thị tập tin XML với CSS?

- Dưới đây là một ví dụ về cách sử dụng CSS để định dạng một tài liệu XML

một style sheet như cd_catalog.css (double click để mở file)

Dưới đây là một phần của tập tin XML Dòng thứ hai liên kết các tập tin XML vào file CSS:

<?xml version="1.0" encoding="UTF-8"?>

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

<CATALOG>

<CD>

<TITLE>Empire Burlesque</TITLE>

Trang 22

<ARTIST>Bob Dylan</ARTIST>

<COUNTRY>USA</COUNTRY>

<COMPANY>Columbia</COMPANY>

<PRICE>10.90</PRICE>

<YEAR>1985</YEAR>

</CD>

<CD>

<TITLE>Hide your heart</TITLE>

<ARTIST>Bonnie Tyler</ARTIST>

- Ngôn ngữ định kiểu mở rộng chuyển đổi (eXtensible Stylesheet Language Transformations) là

đề xuất ngôn ngữ style sheet cho XML Nhu cầu chuyển đổi XML là rất cần thiết đến mức XSLTđược coi là một trong những đặc tính cơ bản của XML

Ngày đăng: 19/03/2018, 09:54

TỪ KHÓA LIÊN QUAN

w