diff options
Diffstat (limited to 'docs/cps-path.rst')
-rw-r--r-- | docs/cps-path.rst | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/docs/cps-path.rst b/docs/cps-path.rst index 252310dc0c..08892e09ec 100644 --- a/docs/cps-path.rst +++ b/docs/cps-path.rst @@ -183,7 +183,7 @@ General Notes Query Syntax ============ -``( <absolute-path> | <descendant-path> ) [ <leaf-conditions> ] [ <text()-condition> ] [ <ancestor-axis> ]`` +``( <absolute-path> | <descendant-path> ) [ <leaf-conditions> ] [ <text()-condition> ] [ <contains()-condition> ] [ <ancestor-axis> ]`` Each CPS path expression need to start with an 'absolute' or 'descendant' xpath. @@ -272,6 +272,25 @@ The text()-condition can be added to any CPS path query. - When querying a leaf value (instead of leaf-list) it is better, more performant to use a text value condition use @<leaf-name> as described above. - Having '[' token in any index in any list will have a negative impact on this function. +contains()-condition +-------------------- + +**Syntax**: ``<cps-path> '[' 'contains' '(' '<leaf-name>','<string-value>' ')' ']'?`` + - ``cps-path``: Any CPS path query. + - ``leaf-name``: The name of the leaf which value needs to be compared. + - ``string-value``: The required value of the leaf element as a string wrapped in quotation marks (U+0022) or apostrophes (U+0027). This will still match integer values. + +**Examples** + - ``//categories[contains(@name,'Sci')]`` + - ``//books[contains(@title,'Space')]`` + +**Limitations** + - Only leaves can be used, leaf-list are not supported. + - Leaf names are not validated so ``contains() condition`` with invalid leaf names will silently be ignored. + +**Notes** + - contains condition is case sensitive. + ancestor-axis ------------- |