Giới thiệu về XPath

5 194 2
Giới thiệu về XPath

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

Thông tin tài liệu

: 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 XPath Giới thiệu XPath Mục đích: Chủ đề giới thiệu XPath, thành phần hỗ trợ giúp truy xuất thông tin tập tin XML làm tiền đề cho việc áp dụng stylesheet kết hợp XML để tạo kết xuất tùy theo yêu cầu Bên cạnh XPath làm tảng cho việc hỗ trợ truy vấn parsing liệu tài liệu XML nhanh chóng hiệu Hơn nữa, XPath hỗ trợ tảng để tạo XQuery áp dụng truy vấn liệu tương tự truy vấn SQL sở liệu Giới thiệu XPath Mục đích: Chủ đề giới thiệu XPath, thành phần hỗ trợ giúp truy xuất thông tin tập tin XML làm tiền đề cho việc áp dụng stylesheet kết hợp XML để tạo kết xuất tùy theo yêu cầu Bên cạnh XPath làm tảng cho việc hỗ trợ truy vấn parsing liệu tài liệu XML nhanh chóng hiệu Hơn nữa, XPath hỗ trợ tảng để tạo XQuery áp dụng truy vấn liệu tương tự truy vấn SQL sở liệu Yêu cầu kiến thức • • • • • • • • Nắm vững khái niệm XML cách viết tài liệu XML well-formed (tham khảo lại Giới thiệu XML – định nghĩa, cách viết XML cú pháp (XML wellformed) http://www.kieutrongkhanh.net/2016/08/gioi-thieu-ve-xml-inh-nghia-cach-viet.html ) Nắm vững khái niệm namespace cách sử dụng namespace tài liệu XML (tham khảo lại Sử dụng XML với namespace – Sử dụng kết hợp tài liệu XML với từ nhiều người định nghĩa khác http://www.kieutrongkhanh.net/2016/08/su-dung-xml-voi-namespacesu-dung-ket.html ) Nắm vững khái niệm ngơn ngữ lập trình Java, lập trình thao tác hướng đối tượng, sử dụng method hay function Đã viết kiểm tra tài liệu XML well-formed Nắm vững sử dụng tốt ngôn ngữ truy vấn SQL trình quản lý sở liệu quan hệ Tổng quan XPath Xpath ba thành phần ngôn ngữ XSL – Extensible Style Language Là ngơn ngữ hỗ trợ tìm kiếm thông tin tài liệu XML qua việc sử dụng biểu thức XPath để định hướng tìm kiếm liệu XML thay phải thực tìm kiếm đệ qui để duyệt XML Xpath định nghĩa loại nodes theo mơ hình thể bên từ root, element, attribute, text, namespace, processing-instruction comment tương tự khái niệm cấu trúc tài liệu XML mà giới thiệu Giới thiệu XML – định nghĩa, cách viết XML cú pháp (XML well-formed) o      • o • o o o o o o o Ngoài ra, Xpath định nghĩa số node đặc biệt để thể mối quan hệ node mơ hình trình xử lý sau Parent Node: node trực tiếp node hành Child Node: tập node trực tiếp node hành cấp thấp Sibling: node ngang hàng hay cha với node hành Ancestors: tất node bên node hành nhánh Descendants: tất node bên node hành nhánh Xpath Data Model định nghĩa duyệt toàn nội dung XML chuyển đổi – mapping chúng thành loại node mô tả XPath thực truy vấn nội dung XML tạo Mỗi node XPath có giá trị kiểu chuỗi chứa thông tin node bao gồm localname namespace có để truy vấn đến node mơ hình cách dễ dàng thơng qua tên Cú pháp XPath Để truy vấn với đường dẫn tuyệt đối nghĩa từ root tài liệu XML đến thành phần cần truy cập, XPath qui định với cú pháp bắt đầu dấu / Để truy vấn với đường dận tương đối để truy cập đến thành phần thỏa điều kiện, XPath qui định cú pháp sử dụng với dấu // Để truy vấn đến thành phần mà khơng cần biết tên gì, XPath qui định ký tự sử dụng * Để truy cập thuộc tính node, XPath qui định thuộc tính truy vấn phải có cú pháp bắt đầu @ Ví dụ @tênThuộcTính Để truy cập đến giá trị biến định nghĩa, XPath qui định biến truy vấn phải có cú pháp bắt đầu $ Ví dụ $tênBiến Điều kiện truy vấn đặt dấu [] Truy vấn lựa chọn nodes Biểu thức Định nghĩa tênNode Chọn tất node tênNode / Chọn tất node tính từ root // Chọn tất node tính từ node hành Chọn node hành Chọn node cha node hành Các phép toán sử dụng 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 Kết hợp: | (hội) Các thành phần hỗ trợ truy vấn mối quan hệ node tài liệu XML (Axes) Cú pháp: TênAxis::tênNode o     o  Axis Định nghĩa ancestor Chọn tất node node hành ancestor-or-self Chọn tất node node hành attribute Chọn tất thuộc tính node hành child Chọn node node hành descendant Chọn tất node node hành descendant-or-self Chọn tất node node hành following Chọn tất node sau tag đóng node hành following-sibling Chọn tất node ngang cấp sau tag đóng node hành namespace Chọn tất namespace node hành parent Chọn tất node cha node hành preceding Chọn tất thành phần trước bắt đầu tag mở node hành preceding-sibling Chọn tất node ngang hàng trước bắt đầu tag mở node hành self Chọn node hành Các functions XPath o Hàm node-name(node) Định nghĩa Trả tên node node đưa vào hàm nilled(node) Trả true node null data(item, item, …) Lấy trị items đưa vào base-uri() Lấy trị thuộc tính base-uri node hành base-uri(node) Lấy trị thuộc tính base-uri node document-uri() Lấy trị thuộc tính document-uri tài liệu XML number(arg) Trả kiểu số abs(num) Lấy trị tuyệt đối ceiling(num) Lấy trị số nguyên nhỏ lớn num floor(num) Lấy trị số nguyên lớn nhỏ num string(arg) Trả kiểu chuỗi compare(comp1, comp2) So sánh giá trị cho comp1 với comp2, -1 nhỏ hơn, lớn concat(string, string, …) Nối chuỗi substring(string, start [,len]) Lấy chuỗi string đưa vào stringlength([string]) Lấy chiều dài string node hành hay từ string normalizespace([string]) Loại bỏ ký tự khoảng trắng thừa chuỗi string node hành hay string normalize-unicode Tương tự normalize-space dùng cho Unicode translate(string1, string2, string3) Convert chuỗi string1 cách thay chuỗi string3 thay chuỗi string contains(string1, string2) Trả true string1 chứa string2 match(string1, pattern) Trả true string1 tuân thủ pattern replace(string1, pattern, replace) Thay chuỗi replace với thành phần string1 pattern tokenize(string, pattern) Tương tự hàm split ngôn ngữ java • boolean(arg) Convert giá trị arg trở kiểu luận lý true hay false count([node]) Trả số lượng node node last() Trả node cuối node hành local-name([node]) Trả tên node nằm sau phần dấu : name() Trả namespace qualified prefix:tênNode namespaceuri([node]) Trả uri namespace node hành hay node text() Trả chuỗi trị node position() Trả vị trí node Chúng ta hồn tất lý thuyết Xpath ... node bên node hành nhánh Xpath Data Model định nghĩa duyệt toàn nội dung XML chuyển đổi – mapping chúng thành loại node mô tả XPath thực truy vấn nội dung XML tạo Mỗi node XPath có giá trị kiểu... phần thỏa điều kiện, XPath qui định cú pháp sử dụng với dấu // Để truy vấn đến thành phần mà không cần biết tên gì, XPath qui định ký tự sử dụng * Để truy cập thuộc tính node, XPath qui định thuộc... node mơ hình cách dễ dàng thơng qua tên Cú pháp XPath Để truy vấn với đường dẫn tuyệt đối nghĩa từ root tài liệu XML đến thành phần cần truy cập, XPath qui định với cú pháp bắt đầu dấu / Để truy

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

Tài liệu cùng người dùng

Tài liệu liên quan