Administration spécialisée > Personnalisation des objets métier > Administration des règles d'initialisation d'un objet > Utilisation des règles d'initialisation d'un objet > Indication de règles > Syntaxe de la balise AttrConstraint
  
Syntaxe de la balise AttrConstraint
Un document XML utilisé pour une règle peut contenir une ou plusieurs balises AttrConstraint. Imbriquez toujours la balise AttrConstraint dans une balise AttributeValues.
Utilisez la balise AttrConstraint pour appliquer des contraintes qui déterminent si l'interface utilisateur servant à initialiser un objet d'un type donné possède des caractéristiques d'affichage spéciales pour certains attributs associés à l'objet. Les règles disponibles pour la définition des contraintes d'un attribut Windchill sont déterminées par le type d'objet et les hiérarchies de contextes en place. Pour obtenir des informations sur l'utilisation de ces hiérarchies par les règles, consultez la section Fusion de règles pour créer une règle composite.
La syntaxe de la balise AttrConstraint est la suivante :
<AttrConstraint id="attribut_d'objet_Windchill
"
algorithm="com.ptc.core.rule.server.impl.GatherAttributeConstraints">
<Value algorithm="algorithme_de_contrainte"/>
arguments_d'algorithme
<Value algorithm="algorithme_de_contrainte"/>
arguments_d'algorithme
</AttrConstraint>
Chaque balise Value déclarée dans la syntaxe de la balise AttrConstraint contient un algorithme de contrainte qui est appliqué à l'interface utilisateur lorsque le champ d'attribut Windchill est affiché dans l'interface de création de l'objet. L'objet créé doit avoir le type spécifié lors de la création de la règle.
Si vous ne définissez qu'un seul algorithme de contrainte pour l'exécution du traitement dans une balise AttrConstraint, l'attribut algorithm="com.ptc.core.rule.server.impl.GatherAttributeConstraints" n'est pas requis dans cette balise. Toutefois, pour des raisons de cohérence, GatherAttributeConstraints figure dans chacun des exemples.
Vous pouvez spécifier aucune, une ou plusieurs balises Value identifiant les algorithmes à exécuter pour appliquer des contraintes. Par ailleurs, insérez des arguments "any" (affichés en tant que arguments_algorithme) pour les algorithmes possédant des arguments.
Pour plus d'informations sur les algorithmes, consultez la section Algorithmes de contrainte.
Par exemple, utilisez le code XML imbriqué suivant dans la balise AttributeValues pour que le type d'objet wt.doc.WTDocument affiche le numéro par défaut prégénéré :
<AttrConstraint id="number"
algorithm="com.ptc.core.rule.server.impl.GatherAttributeConstraints">
<Value algorithm="com.ptc.core.rule.server.impl.GetServerPreGeneratedValue" />
</AttrConstraint>
Le fait de n'inclure aucune balise Value applique une contrainte vide à l'attribut qui affiche ensuite un champ de saisie vide dans lequel un utilisateur peut entrer manuellement une valeur.
Pour davantage d'explications sur les algorithmes de contrainte et des informations sur l'utilisation simultanée de plusieurs contraintes, consultez la section Algorithmes de contrainte.
En outre, vous pouvez inclure des attributs XML facultatifs dans la balise AttrConstraint pour :
Définir les contraintes spécifiées comme l'ensemble absolu de contraintes à utiliser dans la règle composée.
Ignorer les contraintes spécifiées pour l'attribut d'objet lorsque la valeur est héritée du contexte parent.
Pour plus d'informations sur les attributs pris en charge et pouvant être déclarés dans la balise AttrConstraint, consultez la section Utilisation des types et attributs pris en charge.