---
title: "XPath verbessert XML-Berichte"
date: "2012-04-17"
categories: 
  - "xpath"
tags: 
  - "charts"
  - "localization"
  - "stylevision"
  - "xpath"
description: Entdecken Sie, wie Sie GPS-XML-Berichte mithilfe von XPath in Altova StyleVision optimieren können. Lernen Sie, Werte zu berechnen, Datumsangaben zu formatieren und Diagramme effektiv anzupassen.
---
Status: #blog

Tags:  #charts #localization #stylevision #xpath

Categories: [xpath+xquery](/blog/de/category/xpathxquery.md)
# XPath verbessert XML-Berichte

In unserem vorherigen Beitrag zum Thema "[Erstellung eleganter Berichte für GPS-XML-Daten](https://www.altova.com/blog/2012/04/creating-elegant-reports-for-gps-xml.html)" haben wir einen XPath-Ausdruck verwendet, um Knoten aus einem XML-Dokument für ein Höhenliniendiagramm auszuwählen. Sie können XPath auch zur Berechnung von Werten verwenden. [Altova StyleVision](https://www.altova.com/de/stylevision.html) bietet umfassende Unterstützung für XPath, und wir können XPath-Ausdrücke verwenden, um interessante Informationen zu unseren GPS-XML-Berichten hinzuzufügen. Beispielsweise können wir die vom GPS-Gerät in Metern gespeicherten Höhendaten verarbeiten, um ein Diagramm anzuzeigen, das die Höhe in Fuß über dem Meeresspiegel darstellt.

![Altova StyleVision: Liniendiagramm](https://lh5.ggpht.com/-gSbmsmf1ZRY/T6FNDIQzqkI/AAAAAAAAAyg/1u_NWXO1IlM/clip_image001%25255B1%25255D.png?imgmax=800 "Altova StyleVision line chart")

<!--more-->

Die Umrechnungsformel von Metern in Fuß lautet: (Meter x 3,2808399) = Fuß. Diese Berechnung können wir im Dialogfenster "Diagrammkonfiguration" anwenden:

Nun wird das Diagramm anhand der Ergebnisse der Berechnung erstellt, die auf Daten basieren, die aus der Quelldatei abgerufen wurden.

**XPath-Zeitfunktionen**

Möglicherweise haben Sie bemerkt, dass unser Diagramm keine Angabe zur Skalierung der X-Achse enthält. Wir haben die Markierungen und Werte auf der X-Achse absichtlich weggelassen, da GPS-Geräte Standortdaten alle paar Sekunden speichern. Die Datei für die Eisklettertour enthält mehr als 1.800 Höhenpunkte, und die schiere Datenmenge führte zu einer Reihe von Markierungen, die zu einer durchgehenden Linie verschmolzen! Außerdem gab es nicht genügend Platz für die Beschriftungen der Werte.

Aber wäre es nicht interessant zu wissen, wie lange die Wanderung gedauert hat? Wir können diese Information in unseren Bericht einfügen, indem wir die Funktion "Automatische Berechnung" von StyleVision nutzen. Der untenstehende Ausschnitt zeigt drei Elemente zur automatischen Berechnung, die über das Menü "Einfügen / Automatische Berechnung / Wert" in den Bericht eingefügt und mit beschreibendem Text ergänzt wurden.

![StyleVision AutoCalc-Elemente](https://lh5.ggpht.com/-uXZIbSXcnbw/T41tCgrdCqI/AAAAAAAAAys/4EJATOgpRFI/clip_image003%25255B1%25255D.png?imgmax=800 "StyleVision AutoCalc elements")

Durch einen Rechtsklick auf ein beliebiges Element zur automatischen Berechnung öffnet sich ein Menü, das Zugriff auf den Dialog zur Bearbeitung von XPath-Ausdrücken bietet, der im Folgenden in verkleinerter Darstellung gezeigt wird. Sie können einen XPath-Ausdruck direkt in das Fenster eingeben oder ihn erstellen, indem Sie Elemente, Operatoren und Funktionen aus den entsprechenden Listen auswählen.

Um die verstrichene Zeit für die Reise zu berechnen, können wir die XPath-Funktionen `time` und `min(anyAtomicType)` zusammen mit XPath-Ausdrücken für die... verwenden `time` Für jeden Messpunkt werden die frühesten und spätesten Zeitpunkte innerhalb der Messreihe ermittelt. Durch Subtraktion des frühesten Zeitpunkts vom spätesten Zeitpunkt lässt sich die verstrichene Zeit berechnen.

![StyleVision: Dialog zur Bearbeitung von XPath-Ausdrücken](https://lh4.ggpht.com/-6far6GBn_X0/T41tDmS8KpI/AAAAAAAAAyw/y3OtXvCrqRc/clip_image004%25255B1%25255D.png?imgmax=800 "StyleVision XPath edit dialog")

Eine weitere Option im Kontextmenü "Automatische Berechnung" öffnet den Dialog "Wertformatierung", der einen schnellen Zugriff auf verschiedene Formate bietet, die für den Datentyp des Berechnungsergebnisses geeignet sind.

![Dialogfenster "Formatierung" für "StyleVision", zur Formatierung von Ergebnissen in AutoCalc](https://lh6.ggpht.com/-kH8H4z9bW6Q/T41tEVMLc7I/AAAAAAAAAy0/NaG1nrLMQZY/clip_image005%25255B1%25255D.png?imgmax=800 "StyleVision Value Formatting dialog for AutoCalc result")

Wir könnten auch die Funktionen `min()` und `max()` verwenden, um die Abfahrts- und Ankunftszeiten auszuwählen, aber die vom GPS-Gerät gespeicherten Daten liegen in GMT-Zeit, während diese Wanderung in der Eastern Standard Time in den Vereinigten Staaten stattfand, wo die lokale Zeit fünf Stunden früher ist.

Glücklicherweise bietet XPath eine spezielle Funktion namens `adjust-dateTime-to-timezone()`, mit der ein Datumswert an eine andere Zeitzone angepasst werden kann. Hier ist der Ausdruck, den wir verwendet haben, um die Abfahrtszeit anzupassen:

**`adjust-dateTime-to-timezone(minimum( $XML/n1:gpx/n1:trk/n1:trkseg/n1:trkpt/n1:time ), xs:dayTimeDuration('-PT5H') )`**

Bitte beachten Sie, dass wir die Anpassungsdauer als Text (String) eingeben müssen und sie explizit als Datentyp "dayTimeDuration" angeben müssen.

Wir können den Dialog zur Wertformatierung verwenden, um die Abfahrts- und Ankunftszeiten in einem vertrauten Format darzustellen:

![Formatierung von Datums- und Zeitwerten](https://lh5.ggpht.com/-iRof_1PEOr0/T41tFgbR_oI/AAAAAAAAAy4/0x1-QSpyFIE/clip_image006%25255B1%25255D.png?imgmax=800 "Value Formatting a dateTime result")

Wir haben eine weitere Verbesserung für unseren GPS-XML-Bericht mithilfe von XPath vorgenommen. In unserem [vorherigen Beitrag](https://www.altova.com/blog/2012/04/creating-elegant-reports-for-gps-xml.html) haben wir eine Technik beschrieben, bei der ein StyleVision-Projekt und standardisierte Dateinamen verwendet werden, um Berichte für mehrere Datendateien zu erstellen, ohne die SPS-Datei zu ändern. Sie können auch die Utility "StyleVisionBatch" oder sogar die StyleVision-API verwenden, um die Verarbeitung über SPS-Stylesheets zu automatisieren und Berichte in verschiedenen Formaten zu erstellen.

**Dateinamens für Diagramme**

Wenn wir HTML-Ausgaben erstellen und speichern, ist der Hauptbericht ein HTML-Dokument, und die Diagramme sind separate Bilddateien. Wir können den Dateinamen für die Diagramme im Dialogfenster "Diagrammeinstellungen" festlegen, aber wenn wir mehrere HTML-Berichte im selben Ordner auf einem Server speichern möchten, benötigen wir unterschiedliche Dateinamen für jedes Diagramm. Andernfalls verwendet jedes neue Diagramm den Standardnamen und überschreibt die vorherige Version.

![Dialog zur Eingabe des Dateinamens für Diagramme im StyleVision-Format](https://lh6.ggpht.com/-AgmhHehVq4Q/T41tGeEH85I/AAAAAAAAAy8/58M0UkyBBgs/clip_image007%25255B1%25255D.png?imgmax=800 "StyleVision chart file name dialog")

Die Option "Benutzerdefinierter Dateiname" ermöglicht es uns, mithilfe eines XPath-Ausdrucks einen anderen Bilddateinamen anzugeben. Eine einfache Lösung könnte darin bestehen, eine Zufallszahl zu generieren, diese in einen String umzuwandeln und den String in den Dateinamen einzufügen.

Aber das können wir nicht, weil XPath keine Funktion namens "random()" enthält.

Stattdessen können wir eine pseudo-zufällige Zeichenkette generieren, indem wir zwei zusätzliche XPath-Zeitfunktionen kombinieren. Die Funktion `seconds-from-time()` gibt Sekunden und Millisekunden aus jedem Wert zurück, und die Funktion `current-time()` gibt die aktuelle Systemzeit in Stunden, Minuten, Sekunden und Millisekunden zurück.

Wir können den Wert "Sekunden seit der aktuellen Zeit" (current-time()) in einen XPath-Ausdruck im Dialog für die Einstellungen der Bilddatei einfügen, um einen Dateinamen basierend auf der genauen Sekunde und Millisekunde zu generieren, zu dem das HTML-Ergebnis erstellt wird. Der vollständige XPath-Ausdruck zur Generierung des Dateinamens sieht wie folgt aus:

![Benutzerdefinierter Dateiname für Diagramme, basierend auf einem XPath-Ausdruck](https://lh3.ggpht.com/-eKYGKDgTE3Y/T41tG5rSf_I/AAAAAAAAAzA/mfzA2xHPfCs/clip_image008%25255B1%25255D.png?imgmax=800 "Custom chart file name based on an XPath expression")

Wenn wir die generierte HTML-Ausgabe speichern, zeigt StyleVision alle zusätzlichen Dateien an, die zusammen mit dem Hauptdokument erstellt wurden

![Ein pseudo-zufälliger Dateiname wird basierend auf einem XPath-Ausdruck generiert](https://lh5.ggpht.com/-lFtknXRCRx0/T41tHYy-d4I/AAAAAAAAAzE/rXLms4KlLFE/clip_image009%25255B1%25255D.png?imgmax=800 "Pseudo-random file name generated based on XPath expression")

**Dateinamens für Karten der Routen**

Wenn wir mehrere HTML-Seiten für Reiseberichte erstellen, benötigen wir auch für jede Reise ein anderes Bild einer Routenkarte. XPath kann auch bei dieser Aufgabe helfen. Wir haben die Karte zunächst mit einer spezifischen Dateinamen-URL eingefügt, aber stattdessen können wir einen Bilddateinamen als Parameter definieren, der beim Verarbeiten des Stylesheets angegeben wird.

Die Menüoption "Bearbeiten / Stylesheet-Parameter" öffnet den Dialog "Parameter bearbeiten", der einen zentralen Zugriff auf alle Parameter des Stylesheets ermöglicht. Im folgenden Screenshot haben wir einen Parameter namens "routeMapFile" hinzugefügt und seinen Standardwert definiert.

![Fenster zur Bearbeitung der Stilvorlagen-Parameter](https://lh4.ggpht.com/-RNgIJCRUynk/T41tJ9qjtbI/AAAAAAAAAzI/xRMtQEP7KUs/clip_image010%25255B1%25255D.png?imgmax=800 "StyleVision Edit Parameters window")

Jetzt können wir den Parameter verwenden, um die Datei für die Routenkonfiguration zuzuweisen. Der Dialog "Bild bearbeiten" bietet vier Optionen, um den Speicherort eines Bildes festzulegen. Im folgenden Screenshot haben wir die Registerkarten "Statisch" und "Dynamisch" für einen bestimmten Ordnerpfad und einen dynamischen Dateinamen ausgewählt.

![Einen Parameter einem Bilddateinamen zuweisen](https://lh4.ggpht.com/-Fpvq94Ozbhw/T41tKTSpdvI/AAAAAAAAAzM/4niINvq5I7U/clip_image011%25255B1%25255D.png?imgmax=800 "Assigning a parameter to an image file name")

Wir können einen neuen Wert für den Parameter "routeMapFile" angeben, wenn wir einen Bericht in einem beliebigen Ausgabeformat erstellen. Wenn wir keinen neuen Wert angeben, wird der Standardwert verwendet, der im Dialog "Parameter bearbeiten" definiert ist.

Jetzt können wir eine Befehlszeile erstellen, um StyleVision im Batch-Modus mit einem anderen Routenbild auszuführen:

![Befehlszeile zum Ausführen von StyleVision im Batch-Modus mit einem Parameter](https://lh6.ggpht.com/-9pYl5bC12Bs/T41tLKn4VnI/AAAAAAAAAzQ/ByarXQ-ZdcE/clip_image012%25255B1%25255D.png?imgmax=800 "Command line to execute StyleVision in batch mode with a parameter")

Wir könnten auch einen Parameter verwenden, um die Hintergrundfarbe des Diagramms festzulegen. Eine weitere Befehlszeilenoption ermöglicht sogar die Auswahl einer neuen XML-Eingabedatei, die die in der Stylesheet-Datei definierte XML-Datei ersetzt. Parameter und Befehlszeilenoptionen machen StyleVisionBatch zu einer hervorragenden Möglichkeit, dasselbe Stylesheet zu verwenden, um Berichte für viele verschiedene Datensätze zu erstellen.

Hier ist die HTML-Vorschau der Daten zur Eisklettertour, wobei alle unsere XPath-Erweiterungen angewendet wurden:

![HTML-Vorschau des Berichts mit XPath-Erweiterungen](https://lh5.ggpht.com/--MSr3CqE-Uo/T41tLuthPCI/AAAAAAAAAzU/RyC_Ff9hN6M/clip_image014%25255B1%25255D.jpg?imgmax=800 "HTML preview of the report with XPath enhancements")

Um eigene Berichte auf Basis von GPS-XML-Dateien zu erstellen oder um auf elegante Weise andere XML-Berichte, elektronische Formulare oder Anforderungen an die Veröffentlichung über verschiedene Kanäle zu erfüllen, [klicken Sie hier für eine kostenlose Testversion von Altova StyleVision](https://www.altova.com/de/download/stylevision/db_xslt_stylesheet_designer_enterprise.html).
