Kategorie-XML-Export mit Transformation

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

Wie Sie die Daten aus Access-Tabellen mithilfe von Abfragen in die gewünschten Form bringen, wissen Sie bereits. Dazu eignen sich beispielsweise Auswahl- oder Kreuztabellenabfragen. Sie können aber auch die Inhalte von XML-Dokumenten ganz nach Ihren Wünschen strukturieren. Alles, was Sie benötigen, ist eine passende Transformation. Die notwendigen Informationen landen in einer XSL-Datei und beschreiben, wie die Daten des XML-Dokuments ausgegeben werden sollen.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1903_KategorieXMLExportMitTransformation.zip.

Einstiegsbeispiel

Im Artikel XML: Austausch mit Access-Bordmitteln haben wir einen Export in eine XML-Datei definiert, der die Daten der Tabellen tblKategorien und tblArtikel enthält. Das resultierende XML-Dokument enthält Elemente namens tblKategorien, die in Unterelementen die Feldinhalte der Felder dieser Tabelle enthalten sowie weitere Unterelemente namens tblArtikel, welche die Artikel der jeweiligen Kategorie inklusive aller Feldwerte auflistet. Das Ergebnis sieht in stark gekürzter Form etwa wie folgt aus:

<xml version="1.0" encoding="UTF-8">
<dataroot ...>
  <tblKategorien>
    <KategorieID>1</KategorieID>
    <Kategoriename>Getränke</Kategoriename>
    <Beschreibung>Alkoholfreie Ge ...</Beschreibung>
    <Abbildung>FRwvAAIAAAANAA4AFAAhAPAgS...</Abbildung>
    <tblArtikel>
      <ArtikelID>1</ArtikelID>
      <Artikelname>Chai</Artikelname>
      ...
    </tblArtikel>
    <tblArtikel>
      ...
    </tblArtikel>
    ...
  </tblKategorien>
  <tblKategorien>
    ...
  </tblKategorien>
</dataroot>

Wir möchten hier durch die Angabe einer XSL-Datei einige Änderungen an der Ausgabe erwirken. So soll etwa das Wurzelelement nicht dataroot heißen, sondern Bestellverwaltung. Die Elemente tblKategorien und tblArtikel sollen Kategorie und Artikel heißen. Außerdem soll der jeweilige Primärschlüsselwert nicht in einem eigenen Element namens KategorieID beziehungsweise ArtikelID landen, sondern in einem Attribut namens ID im jeweils übergeordneten Element Kategorie beziehungsweise Artikel. Außerdem wollen wir der Übersicht halber nur die Felder Kategoriename und Beschreibung der Tabelle tblKategorien sowie das Feld Artikelname der Tabelle tblArtikel als eigene Elemente in das XML-Dokument aufnehmen. Außerdem, das ist uns als Mensch im Gegensatz zur Maschine besonders wichtig, sollen die Elemente entsprechend der Hierarchie eingerückt dargestellt werden.

Das Ergebnis soll also etwa wie folgt aussehen:

<xml version="1.0" encoding="UTF-16">
<Bestellverwaltung ...>
  <Kategorie ID="1">
    <Kategoriename>Getränke</Kategoriename>
    <Beschreibung>Alkoholfreie Getränke, Kaffee, Tee, Bier</Beschreibung>
    <Artikel ID="1">
      <Artikelname>Chai</Artikelname>
    </Artikel>
    <Artikel ID="2">
      <Artikelname>Chang</Artikelname>
    </Artikel>
    ...
  </Kategorie>
  <Kategorie ID="2">
    ...
  </Kategorie>
  ...
</Bestellverwaltung>

Selektieren und Formatieren per XSL-Datei

Die XSL-Datei, die wir verwenden, sieht in der Übersicht wie in Listing 1 aus. Wir werden diese nun analysieren.

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

Testzugang

eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar