Căn bản về XML

MỤC LỤC

Chương mở đầu. 2

1 XML là gì? . 2

2 Các nội dung sẽtrình bày . 2

Chương 1.4

XML (eXtensible Markup Language) . 4

1 Phần lý thuyết. 4

1.1 Các quy tắc cần lưu ý . 4

1.2 Chỉthịxửlý (Processing Instructions) và lời chú thích (Comments) . 5

1.3 Không gian tên (namespace). 6

1.3.1 Khai báo không gian tên (namespace) . 6

1.3.2 Không gian tên mặc định (namespace default) . 6

1.4 CDATA. 8

1.5 Thực thể định nghĩa sẵn trong XML. 8

2 Phần ví dụ. 8

Chương 2.9

DTD (Document Type Definition). 9

1 DTD là gì? . 9

2 Định nghĩa một tài liệu DTD . 9

2.1 Phần tử<!DOCTYPE>. 9

2.1.1 Định nghĩa DTD tham chiếu nội. 10

2.1.2 Định nghĩa DTD tham chiếu ngoại. 10

2.2 Phần tử<!ELEMENT> . 12

2.3 Phần tử<!ATTLIST>. 13

2.4 Thực thể(Entity) . 18

2.4.1 Thực thểlà gì?. 18

2.4.1.1 Thực thểtổng quát . 18

2.4.1.1.1 Thực thểtổng quát nội . 18

2.4.1.1.2 Thực thểtổng quát ngoại . 19

2.4.1.2 Thực thểtham số. 19

2.4.1.2.1 Thực thểtham sốnội . 20

2.4.1.2.2 Thực thểtham sốngoại . 20

Chương 3. 23

Xpath (XML Path Language) . 23

1 Giới thiệu. 23

2 Cú pháp của XPath . 24

2.1 Đường dẫn tuyệt đối . 24

ii

2.2 Đường dẫn tương đối . 25

2.3 Chọn các phần tửbằng ký tự đại diện . 25

2.4 Chọn các phần tửtheo điều kiện . 25

2.5 Một sốhàm thường dùng. 25

2.6 Một sốtoán tửthường dùng . 26

3 Một sốví dụ. 27

Chương 4. 39

XSL (eXtensible style sheet) . 39

1 XSL là gì?. 39

2 Qui tắc chung . 39

3 Một sốphần tử(element) thường dùng của XSL. 40

3.1 Phần tửvalue-of. 40

3.2 Phần tửattribute . 41

3.3 Phần tửattribute-set . 41

3.4 Phần tửelement. 42

3.5 Phần tửapply-templates . 43

3.6 Phần tửcall-template . 44

3.7 Phần tửfor-each . 45

3.8 Phần tửif. 46

3.9 Phần tử điều khiển choose . 46

3.10 Phần tửvariable. 47

3.11 Phần tửparam . 48

3.12 Phần tửinclude. 49

3.13 Phần tửimport . 49

Chương 5. 51

XLink và XPointer. 51

1 XLink . 51

1.1 XLink là gì? . 51

1.2 Cách tạo liên kết trong XLink . 51

1.2.1 Liên kết đơn giản (simple) . 52

1.2.2 Liên kết mởrộng (extended). 53

1.2.3 Cung liên kết. 54

1.2.3.1 Cung kết nối. 54

1.2.3.2 Cung kết nối nhiều đỉnh . 54

1.2.3.3 Cung kết nối tổhợp . 55

2 XPointer(XML Pointer Language) . 56

2.1 XPointer là gì?. 56

2.2 Định vịvịtrí dữliệu . 56

pdf59 trang | Chuyên mục: XML | Chia sẻ: dkS00TYs | Lượt xem: 2672 | Lượt tải: 2download
Tóm tắt nội dung Căn bản về XML, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
> 
 cc 
 ff 
 aa 
 fff 
 FFF 
 Aa 
 ccCCC 
BBB[1]: cc 
BBB[2]: ff 
BBB[3]: aa 
BBB[4]: fff 
BBB[5]: FFF 
BBB[6]: Aa 
BBB[7]: ccCCC 
 Căn bản về XML 
TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ Trang 51 / 59 
Địa chỉ: Số 6 Lê Lợi, Huế 
Điện thoại: (054).849.499 Fax: (054).849.498 
Email: huesoft@dng.vnn.vn website:  
Chương 5 
XLink và XPointer 
1 XLink 
1.1 XLink là gì? 
Xlink (XML Linking Language) là một ngôn ngữ hỗ trợ cho liên kết tài liệu XML 
một cách rất tổng quát. 
Siêu liên kết HTML cung cấp một số thẻ như , mới có khả năng 
tạo liên kết. Những liên kết này chỉ là liên kết một chiều, HTML cho phép tiến 
chứ không cho quay lui, tức là khi chúng ta link đến một trang nào đó thì 
chúng ta không thể nào đi ngược lại trang trước đó (nếu không sử dụng 
History của trình duyệt hay một số ngôn ngữ khác). XLink cho phép tạo liên 
kết đến một phần (giống như boockmark của HTML) hoặc toàn bộ tài liệu theo 
nhiều hình thức khác nhau. XLink cho phép liên kết một chiều hoặc nhiều 
chiều. 
XLink cần có sự hỗ trợ của XPointer và XPath để có thể trỏ đến một cách 
chính xác từng vùng dữ liệu do XPointer và XPath định vị. 
1.2 Cách tạo liên kết trong XLink 
Không giống như HTML, XLink không quy định một phần tử liên kết nào cả, 
nó phụ thuộc vào thuộc tính liên kết được chỉ ra. Chúng ta cần phải định 
nghĩa một không gian tên cho các phần tử liên kết để trình phân tích phân biệt 
được đâu là XLink, khai báo không gian tên với URL: 
<zvon xmlns:xlink = "" 
 xlink:type="simple" 
 xlink:href="zvon.gif">Click here 
Chúng ta không nhất thiết phải lấy tiếp đầu ngữ của không gian tên XLink là 
xlink, chúng ta có thể dùng bất kỳ nhưng dùng tên xlink sẽ dễ phân biệt hơn. 
Trong ví dụ trên chúng ta thấy có sử dụng thuộc tính type 
(xlink:type=”simple”). Đây chính la thuộc tính quy định kiểu XLink. 
Có tất cả 7 kiểu XLink được định nghĩa thông qua giá trị của thuộc tính 
xlink:type: 
Giá trị Mô tả 
simple Liên kết đơn giản, liên kết này giống như liên kết trong HTML 
extended Liên kết mở rộng 
locator Định vị 
arc Cung liên kết 
reource Tài nguyên liên kết 
 Căn bản về XML 
TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ Trang 52 / 59 
Địa chỉ: Số 6 Lê Lợi, Huế 
Điện thoại: (054).849.499 Fax: (054).849.498 
Email: huesoft@dng.vnn.vn website:  
Title Tiêu đề liên kết 
None Tùy biến 
1.2.1 Liên kết đơn giản (simple) 
Đây chỉ là một liên kết đơn giản giống như liên lết trong HTML, kết hợp với 
thuộc tính xlink:type có các thuộc tính sau: 
Tên thuộc tính Giá trị Mô tả 
xlink:href Là một địa chỉ cần link đến Địa chỉ cần link đến 
xlink:show new, replace. embed 
xlink:actuate onLoad, onRequest 
Khi thuộc tính xlink:show được thiết lập là new thì link này sẽ đựợc mở ra với 
một cửa sổ mới. thuộc tính xlink:show có thể được kết hợp với thuộc tính 
xlink:actuate để làm cho liên kết đa dạng hơn: 
xlink:actuate=”onLoad” thì link này sẽ tự động được gọi, tức là không cần phải 
click vào link này, còn nếu xlink:actuate=”onRequest” thì link sẽ không được 
gọi một cách tự động 
<zvon:logo xmlns:zvon = "" 
 xmlns:xlink="" 
 xlink:type="simple" 
 xlink:href="zvon.gif" 
 xlink:show="new" 
 xlink:actuate="onLoad"> 
Khi thuộc tính xlink:show được thiết lập là replace thì nội dung của link nay sẽ 
được thay thế ngay trên trang hiện tại, khi kết hợp với thuộc tính 
xlink:actuate=”onLoad” thì link này sẽ đuợc tự động gọi 
<zvon:doclink xmlns:zvon = "" 
 xmlns:xlink="" 
 xlink:type="simple" 
 xlink:href="xml5_out.xml" 
 xlink:show="replace" 
 xlink:actuate="onLoad"> After clicking on this link the following example 
will 
 open in this window. 
 Căn bản về XML 
TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ Trang 53 / 59 
Địa chỉ: Số 6 Lê Lợi, Huế 
Điện thoại: (054).849.499 Fax: (054).849.498 
Email: huesoft@dng.vnn.vn website:  
Khi thuộc tính xlink:show được thiết lập là embed thì tài liệu link này sẽ được 
nhúng vào tài liệu hiện hành, chúng ta có thể hình dung nó giống như liên kết 
 trong HTML 
<zvon:logo xmlns:zvon = "" 
 xmlns:xlink="" 
 xlink:type="simple" 
 xlink:href="zvon.gif" 
 xlink:show="embed" 
 xlink:actuate="onLoad"> 
 Mozilla M17 users: 
 This feature is not yet implemented, 
 otherwise you will see the picture here. 
và thuộc tính xlink:actuate cũng được sử dụng giống như trên. 
1.2.2 Liên kết mở rộng (extended) 
XLink mở rộng dùng để liên kết nhiều nguồn tài liệu khác nhau từ những 
nguồn khác nhau. XLink mở rộng là tập các định nghĩa bao gồm quan hệ giữa 
tài nguyên nguồn và tài nguyên đích. Có hai loại tài nguyên liên kết mở rộng 
được chỉ ra bởi thuộc tính xlink:type, đó là resource (tài nguyên cục bộ) và 
locator (tài nguyên ở xa). 
Tài nguyên cục bộ được định nghĩa trưc tiếp bên trong liên kết còn tài nguyên 
ở xa được tham chiếu đến thông qua địa chỉ URL/URI. 
<WEBSITE xmlns:xlink="" 
xlink:type="extended"> 
 Cafe au Lait 
 <HOMESITE xlink:type="locator“ 
xlink:href=""/> 
 <MIRROR xlink:type="locator“ 
 xlink:href=""/> 
 <MIRROR xlink:type="locator“ 
 xlink:href=""/> 
 <MIRROR xlink:type="locator" 
 xlink:href=""/> 
Ví dụ trên chúng ta đã định nghĩa một WEBSITE gồm một tài nguyên cục bộ 
và 4 tài nguyên ở xa. Khi hiển thị trên ứng dụng hay trình duyệt thì nội dung 
của tài nguyên cục bộ sẽ được hiển thị và khi người dùng kích hoạt liên kết thì 
các địa chỉ liên kết sẽ được chọn để triệu gọi. Nhưng đây mới chỉ là cơ sở lý 
thuyết và chưa có trình duyệt nào hỗ trợ điều này. 
 Căn bản về XML 
TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ Trang 54 / 59 
Địa chỉ: Số 6 Lê Lợi, Huế 
Điện thoại: (054).849.499 Fax: (054).849.498 
Email: huesoft@dng.vnn.vn website:  
Chúng ta có thể hình dung mỗi nguồn tài nguyên là một đỉnh và sự kết nối 
giữa một đỉnh đến một hay nhiều đỉnh khác người ta gọi là cung liên kết, mỗi 
đỉnh có một tên gọi được đặt bởi thuộc tính xlink:role. Có 3 loại cung liên kết, 
đó là cung kết nối, cung kết nối nhiều đỉnh, cung kết nối tổ hợp. 
1.2.3 Cung liên kết 
Một phần tử là cung liên kết khi thuộc tính xlink:type được nhận giá trị là arc. 
Bây giờ chúng ta sẽ tìm hiểu từng loại cung liên kết. 
1.2.3.1 Cung kết nối 
Cung kết nối là sự nối kết giữa một đỉnh tài nguyên này với một đỉnh tài 
nguyên khác, giữa hai đỉnh kết nối thì có một tài nguyên nguồn và một tài 
nguyên đích được phân biệt nhờ vào thuộc tính xlink:from và xlink:to của 
XLink. 
<WEBSITE xmlns:xlink="" 
xlink:type="extended"> 
 Cafe au 
Lait 
 <HOMESITE xlink:type="locator“ xlink:href="" 
 xlink:role=”ibiblio” 
 /> 
 <MIRROR xlink:type="locator“ xlink:href="" 
 xlink:role=”sunsite-kth” 
 /> 
 <MIRROR xlink:type="locator“ 
 xlink:href="" 
 xlink:role=”sunsite-informatik” 
 /> 
 <MIRROR xlink:type="locator" 
 xlink:href="" 
 xlink:role=”sunsite-cnlab” 
 /> 
 xlink:type=”arc” 
 xlink:from=” source” xlink:to=” ibiblio” 
 xlink:show=”replace” xlink:actuate=”onRequest” 
