Conditions source implémentées par l'écouteur ESM
Conditions source implémentées par l'écouteur ESM
Condition de source combinée
Combine des conditions (qui peuvent également être des CombinedSourceConditions) avec les opérateurs AND ou OR. Dans le XML, l'élément source_conditions le plus externe est lui-même une CombinedSourceCondition.
<source_conditions boolean="AND">
<combined_source_condition boolean="OR">
<source_condition>
...
</source_condition>
<source_condition>
...
</source_condition>
</combined_source_condition>
<source_condition>
...
</source_condition>
</source_conditions>Condition source toujours vraie
Toujours vrai, c'est-à-dire que la carte de données correspond toujours à cette condition.
<source_condition>
<always_true/>
</source_condition>Dans la version 4105 et avant
<source_condition>
<alwaysTrue/>
</source_condition>En fait, vous n'avez pas besoin d'utiliser cette condition. L'écouteur sera toujours exécuté, même si vous omettez source_conditions.
EntitéSourceCondition
La carte de données est-elle masquée avant ou après l'enregistrement (current_value) : oui ou non
La carte de données est-elle retirée (dans la corbeille) avant ou après l'enregistrement : oui ou non
<!-- Source condition that matches a data card which was in the trashcan before saving (restored from trashcan?) -->
<source_condition>
<entity>
<state>entityIsDeleted</state>
<value>true</value>
<current_value>false</current_value>
</entity>
</source_condition>
<!-- Source condition that matches a data card which was hidden in saving -->
<source_condition>
<entity>
<state>entityIsHidden</state>
<value>false</value>
<current_value>false</current_value>
</entity>
</source_condition>
<source_condition>
<entity>
<state>entityIsHidden</state>
<value>true</value>
<current_value>true</current_value>
</entity>
</source_condition>Condition de la source du dossier
La carte de données se trouve-t-elle dans un dossier spécifique ou dans un autre (opérateur !=). Utilisez des codes de dossier, pas des identifiants.
<source_condition>
<folder>
<code>computers</code>
<operator>=</operator>
</folder>
</source_condition>GuiEditSourceCondition
Vrai lorsque la carte de données source est modifiée à partir de l'éditeur d'interface graphique Efecte.
<source_condition>
<gui_edit/>
</source_condition>Nouvelle condition de source de carte de données
Sommes-nous sur le point de sauvegarder une nouvelle carte de données : oui ou non
<source_condition>
<new_datacard>
<value>true</value>
</new_datacard>
</source_condition>Pro
Comparer un champ de la carte de données (attribut) avant ou après l'enregistrement (valeur actuelle : true ou false) à la valeur d'un autre champ, avant ou après l'enregistrement, avec un opérateur. Les opérateurs pris en charge dépendent du type de données.
<!-- Source condition that tests if the name attribute's old value is not the same as the new value -->
<source_condition>
<property>
<attribute>
<code>name</code>
<current_value>false</current_value>
</attribute>
<operator><></operator>
<compared_attribute>
<code>name</code>
<current_value>true</current_value>
</compared_attribute>
</property>
</source_condition>ValeurSourceCondition
Comparer un champ (attribut) avant ou après l'enregistrement (valeur actuelle : true ou false) à une valeur constante avec un opérateur. Les opérateurs pris en charge dépendent du type de données ; par exemple, il est impossible de comparer une référence à une constante (comme l'identifiant ou le nom d'une carte de données).
<!-- Source condition that tests if the status attribute's value is "Closed" -->
<source_condition>
<value>
<attribute>
<code>status</code>
<current_value>true</current_value>
</attribute>
<operator>=</operator>
<compared_value>Closed</compared_value>
</value>
</source_condition>
<!-- Source condition that tests if the status attribute's value is not empty -->
<source_condition>
<value>
<attribute>
<code>status</code>
<current_value>true</current_value>
</attribute>
<operator>IS NOT NULL</operator>
<compared_value></compared_value>
</value>
</source_condition>Chemin de référenceValeurSourceCondition
Comparer une valeur trouvée dans un chemin de référence ($code1:code2:code3$) avant ou après l'enregistrement (valeur_courante vraie ou fausse) à une valeur constante avec un opérateur. Les opérateurs pris en charge dépendent du type de données ; par exemple, il est impossible de comparer une référence à une constante (comme l'identifiant ou le nom d'une carte de données).
<source_condition>
<reference_path_value>
<reference>
<path>$code1:code2$</path>
<current_value>true</current_value>
</reference>
<operator>=</operator>
<compared_value>Removed</compared_value>
</reference_path_value>
</source_condition>La condition ci-dessus correspondra si l'attribut « code1 » de la carte de données actuelle fait référence à la carte de données, qui possède un attribut avec le code « code2 » et la valeur « Supprimé ».
Note:
L'implémentation actuelle fonctionne de telle sorte que même si le modèle référencé ne possède pas d'attribut avec le code « code2 » ou si « code1 » est une référence vide, l'exécution se poursuit normalement. Par exemple, si l'opérateur est != et que la valeur comparée est une constante, la condition source entière est toujours vraie dans ce cas.
Pro ReferencePathSourceCondition
Cette condition source permet de comparer les valeurs de deux attributs, dont l'un ou les deux peuvent être référencés. Le premier peut être une référence à un attribut local (non référencé), tandis que l'autre doit être un attribut de carte de données référencé. Les deux attributs doivent avoir le même type de données . Cette condition source prend également en charge les attributs multivaleurs, comme indiqué ci-dessous.
Attributs multivaleurs et correspondance de la condition
- Si toutes les valeurs doivent correspondre, cela signifie que toutes les valeurs du premier attribut doivent correspondre à certaines valeurs du deuxième attribut.
- Si le premier ou le deuxième attribut n'a pas de valeur, la condition ne correspond pas.
- Si toutes les valeurs ne doivent pas nécessairement correspondre, il suffit qu'une des nombreuses valeurs du premier attribut corresponde à certaines des nombreuses valeurs du deuxième attribut.
Dans l'exemple ci-dessous, il y a une référence au champ de la carte de données et au champ d'une autre carte de données :
<reference_path_property>
<reference>
<path>$code1$</path>
<current_value>true</current_value>
</reference>
<operator>!=</operator>
<compared_reference>
<path>$code2:code3$</path>
</compared_reference>
<require_all_values_match>false</require_all_values_match>
</reference_path_property>Dans l'exemple ci-dessous, il y a des références à deux champs dans une autre carte de données :
<reference_path_property>
<reference>
<path>$code1:code4$</path>
<current_value>true</current_value>
</reference>
<operator>!=</operator>
<compared_reference>
<path>$code2:code3$</path>
</compared_reference>
<require_all_values_match>false</require_all_values_match>
</reference_path_property>