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 > Especificación de reglas > Sintaxis de la etiqueta VarDef
  
Sintaxis de la etiqueta VarDef
Un documento XML usado para una regla puede contener una o más etiquetas VarDef. Anide siempre la etiqueta VarDef en una etiqueta AttributeValues.
Cada etiqueta VarDef define un nombre de variable y su valor, al que se puede hacer referencia en las reglas que utilicen la etiqueta VarRef. Las definiciones de variable que están disponibles cuando se hace referencia a una variable (utilizando la etiqueta VarRef) vienen determinadas por el tipo de objeto y las jerarquías del contexto que estén en vigor. Para obtener más información acerca de cómo usan las reglas estas jerarquías, consulte Combinación de reglas para crear una regla compuesta.
Como ejemplo, supongamos que se ha definido una variable en el contexto de sitio que se puede utilizar en las reglas definidas para el tipo de objeto wt.doc.WTDocument. Esta definición estará después disponible en todos los contextos para las reglas definidas para el tipo de objeto wt.doc.WTDocument y todos sus subtipos. La definición de la misma variable en un contexto hijo del sitio o asociada con un tipo de wt.doc.WTDocument normalmente tendría prioridad sobre la definición en el contexto de sitio si el objeto al que las reglas fueron aplicadas estaba en el contexto hijo o estaba asociado a un tipo.
El valor de una variable no se calcula hasta que el elemento de regla al que hace referencia es procesado. Para hacer referencia a una variable específica definida mediante la etiqueta VarDef, use el valor que se especifica en el atributo de ID. de la etiqueta VarDef del atributo de ID. de la etiqueta VarRef. El primer elemento procesado cuando se aplica una regla que tiene una referencia de variable específica hace que se calcule y obtenga el valor de la variable. Después el valor obtenido se utilizará para cada referencia a la variable que se procese durante la aplicación de la regla.
La sintaxis de la etiqueta VarDef es la siguiente:
<VarDef id="nombre_variable"
algorithm="algoritmo_valor_por_defecto">
argumentos_algoritmo
</VarDef>
donde nombre_variable es el nombre de la variable que se usa al hacer referencia a la variable de la etiqueta VarRef. El nombre puede consistir en cualquier nombre XML que tenga algún significado para el usuario.
El siguiente ejemplo define la variable GeneratedNumber que se puede utilizar para generar un número para los documentos para que el usuario pueda definir el nombre del documento para el número generado. Para definir esta variable y usarla al crear documentos, se puede anidar el XML en la etiqueta AttributeValues para el tipo de objeto wt.doc.WTDocument:
<VarDef id="GeneratedNumber"
algorithm=”com.ptc.windchill.enterprise.revisionControlled.server.impl.NumberGenerator">
<Arg>{GEN:wt.enterprise.SequenceGenerator:WTDOCUMENTID_seq:10:0}</Arg>
</VarDef>
* 
El valor de la variable definido en la etiqueta VarDef no se puede derivar del cálculo para otro valor en la misma regla. Por ejemplo, no se puede definir la variable GeneratedNumber para WTPart a partir del valor de atributo de número que se define mediante la etiqueta AttrValue en la misma regla. Para obtener más información, consulte .
Además, se pueden incluir atributos XML opcionales en la etiqueta VarDef para hacer lo siguiente:
Definir la definición de variable especificada como el valor absoluto que se debe utilizar en la regla compuesta.
Desestimar la definición especificada cuando ésta es heredada del contexto padre.