#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
? Как и во многих языках программирования, в XPathand
связи более тесно