Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Định vị các phần cụ thể của tài liệu XML với XPath, Phần 2 Cải tiến kết quả của XPath sử dụng vị từ
Nội dung xem thử
Mô tả chi tiết
Định vị các phần cụ thể của tài liệu XML với XPath, Phần 2
Cải tiến kết quả của XPath sử dụng vị từ phù hợp
Brett McLaughlin , Tác giả, biên tập, O'Reilly Media
Tóm tắt: Phần 1 của bài viết này đã đưa cho bạn biết lợi ích của XPath. Cách sử
dụng ký tự dấu gạch chéo, các ký tự thay thế, tập hợp và văn bản đơn giản, đồng
thời bạn cũng học cách làm thế nào xác định được các phần tử và các thuộc tính ở
mọi vị trí của tài liệu XML. Tuy nhiên thỉnh thoảng có lúc bạn cần làm việc dựa
vào tên của nút trong tài liệu. Khi sử dụng các vị từ để thực hiện tìm kiếm bạn có
thể đánh giá được các giá trị của các thuộc tính và của nút cha và của các nút con
của phần tử mục tiêu. Hơn thế nó cho phép bạn tìm một tập hợp các nút mở rộng
và thực hiện cải tiến hay chọn lọc các cài đặt để bạn có thể thêm vào các khẳng
định để cho phép các XPaths của bạn tìm kiếm chính xác các nút bạn muốn.
Trước khi bạn bắt đầu
Nghiên cứu làm thế nào để nhận được bài viết này và làm thế nào để thực hiện nó.
Giới thiệu về bài viết này
Bài viết này tập trung mô tả chi tiết về XPath, cho phép bạn xác định các phần
khác nhau của tài liệu XML bằng cách sử dụng cú pháp dưới dạng thư mục. Bạn
sẽ học cú pháp của XPath và bạn sẽ làm việc với các công cụ để thực thi XPath
tương ứng. Đồng thời, sau khi bạn hoàn thành toàn bộ bài viết này bạn sẽ nắm
được các khái niệm cơ bản của XPath và bạn sẽ hiểu rõ hơn cách sử dụng XPath
trong các ứng dụng của bạn.
Các mục tiêu
Các từ viết tắt trong bài viết này
API: giao diện lập trình ứng dụng
HTML: Ngôn ngữ đánh dấu siêu văn bản
URI: Uniform Resource Identifier
W3C: World Wide Web Consortium
XHTML: Ngôn ngữ đánh dấu siêu văn bản mở rộng
XML: Ngôn ngữ đánh dấu mở rộng
XSL: Extensible Stylesheet Language
XSLT: XSL Transformations
Phần 2 của bài viết này tập trung vào việc sử dụng các vị từ và đưa ra các vị từ
phù hợp trong XPath của bạn. Bao gồm các lựa chọn XPath khác nhau được cung
cấp cho việc tìm kiếm của bạn. Nó cũng mô tả cách làm thế nào xây dựng các vị
từ phức tạp thành tập câu lệnh phức tạp của các truy vấn bằng cách chỉ sử dụng cú
pháp XPath chuẩn.
Bạn cũng sẽ bắt đầu hiểu các ý tưởng ứng dụng của XPath và bạn cũng sẽ biết khi
nào XPath là lựa chọn tốt nhất so với công nghệ XML khác như XQuery. Cuối
cùng bạn sẽ biết cách làm việc với các kiểu dữ liệu đặc biệt khi bạn thực hiện so
sánh các giá trị thuộc tính có giá trị số.
Điều kiện tiên quyết
Những bài viết khác trong loạt bài viết này
Sử dụng XPath để định vị và lựa chọn các phần của tài liệu XML, Phần 1
Điều kiện cần thiết để bạn học bài viết này đó là bạn phải đã đọc và làm việc với
Phần 1 (xem Tài nguyên). Bài viết đó giới thiệu đầy đủ các khái niệm cơ bản của
XPath và cũng mô tả chi tiết về các nút và các thực hiện đánh giá các biểu thức
XPath từng phần từng phần một.
Thêm vào đó, bài viết này được viết bởi nhóm các tác giả và các lập trình về tài
liệu XML. Vì thế bạn cũng cần biết cách đọc, viết và thực thi với XML. Bạn cũng
nên có các khái niệm về XML, bao gồm:
Elements - Các phần tử hay còn gọi là các thành phần
Attributes - Các thuộc tính
Text - Văn bản
The root element - Phần tử gốc
Mặc dù không yêu cầu nhưng nếu bạn đã làm việc với DOM thì điều đó rất tốt để
giúp bạn hiểu về các nút. Nếu muốn nghiên cứu về DOM, ghé thăm Tài nguyên để
tìm kiếm một số đường dẫn liên quan. Đồng thời bạn cũng nên tìm hiểu rõ về các
phần liên quan đến nút trong Phần 1 của bài viết này.
Bài viết này sẽ đề cập đến và xác định một số API khác nữa bao gồm: XSL, XSLT
và XPath. Nếu có sự hiểu biết về từng phần này là rất tốt mặc dù không yêu cầu
bắt buộc. Để có nhiều thông tin hơn về các phần này, ghé thăm Tài nguyên trong
bài viết này.
Đặt tham biến môi trường cho ví dụ
Các tài liệu và cài đặt áp dụng cho bài viết này được sử dụng lại từ trong phần I vì
thế nếu bạn đã làm việc được trong Phần 1 thì chúng ta sẵn sàng để đến Phần 2.
Bạn cũng sẽ làm việc với tài liệu XML thông qua bài viết này. Bạn cần phải có tài
liệu để truy cập đến trong máy của bạn và phải nắm được cấu trúc cơ bản của tài
liệu tương ứng đó. Thêm vào đó bạn cũng cần có các công cụ để thực thi biểu thức
XPath của bạn và trả lại kết quả dựa trên lựa chọn của bạn. Phần này diễn tả làm
cách nào để có thể làm được các ví dụ của bài viết dựa trên phần môi trường cá
nhân đã có.
Thật không may mắn công cụ để đánh giá xác định XPath là không được xác định
cho từng hệ thống xử lý khác nhau. Có một vài công cụ được tải xuống dưới dạng
tệp .EXE và chạy trên nền Microsoft® Windows® nhưng sẽ không làm việc được
trên Mac OS X. Tương tự, các công cụ để làm việc được trên hệ điều hành Mac
OS X nhưng không chạy được trên Windows. Trong khi bạn sử dụng các chương
tình Java™ và các lớp để tạo ra hệ thống độc lập với làm việc bài báo này thì tập
trung vào nghiên cứu XPaths hơn là tập trung vào nghiên cứu bấy kỳ các ngôn ngữ
lập trình khác
Theo như các phần trên đã hiển thị chi tiết cách làm thế nào để có được các công
cụ để làm việc với XPath trên cả Windows và Mác OS X. Bạn hãy chọn công cụ
mà bạn muốn sử dụng để làm. Mỗi một công cụ, tất cả các cú pháp và các ví dụ
hiển thị một cách đầy đủ vì thế bạn sẽ có được công cụ tương ứng của bạn để đánh
giá các biểu thức XPath.
Đánh giá các biểu thức XPath trên Windows
Một trong các công cụ tốt nhất để làm việc với XPath trên hệ điều hành Windows
đó là Stylus Studio (xem tại Tài nguyên để có đường dẫn tới trang Stylus Studio
Web và tải về). Tải bất kỳ một trong các phiên bản sau —Enterprise Suite,
Professional Suite, hay Home Edition— và cài đặt trên nền hệ điều hành tương
ứng
Mỗi khi bạn cài Stulus Studio bạn phải chắc chắn có thể xử lý được XPaths từ
phần đầu tiên của bài báo này; sau đó bạn sẽ biết các để sẵn sàng làm gì tiếp theo.
Kết quả màn hình của bạn sẽ có dạng như Hình 1.
Hình 1. Stylus Studio cho phép đánh giá xác định biểu thức XPath
Đánh giá biểu thức XPath trên hệ điều hành Mac OS X
Các công cụ để làm việc với XPath trên hệ điều anh Mác OS X— mà không sử
dụng lớp Java— là có ít cải tiến và tinh tế hơn so với làm việc trên hệ điều hành
Window. Hầu hết các công cụ được sử dụng là AquaPath, là phần mềm mã nguồn
mở và tải miễn phí (ghé thăm trang để tải về tại Tài nguyên). Tải AquaPath dưới
dạng ảnh của đĩa và đơn giản chỉ cần thực hiện di chuyển ứng dụng AquaPath từ
hình ảnh thể hiện vào thư mục ứng dụng Web của bạn.
Nháy đúp chuột vào ứng dụng AquaPath cài đặt mới, bạn sẽ nhìn thấy màn hình
có dạng giống như trong Hình 2.
Hình 2. AquaPath cung cấp cách xử lý XPath trên Mac OS X
Có thể trông nó chưa giống nhiêu nhưng khi bạn bắt đầu tải các tài liệu XML và
đánh vào đó biểu thức XPath thì công cụ này —trông giống như Stylus Studio—
khi thực hiện
Kiểm tra tài liệu XML
XPath là làm việc nhiều về XML so với bất kỳ ngôn ngữ lập trình nào khác. Vì thế
hầu hết các chương trình đều sử dụng XPath thông qua các API kể từ Java hay C#
chính vì vậy bài viết này tập trung vào xử lý các XPath dựa trên tài liệu XML.
Chính vì thế mà nói rằng làm việc với tài liệu XML là làm việc với XPath. Để
phục vụ cho bài viết này thì bạn cần có tài liệu XML minh họa ngắn gọn (tầm
khoảng 50 dòng) và tài liệu này có một số các phần tử cũng như các thuộc tính
mang giá trị dữ liệu nào đó.
Ví dụ 1 hiển thị một phần của tài liệu XML được sử dụng, tài liệu này được Ant
xây dựng từ Apache Xerces2 Java Parser. Tài liệu này bao gồm nhiều nhưng trong
ví dụ này chỉ hiển thị tóm tắt. Tuy nhiên bạn có thể tải đầy đủ tài liệu XML từ Tài
nguyên.
Ví dụ 1. Tài liệu mẫu XML cho bài viết này
<?xml version="1.0"?>
<!--
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
-->
<!--
===================================================================