PMD Xpath для проверки реляционного выражения присутствия

#xpath #pmd

Вопрос:

Написал ниже Xpath , который я хочу расширить, чтобы включить «<«, «>=» и т. Д.

 //RelationalExpression[@Image=">" and 
descendant :: PrimaryExpression/PrimaryPrefix/Name[@Image!="ABC" and @Image!="PQR"]]
 

Приведенное ниже правило не дает правильного результата,

 //RelationalExpression[@Image=">" or @Image="<" and 
descendant :: PrimaryExpression/PrimaryPrefix/Name[@Image!="ABC" and @Image!="PQR"]]
 

Есть ли решение для исправления проверки?

Комментарии:

1. Привет, пожалуйста, включите образец кода, которому вы хотели бы соответствовать. Почему результат неверен? Каково было бы правильное поведение?

2. тест класса { public static void main(строка[] args) { короткий sPos = 0x8000; байт bFirst = 1; байт bSecond = 2; если(sPos > (короткий) 0) { System.out.println(«Истина»); } если(bFirst >< bSecond) { System.out.println(«Истина»); } если(ABC(1,2) > 0) { System.out.println(«Истина»); } если(PQR(1,2) < bSecond) { System.out.println(«Истина»); } если(ABC(1,2) >

3. Я нашел выход, используя имя свойства=»violationSuppressXPath» PMD, он игнорирует узлы ABC ,PQR с совпадением строк. Правило теперь упрощено как //Выражение отношения[@Image=»>» или @Image=»>

4. Возможно ли, что вы просто забыли круглые скобки вокруг or ? Как и во многих языках программирования, в XPath and связи более тесно