Je souhaite copier la majeure partie du code XML en l'état, à l'exception de quelques noeuds qui dépendent de la société qui sera transmise à la feuille de style. Si j'utilise un modèle d'identité et que je veux seulement que quelque chose se produise si une variable globale est égale à une valeur spécifique, comment puis-je y arriver puisque vous ne pouvez pas mettre une vérification dans la correspondance entre [] ... au moins dans 1.0? Donc, dans l'exemple ci-dessous, je veux seulement échanger le nom de la société lorsque la variable est égale à une certaine valeur comme 'DEF Company'. La variable 'company' ne fera pas partie du XML.Modèles conditionnels basés sur la variable globale
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
<!-- Dummy example variable -->
<xsl:variable name="company"><xsl:text>DEF Company</xsl:text></xsl:variable>
<xsl:template match="node() | @*">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="Company">
<xsl:copy>
<xsl:text>ABC Company</xsl:text>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Je souhaite uniquement exécuter le modèle suivant si la variable globale 'company' est égale à 'DEF Company'. De plus, la valeur de la variable globale sera transmise via un convertisseur. '' –
johkar