[XSLT] Bearbeiten und kopieren

Scheuch

Lieutenant
Registriert
Jan. 2004
Beiträge
588
Hallo zusammen,

ich habe bspw. folgende XML-Datei:

Code:
<root>
	<a>
		<aa>...</aa>
		<ab>...</ab>
	</a>
	<b>
		<ba>
			<baa>123</baa>
			<bab>456</bab>
		</ba>
		<bb>...</bb>
	</b>
	<c>
		<ca>...</ca>
	</c>
</root>

Mein Ziel ist es nun, mittels XSLT baa und bab auszulesen, eine Rechnung durchzuführen und diese dann in eine neue XML-Datei zuschreiben - so weit so gut. Nun soll aber die neue Datei genauso aussehen wie die alte, nur mit den neu berechneten Werten in den Elementen baa und bab.

Hinweis:die eigentliche XML-Datei, welche ich bearbeiten muss, enthält viel mehr Elemente, welche ich nicht alle in das XSLT packen kann. Ich habe mir schon xsl:copy-of angesehen, erreiche damit aber (bislang) keine brauchbare Lösung.

Hat jemand einen Tipp?
 
Versuch's mal mit
Code:
<?xml version="1.0" encoding="UTF-8" ?>

<xsl:stylesheet standalone="yes" version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:template match="*">
    <xsl:element name="{name()}">
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates/>
    </xsl:element>
  </xsl:template>

  <xsl:template match="baa">
    <xsl:element name="{name()}">
      <xsl:text>Hier wäre ein guter Platz für ein Ergebnis</xsl:text>
    </xsl:element>
  </xsl:template>

  <xsl:template match="bab">
    <xsl:element name="{name()}">
      <xsl:text>Der Platz ist auch nicht schlecht</xsl:text>
    </xsl:element>
  </xsl:template>

</xsl:stylesheet>

greetings, Keita
 
<xsl:element name="{name()}"> ... das ist es gewesen was ich vergessen hatte ... argh!

Vielen Dank für deine Hilfe :)
 
Zurück
Oben