ThomasM: XSLT 1.0 Kompletten Inhalt aus XML löschen

Beitrag lesen

Hallo Julian,

wenn für diesen Fall der gesamte Totals-Knoten entfernt werden soll, dann reicht:

<?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" standalone="yes"/>

  <xsl:template match="@* | node()">
    <xsl:copy>
      <xsl:apply-templates select="@* | node()"/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="Totals[InvoiceTotal[. * 1 = 0]]"/>

</xsl:stylesheet>

Und zu der anderen Frage: das standalone="yes" drückt nur aus, dass das Dokument keine weiteren Abhängigkeiten hat.

omit-xml-declaration="yes" entfernt die XML-Deklaration in der Ausgabe. Ist hier aber offenbar nicht gewollt und würde wiederum mit standalone="yes" einen Konflikt ergeben.

Den Zusatz "* 1" braucht es eigentlich auch nicht, außer der Elementinhalt wäre als xs:string deklariert.

Grüße,
Thomas