1. Trang chủ
  2. » Công Nghệ Thông Tin

Giới thiệu về XPath

5 196 2

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 34,26 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

: Chủ đề của bài này giới thiệu XPath, một thành phần hỗ trợ giúp truy xuất thông tin trong tập tin XML làm tiền đề cho việc áp dụng stylesheet kết hợp XML để tạo ra kết xuất tùy theo yêu cầu. Bên cạnh đó XPath cũng làm nền tảng cho việc hỗ trợ truy vấn parsing dữ liệu của tài liệu XML cực kỳ nhanh chóng hiệu quả. Hơn thế nữa, XPath hỗ trợ nền tảng để tạo ra XQuery áp dụng trong truy vấn dữ liệu tương tự như truy vấn SQL trên cơ sở dữ liệu

Trang 1

Giới thiệu về XPath

Giới thiệu về XPath

Mục đích: Chủ đề của bài này giới thiệu XPath, một thành phần hỗ trợ giúp truy xuất thông tin trong tập tin

XML làm tiền đề cho việc áp dụng stylesheet kết hợp XML để tạo ra kết xuất tùy theo yêu cầu Bên cạnh đó XPath cũng làm nền tảng cho việc hỗ trợ truy vấn parsing dữ liệu của tài liệu XML cực kỳ nhanh chóng hiệu quả Hơn thế nữa, XPath hỗ trợ nền tảng để tạo ra XQuery áp dụng trong truy vấn dữ liệu tương tự như truy vấn SQL trên cơ sở dữ liệu

Giới thiệu về XPath

Mục đích: Chủ đề của bài này giới thiệu XPath, một thành phần hỗ trợ giúp truy xuất thông tin trong tập tin

XML làm tiền đề cho việc áp dụng stylesheet kết hợp XML để tạo ra kết xuất tùy theo yêu cầu Bên cạnh đó XPath cũng làm nền tảng cho việc hỗ trợ truy vấn parsing dữ liệu của tài liệu XML cực kỳ nhanh chóng hiệu quả Hơn thế nữa, XPath hỗ trợ nền tảng để tạo ra XQuery áp dụng trong truy vấn dữ liệu tương tự như truy vấn SQL trên cơ sở dữ liệu

Yêu cầu về kiến thức cơ bản

