- 9.5 community
- block an xml (a pom) that doesn’t contain a certain tag
- via xpath template
hello,
i would like to create an xml template to match this situation
<dependency>
<groupId>blabla</groupId>
<artifactId>fabrickcore-spring-boot-starter-test</artifactId>
</dependency>
the “factor” it’s the missing of tag
on this website i try
the following xpath expression
//dependency/artifactId/text()[. = 'fabrickcore-spring-boot-starter-test']/../..[not(scope)]
and this match (correct)
<dependency> <groupId>blabla</groupId> <artifactId>fabrickcore-spring-boot-starter-test</artifactId> </dependency>
and don’t match (correct)
<dependency> <groupId>blabla</groupId> <artifactId>fabrickcore-spring-boot-starter-test</artifactId> <scope>blabla</scope> </dependency>
so from the tester point of view my xpath expression it’s working.
on sonar i am not able to make it work, and i can’t get any debug information about that.
i think (but i am not sure) it’s the last part that break ie: [not(scope)] because if i do a rule with
//dependency/artifactId/text()[. = 'fabrickcore-spring-boot-starter-test']/../..
the rule work and match the element (that’s of course not the scenario i need, but i did try to break out a bit the expression)
can someone advice on that?
thanks for the support!
ps: not sure why but the code display 3 dots, while i use 2 dots in xpath