Zusammenführen von Mitarbeiterlisten
Übung 7
Schreiben Sie eine XSLT-Transformation, mit welcher alle Mitarbeiter-Daten im XML-Format aus dem Input-Ordner (Flexus.xml, MatrixArchitecturalService.xml, MaxiTech.xml, Naugles.xml und Stratapro.xml) zusammengefasst werden. Die Personen sind bereits alphabetisch in jedem Firmenverzeichnis sortiert. Wenden Sie die Transformation auf die XSLT-Datei an.
In der Output-Datei sollen alle Mitarbeiter-Daten aller Firmen alphabetisch sortiert mit Vor-, Nachname und Firmenangabe enthalten sein.
Code-Beispiel: Output-Vorgabe zu Übung 7 (Auszug).
<Personenliste>
...
<Person Firma="Matrix Architectural Service">
<Vorname>Stefanie</Vorname>
<Nachname>Aachen</Nachname>
</Person>
<Person Firma="Maxi-Tech">
<Vorname>Kristin</Vorname>
<Nachname>Abendroth</Nachname>
</Person>
...
</Personenliste>
Ausschnitt der zusammengeführten Mitarbeiterliste des Transformationsergebnises.
Verwenden Sie das Transformationsszenario [Übung 7] xsl:merge - Zusammenführen von Mitarbeiterlisten (n XML >> 1 XML) (siehe die Erläuterungen zu den Übungen) und die folgende XSLT-Datei:
Code-Beispiel: Stylesheet zu Übung 7: Zusammenführen von Mitarbeiterlisten.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xs" version="3.0">
<!-- Alle XML-Dateien aus Ordner auslesen: uri-collection('../in?select=*.xml')
Output-Vorlage:
<Personenliste>
<Person Firma="Maxi-Tech">
<Vorname>Stefanie</Vorname>
<Nachname>Aachen</Nachname>
</Person>
</Personenliste>
-->
<xsl:output indent="yes" />
<xsl:strip-space elements="*" />
<xsl:mode streamable="yes" on-no-match="shallow-copy" />
</xsl:stylesheet>
Tipp
Alle XML-Dateien eines Ordners auslesen
Mit Hilfe der Funktion uri-collection('../in?select=*.xml') können alle XML-Dateien im Input-Ordner ausgelesen werden.
Erweiterung
Bringen Sie in einer der Input-Dateien die Reihenfolge durcheinander und führen Sie die Transformation erneut aus.
Was passiert? Warum? Wie lässt sich das beheben?
Lösung
Das vollständige Output-XML und das Lösungsstylesheet finden Sie unter Lösungen zu Übung 7: Zusammenführen von Mitarbeiterlisten.
<< zurück | vor >> |
Tipp der data2type-Redaktion: Zum Thema XSLT bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an: |