1.2.3.2 Cung kết nối nhiều đỉnh 
 Căn bản về XML 
TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ Trang 55 / 59 
Địa chỉ: Số 6 Lê Lợi, Huế 
Điện thoại: (054).849.499 Fax: (054).849.498 
Email: huesoft@dng.vnn.vn website:  
Trong trường hợp chúng ta muốn nối kết từ một đỉnh đến đòng thời nhiều đỉnh 
bằng cách chúng ta đặt tên cho các đỉnh muốn nối kết đến cùng một tên. Loại 
nối kết này gọi là cung kết nối nhiều đỉnh. 
Việc xử lý các cung liên kết là do trình ứng dụng hay trình duyệt quyết định. 
<WEBSITE xmlns:xlink="" 
xlink:type="extended"> 
 Cafe au 
Lait 
 <HOMESITE xlink:type="locator“ xlink:href="" 
 xlink:role=”multi-con” 
 /> 
 <MIRROR xlink:type="locator“ xlink:href="" 
 xlink:role=”multi-con” 
 /> 
 <MIRROR xlink:type="locator“ 
 xlink:href="" 
 xlink:role=”multi-con” 
 /> 
 <MIRROR xlink:type="locator" 
 xlink:href="" 
 xlink:role=”multi-con” 
 /> 
 xlink:type=”arc” 
 xlink:from=” source” xlink:to=”multi-con” 
 xlink:show=”replace” xlink:actuate=”onRequest” 
1.2.3.3 Cung kết nối tổ hợp 
Nếu chúng ta không muốn chỉ ra một cung cụ thể nào thì trong định nghĩa 
cung chúng ta không cần sử dụng đến thuộc tính xlink:to, như vậy các cung 
liên kết là một sự tổ hợp của các đỉnh 
 xlink:type=”arc” 
 xlink:from=” source” 
 xlink:show=”replace” xlink:actuate=”onRequest” 
 Căn bản về XML 
TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ Trang 56 / 59 
Địa chỉ: Số 6 Lê Lợi, Huế 
Điện thoại: (054).849.499 Fax: (054).849.498 
Email: huesoft@dng.vnn.vn website:  
2 XPointer(XML Pointer Language) 
2.1 XPointer là gì? 
Như trong chương 2 chúng ta đã tìm hiểu về XPath, XPath giúp cho chúng ta 
trích ra một phần tử nào đó trong tài liệu XML, XPath là một ngôn ngữ định vị 
nhưng nó không giúp cho chúng ta đi đi sâu vào nội dung của từng phần tử 
mà nó định vị được phần tử. 
Ví dụ, khi chúng ta dùng cú pháp của XPath để trích ra nội dung của một phần 
tử B nào đó, nhưng nó không thể nào giúp cho chúng ta đi vào từng vị trí của 
nội dung mà nó trích lọc được . 
Vì vậy sự ra đời của XPointer sẽ giúp cho chúng ta giải quyết được điều này. 
XPointer được xây dựng dựa trên cơ sở của XPath. 
2.2 Định vị vị trí dữ liệu 
XPointer định vị một vị trí dữ liệu dựa trên điểm trỏ. Có hai loại điểm trỏ đó là 
điểm trỏ node và điểm trỏ ký tự, vị trí điểm trỏ được bắt đầu tính từ 0. 
Khi chúng ta muốn trỏ đến một phần tử trong tài liệu XML chúng ta dùng điểm 
trỏ node và muốn trỏ đến từng vị trí của nội dung tài liệu chúng ta dùng điểm 
trỏ kí tự. Các điểm trỏ dựa vào vị trí chỉ định. Nếu tập dữ liệu chúng ta chỉ định 
là gồm nhiều phần tử con thì chỉ số xác định vị trí điểm trỏ node còn nếu dữ 
liệu không chứa các phần tử thì chỉ số xác định điểm trỏ ký tự. 
Chúng ta dùng hàm pointer() để định vị dữ liệu, XPointer có thể được sử dụng 
chung với địa chỉ URL/URI sau ký hiệu #. 
Ví dụ: 
<link xmlns:xlink="" xlink:type="simple" 
 xlink:href= "mydocument.xml#xpointer(//AAA/BBB[1])"> 

File đính kèm:

  • pdfCăn bản về XML.pdf