This rule allows the definition of custom rules using XPath expressions.


Issues are created depending on the return value of the XPath expression. If the XPath expression returns:

* a single or list of AST nodes, then a line issue with the given message is created for each node
* a boolean, then a file issue with the given message is created only if the boolean is true
* anything else, no issue is created

On the following code, the XPath expression ``++//IDENTIFIER[string-length(@tokenValue) >= 10]++`` generates a violation on the identifier "aaaaaaaaaa":

----
DECLARE
  aaaaaaaaaa NUMBER := 10; /* Non-Compliant, this identifier is 10 characters long */
  aaaaaaaaa NUMBER := 9; /* Compliant, this one is only 9 */
BEGIN
  NULL;
END;
/
----
ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

include::../message.adoc[]

include::../parameters.adoc[]

endif::env-github,rspecator-view[]
