ThomasM: Einzelne Daten aus XML Katalog in eigene XML Datei extrahieren

Beitrag lesen

Hallo Wende,

Das sieht mir zwar nach ziemlich viel arbeit aus, aber ich glaub, so komm ich weiter. Ich werds mal mit Altova probieren.

Der Gesamtaufwand richtet sich natürlich nach der Komplexität des XML-Dokuments, aber die eigentliche Ausgabe der erzeugten Dokumente mittels xsl:result-document ist relativ einfach zu realisieren. Hier mal ein Prinzipbeispiel:

XML-Datenbasis:

<?xml version="1.0" encoding="UTF-8"?>  
<daten_eingabe>  
  <daten>Text 1</daten>  
  <daten>Text 2</daten>  
  <daten>Text 3</daten>  
  <daten>Text 4</daten>  
  <daten>Text 5</daten>  
</daten_eingabe>

XSLT-Stylesheet:

<?xml version="1.0" encoding="UTF-8"?>  
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">  
  
  <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" name="xml_ausgabe"/>  
  
  <xsl:template match="daten_eingabe">  
    <xsl:apply-templates/>  
  </xsl:template>  
  
  <xsl:template match="daten">  
    <xsl:result-document format="xml_ausgabe" href="ausgabe{position()}.xml">  
      <daten_ausgabe>  
        <daten>  
          <xsl:value-of select="."/>  
        </daten>  
      </daten_ausgabe>  
    </xsl:result-document>  
  </xsl:template>  
  
</xsl:stylesheet>

Ergebnis in Form von ausgabe1.xml ... ausgabe5.xml in der Form:

<?xml version="1.0" encoding="UTF-8"?>  
<daten_ausgabe>  
 <daten>Text 1</daten>  
</daten_ausgabe>

...

<?xml version="1.0" encoding="UTF-8"?>  
<daten_ausgabe>  
 <daten>Text 5</daten>  
</daten_ausgabe>

Transformation mit AltovaXML 2008:
pfad_zu/altovaxml(.exe) -xslt2 stylesheet.xsl -in dokument.xml

Alternativ mit Saxon 9.0B:
java -jar pfad_zu/saxon9.jar dokument.xml stylesheet.xsl

(Ausgabeparameter -out bzw. -o werden nicht benötigt, da die Ergebnisse direkt in Dateien geschrieben werden.)

Grüße,
Thomas