Bài giảng Cơ sở dữ liệu web và XML - Chương 4: XML - Hồ Văn Phi

Tóm tắt Bài giảng Cơ sở dữ liệu web và XML - Chương 4: XML - Hồ Văn Phi: ...h sử dụng từ khóa SYSTEM trong chỉ thị khai báo . 4.2 Định nghĩa kiểu dữ liệu - DTD Chương 4. XML 4 - 46/ 4.2.1 Định nghĩa dữ liệu - DTD ngoại dùng riêng Ví dụ: 4.2 Định nghĩa kiểu dữ liệu - DTD Sam Smith 15 Tomatoes Chương 4. XML 4 - 47/ 4.2.1 Định nghĩa dữ liệu - DTD ngoại dùng ... DTD Tên định danh duy nhất trong tài liệu XMLID Đại diện cho một danh sách mà các thuộc tính được gắnEnumerated Tên tham chiếu của thực thể (cũng phải khai báo trong DTD) ENTITY Tham chiếu các thực thể (những thực thể này cũng phải được khai báo trong định nghĩa DTD) ENTITIES Dữ liệu ký ...ĩa một lớp bắt đầu bằng dấu chấm (.), đến tên lớp Ví dụ: RED_ITALIC dưới đây là một lớp mang kiểu thuộc tính bao gồm chữ màu đỏ và in nghiêng 4.3 Ngôn ngữ định dạng Chương 4. XML 4 - 110/ 4.3.1 CSS - Nhóm các định nghĩa kiểu vào một lớp hr {color: sienna} p {margin-left: 20px} body {backgr...

pdf159 trang | Chia sẻ: havih72 | Lượt xem: 216 | Lượt tải: 0download
Nội dung tài liệu Bài giảng Cơ sở dữ liệu web và XML - Chương 4: XML - Hồ Văn Phi, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
ương 4. XML 4 - 84/
4.2.3 Thuộc tính (attribute)
 cho phép định nghĩa nhiều thuộc tính
Ví dụ
4.2 Định nghĩa kiểu dữ liệu - DTD
<!DOCTYPE DOCUMENT [
<!ATTLIST CUSTOMER 
OWES CDATA “0”
LAYAWAY CDATA “0”
DEFAULTS CDATA “0”>
]>
Chương 4. XML 4 - 85/
4.2.3 Thuộc tính (attribute)
4.2 Định nghĩa kiểu dữ liệu - DTD
 Sam Smith 
 15 
 August 22, 2009 
 Tomatoes 
 John 
 16 
 August 22, 2009 
 Apple 
 ..
Chương 4. XML 4 - 86/
4.2.3 Thuộc tính (attribute)
- #REQUIRED
Yêu cầu người sử dụng phần tử DTD liên quan đến thuộc tính thì
phải gán trị cho thuộc tính trước khi sử dụng
ví dụ: phải cung cấp thuộc tính OWES khi sử dụng phần tử
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 87/
4.2.3 Thuộc tính (attribute)
4.2 Định nghĩa kiểu dữ liệu - DTD
<!DOCTYPE DOCUMENT [
<!ATTLIST CUSTOMER 
OWES CDATA #REQUIRED>
]>
 Sam Smith 
 15 
 August 22, 2009 
 Tomatoes 
Chương 4. XML 4 - 88/
4.2.3 Thuộc tính (attribute)
- #IMPLIED
không bắt buộc người dùng phải gán trị cho thuộc tính
- #FIXED
chỉ định một giá trị cố định và bắt buộc cho thuộc tính
ví dụ: khai báo thuộc tính LANGUAGE bằng từ khóa #FIXED và
gán “EN” cố định cho nó.
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 89/
4.2.3 Thuộc tính (attribute)
4.2 Định nghĩa kiểu dữ liệu - DTD
<!DOCTYPE DOCUMENT [
<!ATTLIST CUSTOMER 
LANGUAGE CDATA #FIXED “EN”>
]>
 Sam Smith 
 15 
 August 22, 2009 
 Tomatoes 
Chương 4. XML 4 - 90/
4.2.3 Thuộc tính (attribute)
- Kiểu CDATA
 kiểu dữ liệu ký tự thuần text và phi định dạng
 không thể sử dụng các ký tự đặc biệt như <, “ hay &
 có thể dùng các tham chiếu thực thể cơ bản
Ví dụ:
4.2 Định nghĩa kiểu dữ liệu - DTD
<!ATTLIST CUSTOMER 
OWES CDATA “0”
LAYAWAY CDATA “0”
DEFAULTS CDATA “0”>..
Chương 4. XML 4 - 91/
4.2.3 Thuộc tính (attribute)
- Kiểu liệt kê (Enumerated)
 khai báo kiểu liệt kê được qui định bằng một danh sách 
các giá trị có thể gán cho thuộc tính. 
 giá trị thuộc tính phải phù hợp với cách đặt tên của XML
ví dụ khai báo kiểu liệt kê cho thuộc tính CREDIT_OK. 
Thuộc tính này chỉ cho phép nhận một trong hai giá trị
“TRUE” và “FALSE” và trị mặc định là “TRUE”.
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 92/
4.2.3 Thuộc tính (attribute)
4.2 Định nghĩa kiểu dữ liệu - DTD
<!DOCTYPE DOCUMENT [
<!ATTLIST CUSTOMER 
CREDIT_OK (TRUE | FALSE) “TRUE”>
]>
 Sam Smith 
 15 
 August 22, 2009 
 Tomatoes 
..
Chương 4. XML 4 - 93/
4.2.3 Thuộc tính (attribute)
- Kiểu ID
 dùng làm tên duy nhất để định danh một phần tử nào đó
trong tài liệu XML
 giá trị kiểu ID phải theo qui tắc đặt tên của XML (1234 là
không hợp lệ mà phải là C12345)
 ta không thể sử dụng kiểu ID với khai báo #FIXED cho 
thuộc tính mà thường khai báo với #REQUIRED
Ví dụ:
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 94/
4.2.3 Thuộc tính (attribute)
4.2 Định nghĩa kiểu dữ liệu - DTD
<!DOCTYPE DOCUMENT [
<!ATTLIST CUSTOMER 
CUSTOMER_ID ID #REQUIRED>
]>
 Sam Smith 
 15 
 August 22, 2009 
 Tomatoes 
 ..
Chương 4. XML 4 - 95/
4.2.3 Thuộc tính (attribute)
- Kiểu IDREF
 cho phép xác định thông tin về quan hệ giữa các phần tử
 thuộc tính có kiểu IDREF nắm giữ giá trị ID của các phần 
tử khác
Ví dụ, giả sử chúng ta muốn thiết lập quan hệ cha con giữa 
hai phần tử không nằm lồng nhau trong cấu trúc của tài liệu 
chúng ta định nghĩa thuộc tính có kiểu IDREF cho một thẻ và
gán giá trị ID của thẻ cha cho nó
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 96/
4.2.3 Thuộc tính (attribute)
4.2 Định nghĩa kiểu dữ liệu - DTD
<!DOCTYPE DOCUMENT [
<!ATTLIST CUSTOMER 
CUSTOMER_ID ID #REQUIRED
EMPLOYED_ID IDREF #IMPLIED>
]>
 Sam Smith 
 15 
 August 22, 2009 
 Tomatoes 
<CUSTOMER CUSTOMER_ID = “C345675”
EMPLOYED_ID = “C12345” >
 John 
 16 
 August 22, 2009 
 Apple 
 ..
Chương 4. XML 4 - 97/
4.2.3 Thuộc tính (attribute)
- Kiểu thực thể (ENTITY)
 thuộc tính được gán trị là tên của một thực thể do chúng ta 
khai báo trước đó
 ENTITY hữu dụng khi chúng ta dùng để khai báo các thực 
thể của riêng và dùng nó để gán cho thuộc tính; ví dụ chúng 
ta có thể khai báo thực thể mang tên SIGNATURE_HOME 
và SIGNATURE_WORK dạng chữ ký
Ví dụ:
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 98/
4.2.3 Thuộc tính (attribute)
4.2 Định nghĩa kiểu dữ liệu - DTD
<!DOCTYPE DOCUMENT [
<!ATTLIST CUSTOMER 
IMAGE ENTITY #IMPLIED>
]>
 Sam Smith 
 15 
 August 22, 2009 
 Tomatoes 
 ..
Chương 4. XML 4 - 99/
4.2.3 Thuộc tính (attribute)
- Kiểu đa thực thể (ENTITIES)
 cho phép gán nhiều thực thể vào thuộc tính
Ví dụ:
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 100/
4.2.3 Thuộc tính (attribute)
4.2 Định nghĩa kiểu dữ liệu - DTD
<!DOCTYPE DOCUMENT [
<!ATTLIST CUSTOMER 
IMAGE ENTITIES #IMPLIED>
]>
 Sam Smith 
 15 
 August 22, 2009 
 Tomatoes 
Chương 4. XML 4 - 101/
4.2.3 Thuộc tính (attribute)
- Kiểu ghi nhớ (NOTATION)
 dùng để xác định dạng thức của các dữ liệu phi XML
 một trong những mẫu ghi nhớ thông dụng nhất đó là khai 
báo kiểu MIME (Multipurpose Internet Mail Extension) dùng 
cho biết thông tin về nội dung tài liệu. Ví dụ “image/gif” là file 
hình ảnh, “text/html” là file HTML hoặc thuần text
Ví dụ:
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 102/
4.2.3 Thuộc tính (attribute)
4.2 Định nghĩa kiểu dữ liệu - DTD
<!DOCTYPE DOCUMENT [
<!ATTLIST CUSTOMER 
IMAGE NMTOKEN #IMPLIED
IMAGE_TYPE NOTATION (GIF | JPG) #IMPLIED>]>
 Sam Smith 
 15 
 August 22, 2009 
 Tomatoes 
 ..
Chương 4. XML 4 - 103/
4.3.1 CSS
- CSS chỉ qui định kiểu (màu sắc, font chữ, màu nền,) mà
không bao gồm dữ liệu văn bản của trang HTML trong đó
- HTML sẽ tham chiếu đến các định nghĩa CSS trong một file 
riêng biệt và áp dụng chúng vào định nghĩa của tài liệu
Ví dụ:
4.3 Ngôn ngữ định dạng
Chương 4. XML 4 - 104/
4.3.1 CSS
định nghĩa kiểu cho các phần tử HTML trong file style.css
4.3 Ngôn ngữ định dạng
BODY {font : 30pt “Times New Roman”}
H1 {font 15pt/17pt “Times New Roman”; font-weight: bold; color: red}
H2 {font 14pt/16pt “Times New Roman”; font-weight: bold; color: blue}
P {font 10pt/12pt “Times New Roman”; color: red}
Chương 4. XML 4 - 105/
4.3.1 CSS
Trong tài liệu chính test.html
4.3 Ngôn ngữ định dạng
CSS and HTML Document
 Here is body style
 Heading 1 Style 
 Heading 2 Style 
 Both Heading Style 
 Paragrap here
Chương 4. XML 4 - 106/
4.3.1 CSS
- Định nghĩa và khai báo CSS ngoại
Dùng thẻ trong tài liệu HTML để tham chiếu đến tập tin 
định kiểu CSS ngoại như sau
4.3 Ngôn ngữ định dạng
Chương 4. XML 4 - 107/
4.3.1 CSS
- Định nghĩa và sử dụng CSS nội
Các định nghĩa CSS nội thường đặt giữa thẻ ở 
đầu trang tài liệu HTML
hr {color: sienna}
p {margin-left: 20px}
body {background-image: url(“images/back40.gif”)}
4.3 Ngôn ngữ định dạng
Chương 4. XML 4 - 108/
4.3.1 CSS
- Khai báo kiểu CSS trực tiếp (inline)
ta có thể chỉ định kiểu CSS ngay trong phần định dạng
ví dụ
This is paragraph
4.3 Ngôn ngữ định dạng
Chương 4. XML 4 - 109/
4.3.1 CSS
- Nhóm các định nghĩa kiểu vào một lớp
ta có thể gom các thuộc tính định kiểu lại thành nhóm gọi là lớp 
(class). 
Định nghĩa một lớp bắt đầu bằng dấu chấm (.), đến tên lớp
Ví dụ: RED_ITALIC dưới đây là một lớp mang kiểu thuộc tính 
bao gồm chữ màu đỏ và in nghiêng
4.3 Ngôn ngữ định dạng
Chương 4. XML 4 - 110/
4.3.1 CSS
- Nhóm các định nghĩa kiểu vào một lớp
hr {color: sienna}
p {margin-left: 20px}
body {background-image: url(“images/back40.gif”)}
.RED_ITALIC {color: red; font-style=italic}
Sử dụng lớp trong phần tử định dạng bằng thuộc tính 
CLASS. 
Ví dụ:
This is paragraph use red_italic class.
4.3 Ngôn ngữ định dạng
Chương 4. XML 4 - 111/
4.3.1 CSS
- Khai báo kiểu CSS cho XML
Dữ liệu XML không có khả năng hiển thị, 
CSS sẽ qui định màu sắc và dữ liệu cụ thể mà các phần tử XML 
có thể dùng để hiển thị trong trình duyệt.
Khai báo và sử dụng CSS tương tự như trong HTML
4.3 Ngôn ngữ định dạng
Chương 4. XML 4 - 112/
4.3.1 CSS
- Khai báo kiểu CSS cho XML
Ví dụ:
4.3 Ngôn ngữ định dạng
 XML Programming 
 By MK 
 Introduction 
This Introduction to XML Programming.
XML is markup language for documents.
Chương 4. XML 4 - 113/
4.3.1 CSS
- Khai báo kiểu CSS cho XML
File Style.css
4.3 Ngôn ngữ định dạng
TITLE {display: block; font-size: 24pt; font-weight:bold;
text-align: center; text-decoration:underline}
AUTHOR {display: block; font-size: 18pt; font-weight:bold;
text-align: center}
SECTION {display: block; font-size: 16pt; font-weight:bold;
text-align: center; font-style=italic}
P {display: block; margin-top: 10}
.RED_ITALIC {color: red; font-style=italic}
Chương 4. XML 4 - 114/
4.3.1 CSS
- Khai báo kiểu CSS cho XML
4.3 Ngôn ngữ định dạng
Chương 4. XML 4 - 115/
4.3.2 XSL
- XSL (Extension Style Language): ngôn ngữ định kiểu mở rộng
-biến đổi dữ liệu của XML để hiển thị
+ XSL transform (XSLT): trích rút dữ liệu XML đưa vào khuôn 
dạng HTML
+ XSL Format Object (XSL FO ): cung cấp các thuộc tính thiết 
lập định dạng (font chữ, màu chữ, hình ảnh,)
+ XSL phải được viết theo đúng cú pháp và hợp khuôn dạng với 
qui tắc XML
4.3 Ngôn ngữ định dạng
Chương 4. XML 4 - 116/
4.3.2 XSL
Ví dụ:
4.3 Ngôn ngữ định dạng
 Mercury 
.0553 
 58.65 
 1516 
 .983
 43.4 
Chương 4. XML 4 - 117/
Nội dung file planets.xsl
4.3 Ngôn ngữ định dạng
Chương 4. XML 4 - 118/
4.3.2 XSL
4.3 Ngôn ngữ định dạng
Chương 4. XML 4 - 119/
- Tạo tài liệu XSLT
XSLT nhận dữ liệu XML theo cấu trúc hình cây, biến đổi và định 
dạng theo cấu trúc hình cây khác.
7 loại nút mà XSL có thể nhận dạng và chuyển dịch:
4.3 Ngôn ngữ định dạng
Chương 4. XML 4 - 120/
- Tạo tài liệu XSLT
4.3 Ngôn ngữ định dạng
Dữ liệu thuần văn bản nằm giữa thẻ đóng và thẻ mởVăn bản
Nắm giữ nội dung chuỗi chỉ thị xử lý đã loại bỏ ký tự định 
dạng là 
Chỉ thị xử lý
Nắm giữ chuỗi định danh URI của không gian tênKhông gian tên
Bao gồm thẻ tên của phần tử và tập các phần tử con của 
chúng
Phần tử
Đoạn chú thíchChú thích
Thuộc tính của phần tử. Giá trị thuộc tính đã loại bỏ dấu 
bao chuỗi
Thuộc tính
Nơi khởi đầu tài liệu cần chuyển dịchGốc tài liệu 
Mô tảNút
Chương 4. XML 4 - 121/
- Tạo tài liệu XSLT
XSL phải đặt trong cặp thẻ hay phần tử 
sử dụng bí danh cho không gian tên là xsl
4.3 Ngôn ngữ định dạng
<xsl:stylesheet
xmlns:xsl="">
Chương 4. XML 4 - 122/
- Tạo tài liệu XSLT
Quá trình tìm dữ liệu trong XML được duyệt từ phần tử gốc.
Ví dụ:
4.3 Ngôn ngữ định dạng
This is XML root.
Chương 4. XML 4 - 123/
- Tạo tài liệu XSLT
Phần tử được dùng để thế chỗ cho nơi 
dữ liệu XML sẽ được đặt vào tài liệu
4.3 Ngôn ngữ định dạng
Planets found
Kết quả:
Planets found
Chương 4. XML 4 - 124/
Tương tự như vậy cho các nút con cấp dưới
4.3 Ngôn ngữ định dạng
Chương 4. XML 4 - 125/
- Chỉ định mẫu so khớp với thuộc tính match 
Thuộc tính match dùng để yêu cầu một thẻ lệnh thực hiện theo 
một điều kiện dữ liệu thỏa mãn nào đó (, 
, , )
- So khớp phần tử gốc của dữ liệu XML (matching 
root)
Phần tử gốc của tài liệu XML được so khớp với ký tự “/”. 
4.3 Ngôn ngữ định dạng
Chương 4. XML 4 - 126/
- So khớp các phần tử (matching element)
Chúng ta có thể tìm, so khớp một phần tử bằng cách chỉ định 
tên của phần tử đó. 
Ví dụ
4.3 Ngôn ngữ định dạng
Chương 4. XML 4 - 127/
- So khớp các phần tử con
Ký tự “/” dùng làm dấu phân cách biểu diễn đường dẫn từ nút 
cha đến nút con trong dữ liệu XML.
Ví dụ
Ký tự “.” trong thuộc tính select yêu cầu thẻ chọn 
dữ liệu của nút hiện hành
4.3 Ngôn ngữ định dạng
Chương 4. XML 4 - 128/
- So khớp các phần tử con
Chúng ta cũng có thể dùng ký tự đại diện * để chọn tất cả các 
phần tử
4.3 Ngôn ngữ định dạng
Chương 4. XML 4 - 129/
- So khớp các phần tử cấp dưới (Descendant)
Nut//Nut_cap_duoi
chọn tất cả các phần tử “Nut_cap_duoi” bên dưới “Nut” không 
phân biệt mức độ lồng nhau của các phần tử
4.3 Ngôn ngữ định dạng
Chương 4. XML 4 - 130/
- So khớp thuộc tính
sử dụng ký hiệu so khớp thuộc tính @ lấy ra thuộc tính
4.3 Ngôn ngữ định dạng
Chương 4. XML 4 - 131/
- So khớp dòng chú thích (matching comment)
Để dò tìm và trích rút nội dung các dòng chú thích ta sử dụng 
biểu thức so khớp comment()
4.3 Ngôn ngữ định dạng
Chương 4. XML 4 - 132/
- So khớp các chỉ thị xử lý (process instruction)
hàm processing-instruction()
4.3 Ngôn ngữ định dạng
<xsl:stylesheet version = "1.0" 
xmlns:xsl="">
Tim thay chi thị xu ly.
Chương 4. XML 4 - 133/
- Sử dụng toán tử OR
toán tử OR để chỉ điều kiện kết hợp
4.3 Ngôn ngữ định dạng
Chương 4. XML 4 - 134/
- Kiểm tra so khớp bằng biểu thức ngoặc vuông []
ngoặc vuông để kiểm tra xem một điều kiện nào đó là
true hay false
Giá trị thuộc tính trong một chuỗi
Giá trị của một phần tử
Phần tử có chứa thuộc tính hay phần tử con hay không
Vị trí của một nút dữ liệu
4.3 Ngôn ngữ định dạng
Chương 4. XML 4 - 135/
- Kiểm tra so khớp bằng biểu thức ngoặc vuông []
Ví dụ:
so khớp và chọn ra phần tử PLANET có chứa phần tử con NAME:
so khớp và chọn ra mọi phần tử có chứa thuộc tính con NAME:
so khớp và chọn ra mọi phần tử chứa thuộc tính NAME hoặc MASS:
so khớp và chọn phần tử PLANET chứa thuộc tính UNITS mang giá trị
days:
4.3 Ngôn ngữ định dạng
Chương 4. XML 4 - 136/
- Chọn dữ liệu bằng thuộc tính select
thuộc tính select của để chọn mục dữ liệu
Ví dụ:
4.3 Ngôn ngữ định dạng
Chương 4. XML 4 - 137/
- Sắp xếp các phần tử dữ liệu
Phần tử cho phép chúng ta chọn mục dữ liệu để sắp 
xếp thông qua thuộc tính select
Ví dụ:
4.3 Ngôn ngữ định dạng
Chương 4. XML 4 - 138/
- Sắp xếp các phần tử dữ liệu
 sắp xếp dựa trên kiểu chuỗi,
để sắp xếp kiểu số chúng ta thêm thuộc tính data-type=”number”
vào phần tử . 
Chúng ta cũng có thể chỉ định kiểu sắp xếp tăng dần 
(Ascending) hay giảm dần (Descending) bằng cách thêm thuộc 
tính order.
Ví dụ: 
4.3 Ngôn ngữ định dạng
Chương 4. XML 4 - 139/
- Sử dụng xsl:if
phần tử để phát biểu một điều khiển lựa chọn
Ví dụ: khi gặp phần tử cuối cùng trong tài liệu thì in ra thẻ 
(phần tử định dạng tạo một đường ngang trong HTML).
4.3 Ngôn ngữ định dạng
Chương 4. XML 4 - 140/
- Sử dụng xsl:choose
 cho phép kiểm tra và chọn ra giá trị trong một 
danh sách các so khớp thỏa mãn điều kiện
Mỗi chọn lựa trong được chỉ định bằng phần tử
con và thuộc tính test của 
Ví dụ: định dạng tên của các hành tinh tùy thuộc vào màu sắc 
của nó. 
4.3 Ngôn ngữ định dạng
Chương 4. XML 4 - 141/
- Sử dụng xsl:choose
4.3 Ngôn ngữ định dạng
Chương 4. XML 4 - 142/
4.4.1 XPath
4.4.2 XLink
4.4 Liên kết
Chương 4. XML 4 - 143/
- Đường dẫn tuyệt đối
xuất phát từ phần tử gốc và được biểu diễn bằng dấu “/”
Ví dụ: Cho tài liệu XML như sau:
/AA. Phần tử được chọn là AA
/AA/BB/CC: phần tử CC là con của AA/BB
4.4.1 XPath
Chương 4. XML 4 - 144/
- Đường dẫn tổng thể
chuỗi “//” để tham chiếu đến tất cả các phần tử trong tài liệu.
Ví dụ:
//CC: chọn tất cả các phần tử CC
//BB/CC: chọn tất cả phần tử CC là con của BB
4.4.1 XPath
Chương 4. XML 4 - 145/
- Ký tự đại diện *
*: chọn tất cả các phần tử cùng thỏa mãn đường dẫn chỉ định.
Ví dụ:
/AA/BB/* chọn tất cả các phần tử có đường dẫn là AA/BB
/*/*/BB chọn tất cả các phần tử BB nằm ở cấp thứ 3
//* chọn tất cả các phần tử trong tài liệu.
4.4.1 XPath
Chương 4. XML 4 - 146/
- Chọn các phần tử theo vị trí bằng ngoặc vuông []
[]: chỉ định vị trí của môt phần tử XML cần chọn.
Ví dụ:
/AA/BB[1] chọn phần tử BB đầu tiên trong nhánh /AA
/AA/BB[last()] chọn phần tử BB cuối cùng trong nhánh /AA
4.4.1 XPath
Chương 4. XML 4 - 147/
- Chọn thuộc tính của một phần tử
@: chọn hay chỉ đường dẫn đến một thuộc tính bên trong phần 
tử XML.
Ví dụ:
//@id chọn tất cả các thuộc tính id trong tài liệu.
//BB[@id] chọn tất cả các phần tử BB có thuộc tính id
//BB[@name] chọn tất cả các phần tử BB có thuộc tính name
//BB[@*] chọn tất cả các phần tử BB có khai báo thuộc tính
//BB[@not *] chọn tất cả các phần tử BB không có thuộc tính
4.4.1 XPath
Chương 4. XML 4 - 148/
- Chọn phần tử dựa trên nội dung thuộc tính
dựa vào nội dung thuộc tính để xác định các phần tử.
Ví dụ:
//BB[@id=’b1’] chọn tất cả các phần tử BB trong tài liệu có thuộc 
tính id=’b1’.
- Chọn phần tử dựa trên số đếm 
//*[count(BB)=2] chọn tất cả các phần tử có chứa 2 phần tử BB.
//*[count(*)=2] chọn tất cả các phần tử có chứa 2 phần tử con.
4.4.1 XPath
Chương 4. XML 4 - 149/
- Chọn phần tử dựa trên tên của phần tử
dựa vào nội dung thuộc tính để xác định các phần tử.
Ví dụ:
//*[name()=’BB’] chọn tất cả các phần tử có tên là BB.
//*[starts-with(name(),’B’)] chọn tất cả các phần tử có tên bắt đầu 
là B.
//*[contains(name(),’B’)] chọn tất cả các phần tử có tên chứa ký 
tự B.
4.4.1 XPath
Chương 4. XML 4 - 150/
- Chọn phần tử dựa vào chiều dài tên thẻ
Hàm string-length() được dùng để trả về chiều dài của tên thẻ
Ví dụ:
//*[ string-length(name())=3] chọn tất cả các phần tử có chiều dài 
chuỗi tên là 3.
//*[ string-length(name())>3] chọn tất cả các phần tử có chiều dài 
chuỗi tên lớn hơn 3.
4.4.1 XPath
Chương 4. XML 4 - 151/
- Chọn nhóm các phần tử dựa trên điều kiện logic
Chúng ta có thể kết hợp nhiều nhóm lựa chọn hay đường dẫn 
XPath với nhau thông qua phép hợp bằng toán tử |
Ví dụ:
//BB | //CC chọn tất cả các phần tử BB hoặc CC trong tài liệu.
4.4.1 XPath
Chương 4. XML 4 - 152/
- Chọn các phần tử con trong đường dẫn
Chúng ta sử dụng thuộc tính child để chỉ định chọn phần tử con.
Ví dụ:
/AA tương đương với /child::AA chọn tất cả các phần tử AA từ
gốc.
/AA/BB hoặc /child::AA/BB tương đương với /child::AA/child::BB; 
kết quả là BB được chọn.
4.4.1 XPath
Chương 4. XML 4 - 153/
- Chọn phần tử con
Toán tử descendant được dùng để chọn các phần tử cấp dưới 
Ví dụ:
/AA/BB/descendant::* chọn tất cả các phần tử con của AA/BB
//BB/descendant::* chọn tất cả các phần tử con của BB
//BB/descendant::CC chọn tất cả các phần tử CC là con của BB
4.4.1 XPath
Chương 4. XML 4 - 154/
- Chọn phần tử cha
Toán tử parent được dùng để chọn phần tử cha của 1 phần tử
Ví dụ:
//CC/parent::* chọn tất cả các phần tử là cha của phần tử CC
//CC/parent::BB chọn tất cả các phần tử BB là cha của CC
- Chọn phần tử cấp trên
Toán tử ancestor chọn các phần tử cấp trên của phần tử chỉ 
định
Ví dụ:
//CC/ancestor::* chọn tất cả các phần tử nằm trên phần tử CC
4.4.1 XPath
Chương 4. XML 4 - 155/
- Chọn các phần tử cùng cấp kế tiếp
following-sibling: chọn các phần tử cùng cấp
Ví dụ:
//BB/ following-sibling::* chọn tất cả các phần tử tiếp sau BB.
- Chọn các phần tử cùng cấp phía trước
proceding-sibling: chọn các phần tử cùng cấp trước phần tử chỉ 
định.
Ví dụ:
//BB/ proceding-sibling::* chọn tất cả các phần tử cùng cấp nằm 
trước BB.
4.4.1 XPath
Chương 4. XML 4 - 156/
- Chọn các phần tử theo sau phần tử chỉ định
following: chọn các phần tử sau phần tử chỉ định.
Ví dụ:
//BB/following::* chọn tất cả các phần tử theo sau BB.
- Chọn các phần tử đứng trước phần tử chỉ định
Proceding: chọn các phần tử trước phần tử chỉ định.
Ví dụ:
//BB/proceding::* chọn tất cả các phần tử đứng trước BB.
4.4.1 XPath
Chương 4. XML 4 - 157/
- Chọn các phần tử cấp dưới và phần tử chỉ định
descedant-or-self: chọn các phần tử nằm dưới phần tử chỉ định 
kể cả phần tử chỉ định cũng được chọn.
Ví dụ:
//BB/descedant-or-self::* chọn tất cả các phần tử nằm dưới BB 
kể cả BB.
- Chọn các phần tử cấp trên và phần tử chỉ định
Ví dụ:
//BB/descedant-or-self::* chọn tất cả các phần tử nằm trên BB kể
cả BB.
4.4.1 XPath
Chương 4. XML 4 - 158/
- Chọn các phần tử dựa trên biểu thức tính toán
Chúng ta có thể sử dụng hàm position() để tính toán vị trí phần 
tử được chọn.
Ví dụ:
//BB[position() mod 2 = 0] chọn tất cả các phần tử BB có vị trí là
số chẵn.
/AA//BB[position() = 2] chọn các phần tử BB nằm dưới AA và có
vị trí bằng 2.
4.4.1 XPath
Chương 4. XML 4 - 159/
- Hyperlink trong HTML
HTML sử dụng phần tử để tạo liên kết đến một trang tài 
liệu
4.4.2 XLink

File đính kèm:

  • pdfbai_giang_co_so_du_lieu_web_va_xml_chuong_4_xml_ho_van_phi.pdf