Elemento TemplateTag de un archivo de definición de plantilla
El elemento TemplateTag se utiliza, junto con el elemento
TemplateDocument, en el archivo de definición de plantilla. Se
pueden definir varios elementos TemplateTag para cada mensaje XML
de entrada. Sin embargo, cada elemento TemplateTag debe estar
enlazado con un elemento TemplateDocument mediante el atributo
name. El valor asociado al atributo name debe
coincidir con el valor del subelemento TemplateTagName de un
elemento TemplateDocument que esté definido en el archivo de
definición de plantilla.
Cada elemento TemplateTag contiene una lista de definiciones
de código en el subelemento Tag. El elemento Tag puede contener los cinco atributos siguientes:
- XPath: La vía de acceso del elemento XML, relativa al
StartElement indicado en TemplateDocument. El
elemento XPath es la clave para buscar el nombre de campo de
la pareja nombre/valor. Los siguientes son ejemplos de XPath:
- E1/E2: El elemento E2, que está anidado en el elemento E1. El siguiente es un ejemplo
de este tipo de vía de acceso:
XPath='Address/ZipCode'
E1/E2/E3: El elemento E3, que está anidado en el elemento E2, el cual a su vez está
anidado en el elemento E1. El siguiente es un ejemplo
de este tipo de vía de acceso:
XPath='ContactInfo/Address/ZipCode'
- E3@a1 : El atributo a1 del elemento E3. El siguiente es un ejemplo
de este tipo de vía de acceso:
XPath='InvoiceInfo@InvoiceType'
En este caso, se puede utilizar el atributo InvoiceType para
indicar a qué tipo de factura, entre los diferentes tipos, se aplica
el mensaje.
- E4[1] : La primera instancia del elemento E4. Pueden haber varias instancias de E4.
Por ejemplo, puede utilizar este formato cuando una dirección tiene varias líneas.
Cada línea de la dirección estará contenida en un elemento Tag diferente.
- E5[@a2="value 2"] : Una instancia del elemento E5, donde el atributo a2 de E5
es igual a "value 2". Por ejemplo, puede utilizar el formato siguiente:
XPath='InvoiceInfo[@InvoiceType="ShippingInvoice"]
E5[@a1="value1"][@a2="value 2"] : La instancia del elemento E5,
donde el atributo a1 de E5 es igual a '"value1", y el atributo a2 de E5
es igual a "value 2".
- XPathType: El tipo de elemento indicado en XPath. Este atributo indica cómo el analizador XML debe procesar el
elemento XML.
Los tipos soportados son:
- PCDATA : El elemento o el atributo del elemento contiene datos de entrada en bruto que se procesarán y devolverán en una pareja nombre/valor.
Este es el valor por omisión de XPathType.
- EMPTY: El elemento está vacío o contiene datos que se pueden ignorar.
Para este elemento no se devuelve ninguna pareja de nombre/valor.
- REPEAT : El elemento puede tener varias instancias. Se devuelve el PCDATA de cada elemento en una pareja de nombre/valor.
- ATTRIBUTE: Si el nombre de campo del elemento se
determina mediante el valor de un atributo, el tipo de este atributo debe
ser ATTRIBUTE.
- VECTOR: Se añadirá una nueva tabla de totales de
control al Vector, y todas las parejas de nombre/valor generadas para los
subelementos se pondrán en la nueva tabla de totales de control.
- USERDATA: Indica un elemento definido por el usuario. El elemento tiene un atributo llamado name cuyo valor es el nombre de campo.
Los datos del elemento se devuelven en una pareja de nombre/valor.
- Field: El nombre de campo de la pareja nombre/valor que se pondrá en TypedProperty. Debe coincidir con el nombre de un parámetro utilizado por el mandato al que se llama.
- FieldType: El tipo del campo de datos. El tipo de campo puede ser String
o Date (Formato de fecha ISO 8601). String es el valor por omisión.
- FieldInfo: Indica en qué TypedProperty se debe colocar
la pareja de nombre/valor. Data es el valor por omisión. Si desea colocar la pareja
nombre/valor en varios TypedProperty, debe especificar más de
uno de los valores que se listan a continuación, separados por una coma:
- Data: La pareja nombre/valor se pondrá en un objeto commandProperty que contiene argumentos para el mandato.
- Control: La pareja nombre/valor se pondrá en un
messageProperty que contiene información de control sobre el
mandato como, por ejemplo, USERID o PASSWORD
- Command: La pareja nombre/valor se utiliza para determinar a qué mandato se debe llamar.
Las parejas nombre/valor generadas se utilizan en el elemento
CommandMapping del elemento TemplateDocument.
Si no se encuentra el elemento XPath en la plantilla de códigos, se
utilizará el elemento XPath del mensaje XML como el nombre de campo, y el
elemento XPathType será PCDATA, lo que generará una pareja de nombre/valor
utilizando XPath como el nombre de campo.
Para ver un ejemplo de cómo se utiliza el elemento
TemplateTag, consulte el archivo
sys_template.xml.