Table of Contents |
---|
Overview
The wiki discusses upon the enhancement of xpath-capabilities for searching specific elements via CPS-core API and basically to:
- provide possibility to run xpath-searches over multiple anchors and dataspacesprovide possibilites to search for specific ranges, operators <>, regex ...
which can be included in future releases.
Cps Xpath Possibilities
Jira : CPS-
...
1221
1.Using >,< operators
Example | Description |
Xpath >,< operaters
/bookstore/book[@price>800] |
Select price nodes with price>800 | |
/bookstore/book[ |
@price<1000] |
selects all the title nodes with a price higher than 800
/bookstore/book[@price>800]/title&limit=2Select price nodes with price<1000 |
NOTE: We can add limit to above examples as a query parameter
2.Using Contains function
Example | Description |
//books[contains(@language,'En')] |
It is used when the value of any attribute changes dynamically, The contain feature has an ability to find the element with partial text as shown in below XPath example: |
XPath expression partial value |
‘En’ is used in place English |
3.Using OR & AND functions
...
Example | Description | ||||||
//books[@title='The Golden compass' or @lang='english'] | Xpath OR & AND functions
| the below
| |||||
/ | bookstore/ | book/books[@title='The Golden compass' | orand @lang='english'] |
| .
| Banks") and (@title contains("Far Horizons") or @title contains("Feersum Endjinn "))]
4.Using starts-with/Ends-with function
Example | Description | |||
/bookstore/book[ | Xpath starts-with | function(@code,'sid')] |
Code = “sid1” | Here, XPath finds those element whose ‘Code’ starting with ‘sid’. |
similarly,
Example | Description | |||||||
/bookstore/book[ends-with(@code,'sid')] | Xpath Ends-with function
| Code = “1-sid” | Code Code = “2-sid” | Code Code = “3-sid” | Code Code = “4-sid” | Code Code = “5-sid”
| Here, XPath finds those element whose ‘Code’ ending with ‘sid’. |
5.Using Reqular Expression
Example | Description | Xpath Regular Expressions | Suppose ‘title’: ‘Feersum Endjinn’|
/bookstore/book[@title = ^([a-zA-Z{10}\s])] | Suppose ‘title’: ‘Feersum Endjinn’ Here, Xpath finds title attributes accordingly as given in expression |
Search along multiple anchors within a dataspace
Need to create new end point.
For Example,
http://localhost:8883/cps/api/v1/dataspaces/:dataspace-name/nodes?xpath=/bookstore/categories[@code='02'][@title='The Golden Compass']
...