aboutsummaryrefslogtreecommitdiffstats
path: root/cps-path-parser/src/main/antlr4
diff options
context:
space:
mode:
authordanielhanrahan <daniel.hanrahan@est.tech>2024-11-27 15:38:41 +0000
committerdanielhanrahan <daniel.hanrahan@est.tech>2024-12-02 13:30:15 +0000
commitd262e1c3f4671673a02ea402366a8c9b93fe4e53 (patch)
tree8805f57e86733f5766e02eed6bb218f54f000282 /cps-path-parser/src/main/antlr4
parent7cd33c3f6784b5df58cb242847719c4faec7eca3 (diff)
[Cps Path Parser] Introduce Attribute axis
Add grammar and tests for attribute-axis to match cps paths like: //books/@title which should return the titles of all books (a subsequent patch will implement the logic). The syntax is compatible with XPath standard. Issue-ID: CPS-2416 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I25164b23670147c504f0f0f6c0cc8ff15997f2a3
Diffstat (limited to 'cps-path-parser/src/main/antlr4')
-rw-r--r--cps-path-parser/src/main/antlr4/org/onap/cps/cpspath/parser/antlr4/CpsPath.g44
1 files changed, 3 insertions, 1 deletions
diff --git a/cps-path-parser/src/main/antlr4/org/onap/cps/cpspath/parser/antlr4/CpsPath.g4 b/cps-path-parser/src/main/antlr4/org/onap/cps/cpspath/parser/antlr4/CpsPath.g4
index 74b99feb33..bb6bfc3942 100644
--- a/cps-path-parser/src/main/antlr4/org/onap/cps/cpspath/parser/antlr4/CpsPath.g4
+++ b/cps-path-parser/src/main/antlr4/org/onap/cps/cpspath/parser/antlr4/CpsPath.g4
@@ -27,10 +27,12 @@
grammar CpsPath ;
-cpsPath : ( prefix | descendant ) multipleLeafConditions? textFunctionCondition? containsFunctionCondition? ancestorAxis? EOF ;
+cpsPath : ( prefix | descendant ) multipleLeafConditions? textFunctionCondition? containsFunctionCondition? ancestorAxis? attributeAxis? EOF ;
slash : SLASH ;
+attributeAxis : SLASH AT leafName ;
+
ancestorAxis : KW_ANCESTOR_AXIS_PREFIX ancestorPath ;
ancestorPath : yangElement ( slash yangElement)* ;