อักษรยนต์ XPath (Axes)

เอกสารตัวอย่าง XML

เราจะใช้เอกสาร XML ในตัวอย่างด้านล่างนี้:

<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>

  <title lang="eng">Harry Potter</title>
  <price>29.99</price>
<price>39.95</price>

  <book>
  <title lang="eng">Learning XML</title>
<price>39.95</price>
</book>

</bookstore>

XPath ตัวย่อ

ตัวย่อสามารถกำหนดชุดตัวเลือกที่อยู่ในตำแหน่งเชิงสัมพันธ์กับตัวเลือกปัจจุบัน ผลลัพธ์
ชื่อตัวย่อ ancestor
เลือกทุกๆตัวเลือกที่เป็นพ่อของตัวเลือกปัจจุบัน ancestor-or-self
เลือกทุกๆตัวเลือกที่เป็นพ่อของตัวเลือกปัจจุบัน และตัวเลือกปัจจุบันเอง เลือกทุกๆคุณสมบัติของตัวเลือกปัจจุบัน
attribute เลือกทุกๆลูกของตัวเลือกปัจจุบันที่เป็นองค์ประกอบเอกสาร
child descendant
เลือกทุกๆตัวเลือกที่เป็นหลากหลายลูกของตัวเลือกปัจจุบัน descendant-or-self
เลือกทุกๆตัวเลือกที่เป็นหลากหลายหลังทุกๆตัวเลือกลูกของตัวเลือกปัจจุบัน และตัวเลือกปัจจุบันเอง following
เลือกทุกๆตัวเลือกที่อยู่หลังตัวเลือกปัจจุบันในเอกสาร namespace
เลือกทุกๆตัวเลือกที่อยู่ในชื่อชั้นแห่งตัวเลือกปัจจุบัน parent
เลือกตัวเลือกพ่อของตัวเลือกปัจจุบัน preceding
เลือกทุกๆตัวเลือกที่อยู่ก่อนตัวเลือกปัจจุบันในเอกสาร preceding-sibling
เลือกทุกๆตัวเลือกที่อยู่ก่อนตัวเลือกปัจจุบันที่เป็นพี่น้อง self

เลือกตัวเลือกปัจจุบัน

แบบร่างหนทางตำแหน่ง

หนทางตำแหน่งสามารถเป็นหนทางตำแหน่งที่สุด หรือหนทางตำแหน่งเชิงสัมพันธ์

หนทางตำแหน่งสัมพันธ์สามารถเป็นหนทางตำแหน่งที่สุดและหนทางตำแหน่งเชิงสัมพันธ์ ในทั้งสองกรณี หนทางตำแหน่งรวมตัวเลือกหนึ่งหรือหลายตัว และแต่ละตัวเลือกถูกแบ่งด้วยเส้นใต้:

/step/step/...

หนทางตำแหน่งเชิงสัมพันธ์:

step/step/...

แต่ละปุ่มนับตามตัวเลือกในชุดตัวเลือกปัจจุบัน

ปุ่ม (step) รวมถึง:

ตัวย่อ (axis)
กำหนดความสัมพันธ์ต้นกำเนิดของตัวเลือกที่เลือกกับตัวเลือกปัจจุบัน
ตัวย่อตัวเลือก (node-test)
รับรู้ตัวเลือกภายในกระแสตัวย่อ
กรณีศัพท์ 0 หรือมากกว่า
ปรับเลิดอย่างละเอียดของชุดตัวเลือกที่เลือกได้

ระบบทางภาษา:

ชื่อตัวย่อแบบตัวอย่าง::ตัวเลือก[กรณี]

ตัวอย่าง

ตัวอย่าง ผลลัพธ์
child::book เลือกทุกๆลูกของตัวเลือกปัจจุบันที่เป็นตัวเลือก book
attribute::lang เลือกคุณสมบัติ lang ของตัวเลือกปัจจุบัน
child::* เลือกทุกๆลูกของตัวเลือกปัจจุบันที่เป็นองค์ประกอบเอกสาร
attribute::* เลือกทุกๆคุณสมบัติของตัวเลือกปัจจุบัน
child::text() เลือกทุกๆลูกของตัวเลือกปัจจุบันที่เป็นตัวเลือกข้อความ
child::node() เลือกทุกๆลูกของตัวเลือกปัจจุบัน
descendant::book 選取當前節點的所有 book後代。
ancestor::book 選擇當前節點的所有 book先輩。
ancestor-or-self::book 選取當前節點的所有 book先輩以及當前節點(如果此節點是 book 節點)
child::*/child::price 選取當前節點的所有 price孫節點。