{ for $a in /(Class | Table | Query | Form) for $m in $a//Method for $calls in $m//ExpressionStatement/QualifiedCall[ lower-case(@MethodName)='skipdeleteactions' or lower-case(@MethodName)='skipdeletemethod' or lower-case(@MethodName)='skipdatabaselog' or lower-case(@MethodName)='skipevents' or lower-case(@MethodName)='skipdatamethods' or lower-case(@MethodName)='recordlevelsecurity' ] where count($calls/*) = 1 order by $a/@Package return SelectUsingFirstOnly Warning {string($a/@PathPrefix)}/Method/{string($m/@Name)} Methods on cursor are called with no parameters, but result is never used. AppChecker {string($calls/@StartLine)} {string($calls/@StartCol)} {string($calls/@EndLine)} {string($calls/@EndCol)} }