Publicación y carga de Servigistics InService > Información adicional > Personalización de TAL > Actualización del proceso de transformación por defecto
  
Actualización del proceso de transformación por defecto
Servigistics InService proporciona hojas de estilo de transformación en las que se incluye una hoja de estilo de personalización por defecto. Se recomienda utilizar la hoja de estilo de personalización para modificar las definiciones o el proceso existentes. Siga estas directrices para actualizar la personalización de la hoja de estilo.
En la hoja de estilo de transformación de cada tipo de datos se incluye un fragmento de hoja de estilo denominado customizations.xsl. A continuación se muestra la parte de la hoja de estilo en la que se indica cómo la hoja de estilo de personalización se integra en la hoja de estilo de transformación:
<?xml version="1.0"?>
<!--
Stylesheet to perform OOTB transformation on a source xml
-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:stl="http://www.enigma.com/Styling" xmlns:tmpl="http://www.ptc.com/2014/Template-Document"
extension-element-prefixes="stl" version="1.0">
<xsl:output indent="yes" method="xml" />
<!--
Customization specific code will go in the stylesheet included below.
-->
<xsl:include href="customizations.xsl"/>
...
</xsl:stylesheet>
* 
No se deben realizar cambios en la hoja de estilo de transformación normal, ya que este fichero se sobrescribe siempre que se produzca una actualización incremental.
Por defecto, customizations.xsl es una hoja de estilo vacía. En la bifurcación de personalización se debería utilizar una versión personalizada de la hoja de estilo y la construcción de prioridad XSLT para reemplazar o complementar la transformación. Si se realiza una personalización y se necesita modificar el formato de salida, se deberán actualizar los ficheros dependientes. Por ejemplo, si cambia la salida de transformación de artículos, se debe modificar también la plantilla específica del artículo de modo que ambas estén sincronizadas.
XSLT tiene una noción de prioridades, por lo que cualquier elemento que coincida con una plantilla existente se puede reemplazar al proporcionar una expresión equivalente con mayor prioridad. Por ejemplo, si simplemente desea personalizar el procesamiento de este código XSL existente:
<xsl:template match="Metadata">
Para reemplazarlo, se añadiría una plantilla como, por ejemplo, la siguiente:
<xsl:template match="Metadata" priority="2">
En la hoja de estilo personalizada, customizations.xsl se puede organizar en módulos y es posible extraer cualquier número de fragmentos de hoja de estilo XSLT adicionales. En este caso, customizations.xsl podría, simplemente, ser un número de sentencias xsl:include adicionales. Para estas inclusiones, el resultado después de que el motor de XSLT haya procesado los ficheros es la coincidencia de la plantilla con el mayor valor de prioridad que activa la transformación. Todas las demás coincidencias del mismo contenido se desestiman.
De esta manera, se puede reemplazar efectivamente todo el procesamiento existente, a partir de la raíz del documento, o simplemente realizar un procesamiento específico, como por ejemplo, modificar una asignación de pares de propiedad y valor.
Otra convención de personalización adicional de la hoja de estilo de transformación es añadir determinados valores Property/@token en cadenas separadas por comas almacenadas en las variables XSLT para soportar la funcionalidad de participación o no participación, tal como la selección de qué atributos simplificados propagar.