XML Dokument kopieren und ergänzen
Andreas
- xsl
Hallo,
Ich hab folgendes Problem. Gegeben sei folgendes XML Dokument :
<?xml version="1.0" encoding="UTF-8"?>
<mb-datenbank>
<abteilung>
<name>
IT-Abteilung
</name>
<angehoerige>
<mitarbeiter>
<nachname>Meier</nachname>
<telefon>3421</telefon>
</mitarbeiter>
<mitarbeiter>
<nachname>Müller</nachname>
<telefon>5564</telefon>
</mitarbeiter>
<mitarbeiter>
<nachname>Hinkelstein</nachname>
<telefon>3456</telefon>
</mitarbeiter>
</angehoerige>
</abteilung>
</mb-datenbank>
Jetzt möchte ich diese XML Datei kopieren und mit neuen Attributen anreichern z.B. soll im neuen XML Dokument jeder Mitarbeiter-Elementknoten noch ein entsprechendes Alter haben
....
<mitarbeiter alter="20">
<nachname>Meier</nachname>
<telefon>3421</telefon>....
Wie kann ich denn mittels XSL ein XML Dokument kopieren ( also inklusive den ganzen Tags) ?
Ich kann bisher nur Text-bzw. Attribute kopieren; aber die Tags verschwinden.
Vielen Dank im voraus !
Hallo,
Wie kann ich denn mittels XSL ein XML Dokument kopieren ( also inklusive den ganzen Tags) ?
Ich kann bisher nur Text-bzw. Attribute kopieren; aber die Tags verschwinden.
Probiere es so:
<?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"/>
<xsl:template match="*">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="mitarbeiter">
<xsl:copy>
<xsl:attribute name="alter"></xsl:attribute>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Die mitarbeiter-Elemente besitzen danach ein leeres alter-Attribut, welches noch mit einem konkreten Wert zu belegen waere:
<mitarbeiter alter="">...</mitarbeiter>
MfG, Thomas