Hallo Julian,
wenn für diesen Fall der gesamte Totals-Knoten entfernt werden soll In meinem Fall muss ALLES sprich der komplette Inhalt entfernt werden, nicht nur der Knoten totals. -> Sprich, wenn der Betrag unter InvoiceTotal 0.000 ist, sollte im besten Fall gar kein XML erzeugt werden und falls doch soll kein Inhalt erstellt werden.
Ein Ansatz, der im 0-Fall <root/> ausgibt (ginge auch nur mit einem xsl:if und dann bleibt die Ausgabe bis auf die Deklaration leer):
<?xml version="1.0" encoding="UTF-8"?>
<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="yes"/>
<xsl:template match="@* | node()">
<xsl:choose>
<xsl:when test="//Totals/InvoiceTotal != 0">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:when>
<xsl:otherwise>
<root/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
Mit XSLT 2.0/3.0 ließe sich xsl:result-document bemühen und ggf. gar keine Ausgabe erzeugen.
Grüße,
Thomas