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ự.
Trang 55 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="http://www.w3.org/2000/xlink" xlink:type="simple" xlink:href= "mydocument.xml#xpointer(//AAA/BBB[1])"> </link>