Code Analysis - syntax

I am trying to get a handle on the syntax used by the Code Analysis engine.

I have a few “intro” docs from the web and from the Quest site(s), but none go into the depth required. For example (an existing rule):

//WHERE/qp5:set-root()/descendant::QNAME[PARAM_LIST] [not(ancestor::EXPR/@cat=“query”)] [PARAM_LIST//IDENTIFIER
[not(@value = ./(ancestor::PROCEDURE_BODY, ancestor::FUNCTION_BODY, ancestor::TYPE_BODY, ancestor::BLOCK[parent::CHUNK])//
(VAR_DECL, CONST_DECL, TYPE_SPEC, EXCEPTION_DECL, CURSOR, CURSOR_SPEC)/QNAME/@value)] ] /IDENTIFIER[1]

Any assistance or guide to a REAL code systax document?

Thanks in advance,
Scott