Die folgenden XPath/XQuery-Erweiterungsfunktionen im Zusammenhang mit Bildern werden in der aktuellen Version von MapForce unterstützt und können in (i) in einem XSLT-Kontext in XPath-Ausdrücken oder (ii) in einem XQuery-Dokument in einem XQuery-Ausdruck verwendet werden.
Altova-Erweiterungsfunktionen können in XPath/XQuery-Ausdrücken verwendet werden. Dadurch stehen neben den Funktionen in der Standardbibliothek der XPath-, XQuery- und XSLT-Funktionen zusätzliche Funktionen zur Verfügung. Die Altova-Erweiterungsfunktionen befinden sich im Altova-Erweiterungsfunktions-Namespace, http://www.altova.com/xslt-extensions und sind in diesem Abschnitt mit dem Präfix altova:, das als an diesen Namespace gebunden angenommen wird, gekennzeichnet. Beachten Sie, dass manche Funktionen in zukünftigen Versionen Ihres Produkts eventuell nicht mehr unterstützt werden oder dass sich das Verhalten einzelner Funktionen ändern kann. Um zu sehen, welche Altova-Erweiterungsfunktionen unterstützt werden, lesen Sie bitte die Dokumentation zur jeweiligen Release.
XPath-Funktionen (in XPath-Ausdrücken in XSLT verwendet):
XP1XP2XP3.1
XSLT-Funktionen (in XPath-Ausdrücken in XSLT verwendet):
XSLT1XSLT2XSLT3
XQuery-Funktionen (in XQuery-Ausdrücken in XQuery verwendet):
altova:suggested-image-file-extension(Base64String als string) als string?XP3.1XQ3.1
Erhält die Base64-Kodierung einer Bilddatei als Argument und gibt die darin enthaltene Dateierweiterung des Bilds zurück. Der Rückgabewert ist ein Vorschlag, basierend auf den in der Kodierung enthaltenen Bilddateitypinformationen. Wenn diese Informationen nicht verfügbar sind, wird ein leerer String zurückgegeben. Diese Funktion ist nützlich, wenn Sie ein Base64-Bild als Datei speichern und die entsprechende Dateierweiterung dynamisch abrufen möchten.
•altova:suggested-image-file-extension(/MyImages/MobilePhone/Image20141130.01) gibt 'jpg' zurück
•altova:suggested-image-file-extension($XML1/Staff/Person/@photo) gibt '' zurück
In den Beispielen oben wird von den als Argument der Funktion bereitgestellten Nodes angenommen, dass sie ein Base64-kodiertes Bild enthalten. Im ersten Beispiel wird jpg als Dateityp bzw. Dateierweiterung abgerufen. Im zweiten Beispiel enthält die angegebene Base54-Kodierung keine brauchbaren Dateierweiterungsinformationen.
altova:image-exif-data(Base64BinaryString als string) als element?XP3.1XQ3.1
Erhält ein Base64-kodiertes JPEG-Bild als Argument und gibt ein Element namens Exif zurück, das die Exif-Metadaten des Bilds enthält. Die Exif-Metadaten werden als Attribut-Wert-Paare des Exif-Elements erstellt. Bei den Attributnamen handelt es sich um die Exif-Daten-Tags aus der Base64-Kodierung. Weiter unten sehen Sie eine Liste der Exif-Tags. Wenn die Exif-Daten einen anbieterspezifischen Tag enthalten, so wird auch dieser Tag und sein Wert als Attribut-Wert-Paar zurückgegeben. Zusätzlich zu den Standard-Exif-Metadatentags (siehe Liste unten) werden auch Altova-spezifische Attribut-Wert-Paare generiert. Diese Altova Exif-Attribute sind unten aufgelistet.
•Um ein einziges Attribut abzurufen, verwenden Sie die Funktion folgendermaßen: image-exif-data(//MyImages/Image20141130.01)/@GPSLatitude image-exif-data(//MyImages/Image20141130.01)/@Geolocation
•Um alle Attribute abzurufen, verwenden Sie die Funktion folgendermaßen: image-exif-data(//MyImages/Image20141130.01)/@*
•Um die Namen aller Attribute abzurufen, verwenden Sie den folgenden Ausdruck: for$i inimage-exif-data(//MyImages/Image20141130.01)/@* returnname($i) Auf diese Art können Sie die Namen der von der Funktion zurückgegebenen Attribute eruieren.
Der Altova XPath/XQuery-Prozessor generiert anhand der Exif-Standard-Metadaten-Tags das benutzerdefinierte Attribut Geolocation. Geolocation ist eine Verkettung von vier Exif-Tags: GPSLatitude, GPSLatitudeRef, GPSLongitude, GPSLongitudeRef mit hinzugefügten Werten (siehe Tabelle unten).
Der Altova XPath/XQuery-Prozessor generiert anhand des Exif-Metadaten-Tags Orientation das benutzerdefinierte Attribut OrientationDegree.
OrientationDegree übersetzt den Standard-Exif-Tag Orientation von einem Ganzzahlwert (1, 8, 3 oder 6) in die entsprechenden Gradwerte dafür (0, 90, 180, 270) (siehe Abbildung unten). Beachten Sie dass es keine Übersetzung der Orientation-Werte 2, 4, 5, 7 gibt. (Diese Ausrichtungen werden durch Spiegelung des Bilds 1 an seiner senkrechten Mittelachse zur Erzeugung des Bilds mit dem Wert 2 und anschließende Drehung dieses Bilds um jeweils 90 Grad zur Erzeugung der Werte 7 bzw. 4 bzw. 5 erzielt).