ThomasM: Mit XSL XML Attribute ändern

Beitrag lesen

Hallo joh.w,

ich suche schon über einen Tag danach ein vorhandenes XML-file mit XSL so zu bearbeiten, dass bestimmte Inhalte von Attributen ersetzt werden. So schwierig kann der XSL Code dazu ja nicht sein. Aber wie geht das?

Quelle:
<root>
<Element attr="Anytext"/>
</root>

Das soll das Ziel sein:
<root>
<Element attr="Sometext"/>
</root>

Hier bietet sich eine so genannte Identitäts-Transformation an, welche alle Inhalte in eine neue XML-Struktur umformt, ggf. unter Berücksichtigung spezieller Änderungen (hier im zweiten Template enthalten):

<?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"/>  
  
<xsl:template match="@* | node()">  
  <xsl:copy>  
    <xsl:apply-templates select="@* | node()"/>  
  </xsl:copy>  
</xsl:template>  
  
<xsl:template match="root[Element/@attr='Anytext']">  
  <root>  
    <Element attr="Sometext"/>  
  </root>  
</xsl:template>  
  
</xsl:stylesheet>

Grüße,
Thomas