== Why is this an issue?

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[]
