Administración especializada > Adecuación de los objetos de negocio > Administración de reglas de inicialización de objetos > Uso de reglas de inicialización de objetos > Algoritmos de reglas > Valor por defecto general y ejemplos de algoritmos de restricción > Ejemplos de algoritmos de índice y cadena
  
Ejemplos de algoritmos de índice y cadena
A continuación se muestra un ejemplo de un fragmento XML de regla que usa el algoritmo Substring del valor por defecto para definir el atributo de nombre en un valor igual a los 5 primeros caracteres del atributo de número.
<AttrValue id=”name” algorithm=”wt.rule.algorithm.Substring”>
<Attr id=”number”/>
<Arg>0</Arg>
<Arg>5</Arg>
</AttrValue>
A continuación se muestra un ejemplo de un fragmento XML de regla que utiliza los algoritmos Substring e IndexOf para definir el nombre de un documento CAD igual a su nombre CAD sin la extensión:
<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>
Los argumentos que se utilizan en este ejemplo son los siguientes:
El primer argumento usa la etiqueta Attr para identificar la cadena original (que, en este caso, es un atributo).
El segundo argumento usa la etiqueta Arg para identificar el índice del carácter inicial de la subcadena, donde 0 es el índice del primer carácter de la cadena original.
El tercer argumento usa la etiqueta Value para determinar el índice del carácter donde se detiene la subcadena. Dentro de la etiqueta Value está el algoritmo IndexOf, que necesita dos argumentos adicionales que se usan para crear el índice necesario.
Este ejemplo supone que solamente hay un punto en el nombre de documento CAD que está antes de la extensión de fichero.
Si un nombre de documento CAD incluye varios puntos, puede utilizar el algoritmo LastIndexOf en vez de IndexOf para quitar los caracteres que haya después del último punto de la siguiente forma:
<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>