You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

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 dataspaces
  • provide possibilites to search for specific ranges, operators <>, regex ...

which can be included in future releases.

The second part of this wiki discusses some inconsistencies noticed with the response codes returned by CPS core API's. and how it can be improved.

Cps Xpath Possibilities

Jira : CPS-1131

 1.Using >,< operators

Xpath >,< operaters

Select price nodes with price>800

/bookstore/book[@price>800] &limit=4

/bookstore/book[@price>800 and @price<1000]&limit=10

selects all the title nodes with a price higher than 800

 /bookstore/book[@price>800]/title&limit=2


 2.Using Contains function

           

Xpath contains function

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:

/bookstore/book/[contains(@language,'en')] 

XPath expression partial value ‘en’ is used in place English



3.Using OR & AND functions

Xpath  OR & AND functions

  • In OR expression, two conditions are used, whether 1st condition OR 2nd condition should be true. It is also applicable if any one condition is true or maybe both. Means any one condition should be true to find the element.
  • In the below XPath expression, it identifies the elements whose single or both conditions are true.

/bookstore/book/[@title='The Golden compass' or @lang='english'] 

  • In AND expression, two conditions are used, both conditions should be true to find the element. It fails to find element if any one condition is false.

 /bookstore/book/[@title='The Golden compass' and @lang='english'] 

  • Xpath expression finds values contains barnes and title the lemon table

/bookstore /book[@author contains("Philip Pullman") and @title = "The Golden compass "]

/bookstore /book[@author  contains("Iain M. Banks") and (@title  contains("Far Horizons") or @title  contains("Feersum Endjinn "))] 

 4.Using starts-with/Ends-with function

Xpath starts-with function

  • For example -: Suppose the ID of particular element changes dynamically like:

Code = “sid1”

Code = “sid2”

Code = “sid3”

Code = “sid4”

Code = “sid5”


/bookstore/book[starts-with(@code,'sid')]

Here, XPath finds those element whose ‘Code’ starting with ‘sid’.

similarly,

Xpath Ends-with function

  • For example -: Suppose the ID of particular element changes dynamically like:

                             Code = “1-sid”

                             Code = “2-sid”

                             Code = “3-sid”

                             Code = “4-sid”

                             Code = “5-sid”

 

/bookstore/book[ends-with(@code,'sid')]

Here, XPath finds those element whose ‘Code’ ending with ‘sid’.


 5.Using Reqular Expression

Xpath Regular Expressions

Suppose    ‘title’: ‘Feersum Endjinn’

  /bookstore/book[@title = ^([a-zA-Z{10}\s])]

Here, Xpath finds title attributes accordingly as given in expression



Search along multiple anchors within a dataspace




Note: If search across all anchors takes much time then drop this plan

  • No labels