Amministrazione avanzata > Adattamento di business object > Amministrazione delle regole di inizializzazione degli oggetti > Utilizzo delle regole di inizializzazione oggetto > Algoritmi delle regole > Esempi di algoritmi di vincolo e di valori di default generali > Esempi di algoritmi di stringa e di indice
  
Esempi di algoritmi di stringa e di indice
Di seguito è riportato un frammento XML di una regola di esempio che utilizza l'algoritmo con valore di default Substring per impostare l'attributo name come uguale ai primi 5 caratteri dell'attributo number.
<AttrValue id=”name” algorithm=”wt.rule.algorithm.Substring”>
<Attr id=”number”/>
<Arg>0</Arg>
<Arg>5</Arg>
</AttrValue>
Di seguito è riportato un frammento XML di una regola di esempio che utilizza gli algoritmi Substring e IndexOf per impostare il nome di un documento CAD come uguale al relativo nome CAD senza estensione:
<AttrValue id="name" algorithm="wt.rule.algorithm.Substring">
<Attr id="CADName"/>
<Arg>0</Arg>
<Value algorithm="wt.rule.algorithm.IndexOf">
<Attr id="CADName"/>
<Arg>.</Arg>
</Value>
</AttrValue>
Gli argomenti utilizzati in questo esempio sono descritti di seguito.
Il primo argomento utilizza il tag Attr per identificare la stringa originale, che in questo caso è un attributo.
Il secondo argomento utilizza il tag Arg per identificare l'indice del carattere iniziale della sottostringa, dove 0 è l'indice del primo carattere nella stringa originale.
Il terzo argomento utilizza il tag Value per determinare l'indice del carattere in corrispondenza del quale si arresta la sottostringa. All'interno del tag Value è utilizzato l'algoritmo IndexOf, che richiede due argomenti aggiuntivi utilizzati per produrre l'indice richiesto.
In questo esempio si presuppone che sia presente un solo punto nel nome del documento CAD prima dell'estensione del file.
Se il nome di un documento CAD include più punti, è possibile utilizzare l'algoritmo LastIndexOf anziché IndexOf per rimuovere i caratteri dopo l'ultimo punto, come indicato di seguito:
<AttrValue id="name" algorithm="wt.rule.algorithm.Substring">
<Attr id="CADName"/>
<Arg>0</Arg>
<Value algorithm="wt.rule.algorithm.LastIndexOf">
<Attr id="CADName"/>
<Arg>.</Arg>
</Value>
</AttrValue>