Aggiornamento del processo di trasformazione di default
In Servigistics InService sono disponibili fogli di stile della trasformazione e che includono un foglio di stile di personalizzazione di default. Si consiglia di utilizzare il foglio di stile di personalizzazione per modificare il processo o le definizioni esistenti. Per aggiornare il foglio di stile di personalizzazione, attenersi alle linee guida indicate di seguito.
Ciascun foglio di stile della trasformazione del tipo di dati include un frammento del foglio di stile denominato customizations.xsl. Di seguito viene riportata la parte del foglio di stile nella quale viene mostrato in che modo il foglio di stile di personalizzazione viene incorporato nel foglio di stile della trasformazione.
<?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>
|
Non apportare modifiche al foglio di stile normale della trasformazione in quanto questo file viene sovrascritto ogni volta che viene installato un aggiornamento incrementale.
|
Per default, customizations.xsl è un foglio di stile vuoto. Il ramo della personalizzazione deve utilizzare una versione personalizzata del foglio di stile e il costrutto di priorità XSLT per sovrascrivere o completare la trasformazione. Se viene effettuata una personalizzazione e il formato di output necessita di modifiche, è necessario che i file dipendenti vengano aggiornati. Ad esempio, se viene modificato l'output di trasformazione delle parti, anche il modello specifico della parte deve essere modificato in modo che entrambi siano sincronizzati.
L'XSLT ha una concetto delle priorità per cui tutto ciò che non trova corrispondenza con un modello esistente può essere semplicemente sovrascritto fornendo un'espressione di corrispondenza equivalente con priorità maggiore. Si supponga, ad esempio, di voler solo personalizzare la gestione del codice XSL esistente indicato di seguito.
<xsl:template match="Metadata">
Per sovrascriverlo, è necessario aggiungere un modello analogo a quello riportato di seguito.
<xsl:template match="Metadata" priority="2">
Nel foglio di stile personalizzato è possibile modularizzare il file customizations.xsl e includere un qualsiasi numero di frammenti del foglio di stile XSLT aggiuntivi. In questo caso, il file customizations.xsl potrebbe semplicemente essere una serie di istruzioni xsl:include aggiuntive. In seguito a queste inclusioni, il risultato dell'elaborazione dei file da parte del motore XSLT è la corrispondenza del modello con il valore di priorità più elevato, ovvero la corrispondenza che attiva la trasformazione mentre tutte le altre corrispondenze per lo stesso contenuto vengono ignorate.
In questo modo, è possibile sostituire efficacemente qualsiasi elemento nell'elaborazione esistente, a partire dalla radice del documento, oppure gestire semplicemente alcuni aspetti in modo selettivo come, ad esempio, modificare una mappatura della coppia proprietà-valore.
Un'altra convenzione di personalizzazione nel foglio di stile della trasformazione prevede l'aggiunta di determinati valori Property/@token in stringhe separate da virgole memorizzate in variabili XSLT per il supporto di funzionalità di consenso esplicito o di rifiuto esplicito, come la selezione degli attributi soft da propagare.