Axes ng XPath (Axis)
- Nakaraang Pahina Gramatika ng XPath
- Susunod na Pahina Operator ng XPath
Mga halimbawa ng XML
Ginagamit namin ang dokumentong XML sa mga susunod na halimbawa:
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title lang="eng">Harry Potter</title> <price>29.99</price> </book> <book> <title lang="eng">Learning XML</title> <price>39.95</price> </book> </bookstore>
XPath axis
Ang axis ay maaaring tukuyin ang kumpol ng bungkalan na kahalintulad sa kasalukuyang bungkalan.
Pangalan ng axis | Resulta |
---|---|
ancestor | Pumili ng lahat ng magulang (magulang, lolo, atbp.). |
ancestor-or-self | Pumili ng lahat ng magulang (magulang, lolo, atbp.) at ang bungkalan mismo. |
attribute | Piliin ang lahat ng attribute ng kasalukuyang buod. |
child | Piliin ang lahat ng anak na kina element ng kasalukuyang buod. |
descendant | Pumili ng lahat ng sangkap na may lahat ng bungkalan na mag-anak (anak, pamangkin, atbp.). |
descendant-or-self | Pumili ng lahat ng sangkap na may lahat ng bungkalan na mag-anak (anak, pamangkin, atbp.) at ang bungkalan mismo. |
following | Pumili ng lahat ng bungkalan pagkatapos ng tag na nakasalalay ng kasalukuyang bungkalan sa dokumento. |
namespace | Pumili ng lahat ng bungkalan na may pangalan ng namespace ng kasalukuyang bungkalan. |
parent | Pumili ng magulang na bungkalan ng kasalukuyang bungkalan. |
preceding | Pumili ng lahat ng bungkalan bago ang simula ng tag na nakasalalay ng kasalukuyang bungkalan sa dokumento. |
preceding-sibling | Pumili ng lahat ng magkakasamang bungkalan bago ang kasalukuyang bungkalan. |
self | Pumili ng kasalukuyang bungkalan. |
Ekspresyon ng daan ng posisyon
Ang daan ng posisyon ay maaaring maging tamang daan o kahalintulad na daan.
Ang tamang daan ay nagsisimula sa may isang malawak na titik na nakasalunga ( / ), habang ang kahalintulad na daan ay hindi gayon. Sa parehong kaso, ang daan ng posisyon ay kasama ng isang o ilang hakbang, bawat hakbang ay hinahati ng isang titik na nakasalunga:
Absolute Positional Path:
/step/step/...
Relative Positional Path:
step/step/...
Bawat hakbang ay ibinabatay sa mga buod sa kasalukuyang set ng buod.
Hakbang (step) kasama ang:
- Axis (axis)
- Tukuyin ang kaugnayan ng puno ng buod na hinahalang at ang kasalukuyang buod
- Node-test (node-test)
- Identify ang mga buod sa loob ng isang axis
- Wala o higit na maraming predicate (predicate)
- Magiging mas mahusay ang pagpili ng set ng buod na hinahalang
Grammar ng hakbang:
Ngalan ng axis::node-test[predicate]
Halimbawa
Halimbawa | Resulta |
---|---|
child::book | Piliin ang lahat ng anak na kina book ng lahat ng anak na kina kasalukuyang buod. |
attribute::lang | Piliin ang attribute ng lang ng kasalukuyang buod. |
child::* | Piliin ang lahat ng anak na kina element ng kasalukuyang buod. |
attribute::* | Piliin ang lahat ng attribute ng kasalukuyang buod. |
child::text() | Piliin ang lahat ng anak na kina text ng kasalukuyang buod. |
child::node() | Piliin ang lahat ng anak na kina node ng kasalukuyang buod. |
descendant::book | Piliin ang lahat ng lahat ng lahat ng kina book ng kasalukuyang buod. |
ancestor::book | Piliin ang lahat ng magulang na kina book ng kasalukuyang buod. |
ancestor-or-self::book | Piliin ang lahat ng magulang na kina book ng kasalukuyang buod at ang kasalukuyang buod (kung ang kasalukuyang buod ay kina book) |
child::*/child::price | Piliin ang lahat ng anak na kina price ng kasalukuyang buod na kina. |
- Nakaraang Pahina Gramatika ng XPath
- Susunod na Pahina Operator ng XPath