Variable act_location

La variable act_location est une chaîne qui identifie l'emplacement d'une expression dans la hiérarchie de la règle.

Détails

L'emplacement est un nom qualifié complet qui indique la position de l'expression dans la hiérarchie de la règle. Il se présente sous la forme identifier.identifier...., où chaque occurrence de identifier désigne l'un des éléments suivants :
  • La valeur de l'attribut de nom d'un élément XML situé dans la hiérarchie respective.
  • Pour les éléments qui figurent plusieurs fois dans un bloc de règles ou une règle et ne possèdent pas d'attribut de nom : l'élément XML qui contient l'expression, suivi d'un numéro d'index entre parenthèses. Ce numéro d'index indique la position de l'expression dans l'élément qui la contient. Le décompte des numéros d'index commence à partir de 0, et non de 1. Par conséquent, si un élément est contenu dans le troisième élément <action>, par exemple, le numéro d'index sera action[2].
Ces identificateurs sont classés par ordre décroissant, depuis le bloc de règles le plus vaste jusqu'à l'élément le plus petit contenant l'expression.

Exemple de programmation

Le code suivant permet d'accéder à la variable act_lib pour obtenir l'emplacement de l'expression :
String location = act_lib.getStringVariable(IACTLibrary.LOCATION);

Exemples d'emplacement renvoyés par la variable

Les valeurs suivantes sont des exemples d'emplacement renvoyés par la variable act_location.
ruleBlockA.ruleA.eventSelector[3].filteringPredicate
L'expression est contenue dans l'élément suivant :
  • Le bloc de règles dont l'attribut de nom a pour valeur ruleBlockA
  • La règle dont l'attribut de nom a pour valeur ruleA
  • Le quatrième élément <eventSelector>
  • L'élément <filteringPredicate>
ruleBlockA.ruleA.onDetection.action[5]
L'expression est contenue dans l'élément suivant :
  • Le bloc de règles dont l'attribut de nom a pour valeur ruleBlockA
  • La règle dont l'attribut de nom a pour valeur ruleA
  • L'élément <onDetection>
  • Le sixième élément <action>
ruleBlockA.ruleA.variableA.varInitializer
L'expression est contenue dans l'élément suivant :
  • Le bloc de règles dont l'attribut de nom a pour valeur ruleBlockA
  • La règle dont l'attribut de nom a pour valeur ruleA
  • La variable dont l'attribut de nom a pour valeur variableA
  • L'élément <varInitializer>