Bài 3 Đi lại trong XML bằng XPATH (phần II) Collections Cái bộ (Set of) Nodes do XPath trả về được gọi là Collection. Thông thường trong lập trình, từ "Collection" được dùng để nói đến một tập hợp các objects đồng loại. | Bài 3 Đi lại trong XML bằng XPATH phần II Collections Cái bộ Set of Nodes do XPath trả về được gọi là Collection. Thông thường trong lập trình từ Collection được dùng để nói đến một tập hợp các objects đồng loại. Ta có thể lần lượt đi qua iterate through các objects trong một Collection nhưng không được bảo đảm thứ tự của chúng tức là gặp object nào trước hay object nào sau. Trái lại trong chuẩn XPath khi một Collection được trả về bởi một XPath Query hỏi nó giữ nguyên thứ tự các Nodes và cấp bậc của chúng trong tài liệu XML. Tức là nếu XPath trả về một cành các nodes thì trừ những nodes không thỏa điều kiện các node còn lại vẫn giữ đúng vị trí trên cành. Vì các Attributes của một Element không có thứ tự nên chúng có thể nằm lộn xộn trong một Collection. Indexing trong một Collection Một Collection của Nodes được xem như một Array. Muốn nói trực tiếp đến một Node trong Collection ta có thể dùng một index trong cặp ngoặc vuông. Node thứ nhất có Index là 1. Cặp ngoặc vuông có precedence cao hơn được tính trước dấu slash hay hai dấu slash . Dưới đây là hai thí dụ - Expression Ý nghĩa author 1 Element author đầu tiên. author firstname 3 Element author thứ ba có một Element firstname Mối liên hệ Axes Một location path dùng một Axis để chỉ định mối liên hệ giữa các Nodes được chọn đối với context node. Sau đây là bảng liệt kê đầy đủ các axes Axes Ý nghĩa ancestor Tổ tiên của context node. Những tổ tiên của context node gồm có cha ông n đó ancestor axis luôn luôn kể cả root node trừ kh là root node. ancestor-or-self Chính context node và tổ tiên của nó. Cái ancestor-or-self axis luôn luôn kể cả root not attribute Các Attributes của context node. Neu context node không phải là một Element thì c trống rỗng. child Con cái của context node. Một con là bất cứ node nào nằm ngay dưới contex nhiên Attribute hay Namespace nodes không đượ context node. descendant Con cháu của context node. Con cháu là con cháu chít .. do đó descendan giờ chứa Attribute hay Namespace nodes. .