Amministrazione avanzata > Adattamento di business object > Amministrazione delle regole di inizializzazione degli oggetti > Utilizzo delle regole di inizializzazione oggetto > Specifica delle regole > Sintassi degli argomenti degli algoritmi
  
Sintassi degli argomenti degli algoritmi
Nell'ambito dei tag AttrValue, AttrConstraint, Value e VarDef sono disponibili tre tag che è possibile utilizzare per specificare argomenti per gli algoritmi delle regole di inizializzazione degli oggetti predefiniti. Per ciascun algoritmo esiste tuttavia un insieme univoco di argomenti obbligatori, appartenenti alle categorie riportate di seguito.
Per gli argomenti di tipo stringa, utilizzare il tag Arg.
Per gli argomenti che devono essere valutati come attributo, utilizzare il tag Attr.
Per tutti gli argomenti diversi da stringhe o attributi, utilizzare il tag Value. Utilizzare ad esempio il tag Value per specificare algoritmi aggiuntivi.
Nell'ambito dei tag AttrValue, AttrConstraint e Value è inoltre possibile utilizzare il tag VarRef per specificare un argomento che corrisponde al valore di una variabile di regole.
Nelle sezioni riportate di seguito viene descritta la sintassi di ciascun argomento e vengono forniti esempi di utilizzo degli argomenti.
Sintassi del tag Arg
La sintassi del tag Arg è la seguente:
<Arg>string</Arg>
* 
Gli spazi utilizzati in un tag Arg verranno ignorati. Per indicare uno spazio, utilizzare un trattino (-) o un altro carattere. Se è necessario includere caratteri riservati XML nella stringa, la stringa deve essere definita come sezione CDATA. I caratteri riservati includono la E commerciale (&) e le parentesi angolari sinistra e destra (< >). Se, ad esempio, il tag Arg includerà il carattere E commerciale (&), utilizzare la sintassi seguente per garantire che funzioni come previsto: <Arg><![CDATA[Text &amp; Text]]></Arg>.
Sintassi del tag Attr
La sintassi del tag Attr è la seguente:
<Attr id="attribute_name"/>
dove attribute_name è il nome di un attributo esistente che si desidera utilizzare durante l'esecuzione dell'algoritmo. Come nome di attributo utilizzare il valore specificato nel campo Nome interno al momento della creazione dell'attributo.
* 
Se per un attributo non esiste un nome interno corrispondente, gli utenti autorizzati a modificare l'attributo possono aggiungerne uno utilizzando l'utilità Gestione tipi e attributi.
Sintassi del tag Value
La sintassi del tag Value dipende dal valore che viene specificato. All'interno del tag Value è possibile specificare argomenti aggiuntivi utilizzando uno dei tag supportati.
Sintassi del tag VarRef
La sintassi del tag VarRef è la seguente:
<VarRef id="variable_name"/>
dove variable_name è il nome di una variabile esistente che si desidera utilizzare durante l'esecuzione dell'algoritmo. La variabile deve essere definita utilizzando un tag VarDef in una regola per lo stesso tipo di oggetto specificato nel tag AttributeValues padre.
Se per una variabile a cui si fa riferimento non esiste la definizione corrispondente, viene generato un errore al momento della valutazione del tag VarRef.
Esempi di utilizzo dei tag Arg, Attr, Value e VarRef
Il seguente codice XML di esempio, che definisce la variabile GeneratedNumber, utilizza il tag Arg per specificare la sequenza applicata per la generazione del numero:
<VarDef id="GeneratedNumber"
algorithm=”com.ptc.windchill.enterprise.revisionControlled.server.impl.NumberGenerator">
<Arg>{GEN:wt.enterprise.SequenceGenerator:WTPARTID_seq:10:0}</Arg>
</VarDef>
In questo esempio il generatore di sequenza restituisce un valore stringa che viene quindi utilizzato come valore per la variabile GeneratedNumber.
Nel seguente codice XML di esempio, il tag VarRef fornisce il valore di default per l'attributo number:
<AttrValue id=”number”>
<VarRef id=”GeneratedNumber”/>
</AttrValue>
L'esempio presuppone che la definizione di variabile per GeneratedNumber sia disponibile tramite un'altra regola (come mostrato nell'esempio precedente).
Nel seguente codice XML di esempio, l'algoritmo EqualsTest richiede due argomenti. Il primo argomento utilizza il tag Attr per valutare l'attributo name, mentre il secondo utilizza il tag Value per specificare l'algoritmo GetNullValue che restituisce un valore nullo:
<Value algorithm="wt.rule.algorithm.EqualsTest">
<Attr id="name"/>
<Value algorithm="wt.rule.algorithm.GetNullValue"/>
</Value>