Nắm vững các khái niệm về XML và cách viết tài liệu XML well-formed (tham khảo lại bài Giới thiệu về XML – định nghĩa, cách viết XML đúng cú pháp (XML well-formed) http://www.kieutrongkhanh.net/2016/08/gioi-thieu-ve-xml-inh-nghia-cach-viet.html )

Nắm vững các khái niệm về namespace và cách sử dụng namespace trong tài liệu XML (tham khảo lại bài Sử dụng XML với namespace – Sử dụng kết hợp những tài liệu XML với nhau từ nhiều người định nghĩa khác nhau http://www.kieutrongkhanh.net/2016/08/su-dung-xml-voi-namespace-su-dung-ket.html )

 Nắm vững khái niệm về ngôn ngữ lập trình Java, lập trình thao tác hướng đối tượng, sử dụng các method hay function

 Đã viết và kiểm tra một tài liệu XML well-formed

 Nắm vững và đã sử dụng tốt ngôn ngữ truy vấn SQL trên các trình quản lý cơ sở dữ liệu quan hệ

Tổng quan XPath

Xpath là một trong ba thành phần trong ngôn ngữ XSL – Extensible Style Language

 Là ngôn ngữ hỗ trợ tìm kiếm thông tin trong tài liệu XML  qua việc sử dụng biểu thức XPath để định hướng tìm kiếm dữ liệu trên XML thay vì phải thực hiện tìm kiếm đệ qui để duyệt cây XML

 Xpath định nghĩa 7 loại nodes theo mô hình thể hiện bên dưới từ root, element, attribute, text, namespace, processing-instruction và comment tương tự như khái niệm về cấu trúc tài liệu XML mà chúng

tôi đã giới thiệu trong bài Giới thiệu về XML – định nghĩa, cách viết XML đúng cú pháp (XML well-formed)

Trang 2

o Ngoài ra, Xpath còn định nghĩa một số node đặc biệt để thể hiện mối quan hệ giữa các node trong mô hình trong quá trình xử lý như sau

Parent Node: node trên trực tiếp của node hiện hành

Child Node: tập node trực tiếp của node hiện hành cấp thấp hơn

Sibling: node ngang hàng hay cùng cha với node hiện hành

Ancestors: tất cả node con bên trên node hiện hành cùng nhánh

Descendants: tất cả node con bên dưới của node hiện hành cùng nhánh

 Xpath Data Model được định nghĩa là duyệt toàn bộ cây nội dung XML và chuyển đổi – mapping chúng thành 7 loại node đã mô tả ở trên và XPath thực hiện truy vấn trên nội dung cây XML đã được tạo ra

o Mỗi node trong XPath đều có giá trị kiểu chuỗi chứa thông tin của một node bao gồm localname và namespace nếu có để có thể truy vấn đến node trong mô hình một cách dễ dàng thông qua tên

 Cú pháp của XPath

o Để truy vấn với đường dẫn tuyệt đối nghĩa là đi từ root của tài liệu XML đến các thành phần

cần truy cập, XPath qui định với cú pháp bắt đầu bằng dấu /

o Để truy vấn với đường dận tương đối để có thể truy cập đến thành phần bất kỳ thỏa điều

kiện, XPath qui định cú pháp sử dụng với dấu //

o Để truy vấn đến một thành phần bất kỳ mà không cần biết tên của nó là gì, XPath qui định

ký tự sử dụng là *

o Để truy cập thuộc tính của một node, XPath qui định thuộc tính truy vấn phải có cú pháp bắt đầu là @. Ví dụ @tênThuộcTính

o Để truy cập đến giá trị của một biến được định nghĩa, XPath qui định biến truy vấn phải

có cú pháp bắt đầu là $. Ví dụ $tênBiến

o Điều kiện khi truy vấn được đặt trong dấu []

o Truy vấn lựa chọn nodes

Trang 3

tênNode Chọn tất cả các node con của tênNode

/ Chọn tất cả các node tính từ root

// Chọn tất cả node tính từ node hiện hành

Chọn node cha của node hiện hành

o Các phép toán được sử dụng trong XPath

 Đại số: +, -, * (nhân), div (chia thập phân), mod (chia lấy dư)

 So Sánh hay quan hệ: =, != (khác), <, <=, >, >=

 Luận lý: true, false, and, or, not

o Các thành phần hỗ trợ truy vấn mối quan hệ giữa các node trong tài liệu XML (Axes)

ancestor Chọn tất cả các node trên của node hiện hành

ancestor-or-self Chọn tất cả các node trên của node hiện hành và chính nó

attribute Chọn tất cả các thuộc tính của node hiện hành

child Chọn node con của node hiện hành

descendant Chọn tất cả các node dưới của node hiện hành

descendant-or-self Chọn tất cả các node dưới của node hiện hành và chính nó

following Chọn tất cả các node sau khi tag đóng của node hiện hành

following-sibling Chọn tất cả các node ngang cấp sau khi tag đóng của node hiện hành namespace Chọn tất cả namespace của node hiện hành

parent Chọn tất cả node cha của node hiện hành

preceding Chọn tất cả các thành phần trước khi bắt đầu tag mở của node hiện hành preceding-sibling Chọn tất cả các node ngang hàng trước khi bắt đầu tag mở của node

hiện hành

o Các functions trong XPath

node-name(node) Trả về tên node của node được đưa vào hàm

nilled(node) Trả về true nếu node là null

Trang 4

data(item, item, …) Lấy các trị tuần tự của các items đưa vào

base-uri() Lấy trị thuộc tính base-uri của node hiện hành

base-uri(node) Lấy trị của thuộc tính  base-uri của node

document-uri() Lấy trị của thuộc tính document-uri của tài liệu XML

number(arg) Trả về kiểu số

abs(num) Lấy trị tuyệt đối

ceiling(num) Lấy trị số nguyên nhỏ nhất lớn hơn num

floor(num) Lấy trị số nguyên lớn nhất nhỏ hơn num

string(arg) Trả về kiểu chuỗi

compare(comp1,

comp2) So sánh giá trị cho comp1 với comp2, -1 là nhỏ hơn, 0 là bằng nhau và 1 là lớn hơn concat(string, string,

…)

Nối chuỗi

substring(string, start

[,len])

Lấy chuỗi con trong string đưa vào

string-length([string]) Lấy chiều dài của string node hiện hành hay từ string

normalize-space([string])

Loại bỏ ký tự khoảng trắng thừa trong và ngoài chuỗi string của node hiện hành hay string

normalize-unicode Tương tự như normalize-space nhưng dùng cho Unicode

translate(string1,

string2,

string3)

Convert chuỗi string1 bằng cách thay thế chuỗi string3 thay thế chuỗi string 2

contains(string1,

string2) Trả ra true nếu string1 chứa string2

match(string1,

pattern)

Trả ra true nếu string1 tuân thủ đúng pattern

replace(string1,

pattern,

replace)

Thay thế chuỗi replace với thành phần trong string1 đúng pattern

tokenize(string,

pattern)

Tương tự hàm split của ngôn ngữ java boolean(arg) Convert giá trị arg trở về kiểu luận lý true hay false

Trang 5

count([node]) Trả về số lượng node của node

last() Trả về node cuối cùng trong node hiện hành

local-name([node]) Trả về tên node nằm sau phần dấu :

name() Trả về namespace qualified prefix:tênNode

namespace-uri([node]) Trả về uri của namespace của node hiện hành hay node text() Trả về chuỗi trị của node

position() Trả về vị trí của node

 Chúng ta đã hoàn tất lý thuyết cơ bản của Xpath

Ngày đăng: 24/08/2018, 14:05

TỪ KHÓA LIÊN QUAN

w