Elemento TemplateDocument de un archivo de definición de plantilla

Para cada mensaje XML de entrada, debe haber al menos un documento de plantilla definido en el mensaje. Esto se define en el elemento TemplateDocument.

El elemento TemplateDocument tiene cuatro subelementos:

DocumentType (con un atributo de versión opcional)
Esta parte especifica el nombre del documento XML, o nombre del elemento raíz, y el atributo de "versión" del elemento raíz, si existe. El siguiente es un ejemplo del elemento DocumentType:
<DocumentType version='1.0'>Reset_Password</DocumentType>
StartElement
Esta parte especifica el elemento desde el cual el correlacionador de mensajes XML inicia la correlación de códigos. Debe corresponderse con un elemento del DTD del mensaje. La correlación de códigos genera las parejas de nombre/valor que se utilizan como parámetros de los mandatos. El siguiente es un ejemplo de utilización de StartElement:
<StartElement>PasswordInfo</StartElement>
En este ejemplo, debe haber un elemento llamado PasswordInfo definido en el archivo DTD de este mensaje. Por ejemplo, el archivo DTD debe contener una línea similar a la siguiente que defina un elemento PasswordInfo:
<!ELEMENT PasswordInfo (Password, ConfirmPassword)>
TemplateTagName
Esta parte especifica qué correlación de códigos se ha de utilizar para el mensaje. La correlación de códigos se define en otro lugar del archivo de definición de plantilla bajo el elemento TemplateTag. Esto significa que el valor del elemento TemplateTagName debe coincidir con el atributo name de un elemento TemplateTag que aparece en algún lugar del archivo de definición de plantilla. Consulte la sección sobre el elemento TemplateTag para obtener más detalles. El ejemplo siguiente ilustra la utilización del elemento TemplateTagName:
<TemplateTagName>PasswordReset10Map</TemplateTagName>
En este ejemplo, el siguiente elemento TemplateTag debe existir en cualquier lugar del archivo de definición de plantilla:
<TemplateTag name='PasswordReset10Map'>
 ...
 </TemplateTag>
Los elementos entre los códigos de inicio y fin dependen de la correlación del mensaje.
CommandMapping
Este elemento determina a qué mandatos invoca el mensaje. El elemento contiene un subelemento llamado Command. El elemento Command se utiliza para indicar el mandato de controlador de HCL Commerce que se ejecuta cuando el mensaje se correlaciona satisfactoriamente. Contiene un atributo obligatorio llamado CommandName, que se utiliza para indicar el nombre del mandato. El valor de este atributo debe corresponderse con un mandato existente que esté registrado en los archivos de configuración Struts. Por ejemplo, puede asociar un mensaje con el mandato que restaura una contraseña utilizando la sintaxis siguiente:

<CommandMapping>
     <Command CommandName='ResetPassword'/>
</CommandMapping>
Para más información, consulte Personalización de la configuración de aplicaciones web basada en Struts de HCL Commerce.

También puede asociar varios mandatos con el mismo mensaje. Para hacerlo, deberá utilizar los siguientes atributos adicionales del elemento Command:

  • Atributo de condición: La sintaxis para la condición es la siguiente ( [] significa que es opcional, * significa que puede repetirse):
    fieldName [="fieldValue "] [AND fieldName [="fieldValue "]]*
    fieldName
    fieldName="fieldValue "
    Un valor del mensaje XML se establece en el del campo fieldName. Cuando se correlaciona el mensaje, si el valor es el mismo que el de fieldValue, el valor de condition es true.
    fieldName1="fieldValue1" AND fieldName1="fieldValue2"
    Los valores del mensaje XML se establecen en los campos fieldName1 y fieldName2 cuando se analiza el mensaje. Si los valores son iguales a los de fieldValue1 y fieldValue2 respectivamente, entonces el valor de condition es true.
Atributo TemplateTagName
Si especifica el atributo TemplateTagName para este elemento Command, cuando el valor de condition es true, se utilizará una nueva plantilla de códigos con el nombre que hay definido en TemplateTagName para el resto del mensaje XML de entrada.
Elemento Constant: la lista de constantes que se han de poner en TypedProperty para ese mandato.
  • Campo: El nombre de campo de la pareja nombre-valor que se pondrá en TypedProperty.
  • FieldInfo: Consulte la definición de TemplateTag. El valor debe colocarse entre códigos Constant.
A continuación se muestra un ejemplo sencillo de cómo se pueden utilizar los diversos elementos Command (mandato) para correlacionar diversos mandatos:
<CommandMapping>
   <Command CommandName='ResetPassword' Condition='Verb="Reset" AND  Noun="Password"'/>
   <Command CommandName='AdminResetPassword' Condition='Verb="Reset" AND Noun="AdminPassword"'/>
  </CommandMapping>

En este ejemplo, los elementos Noun y Verb deben estar definidos en el archivo DTD del mensaje.