XPath/XQuery-Funktionen: Bildbezogene

www.altova.com Alle erweitern/reduzieren Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Anhänge > XSLT- und XPath/XQuery-Funktionen > Altova-Erweiterungsfunktionen >

XPath/XQuery-Funktionen: Bildbezogene

Die folgenden XPath/XQuery-Erweiterungsfunktionen im Zusammenhang mit Bildern werden in der aktuellen Version von MobileTogether Designer unterstützt.

 

Anmerkung zur Benennung von Funktionen und zur Anwendbarkeit der Sprache

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.

Um Altova-Erweiterungsfunktionen von Funktionen in der Standardbibliothek zu unterscheiden, wurde Altova-Erweiterungsfunktionen in dieser Dokumentation das Suffix [altova:] angehängt, z.B. add-years-to-date [altova:].
Wenn Sie Altova-Erweiterungsfunktionen jedoch in Ihren XPath/XQuery-Ausdrücken verwenden, müssen Sie die Funktion genau wie jede andere XPath/XQuery-Standardfunktion ohne Präfix oder Suffix verwenden. Verwenden Sie eine Altova-Erweiterungsfunktion folgendermaßen: add-years-to-date(xs:date("2014-01-15"), 10).

 

XPath-Funktionen (in XPath-Ausdrücken in XSLT verwendet):

XP1 XP2 XP3.1

XSLT-Funktionen (in XPath-Ausdrücken in XSLT verwendet):

Xslt1 XSLT2 XSLT3

XQuery-Funktionen (in XQuery-Ausdrücken in XQuery verwendet):

XQ1 XQ3.1

 

 

Click to expand/collapsesuggested-image-file-extension [altova:]

suggested-image-file-extension(Base64String als string) als string?     XP3.1 XQ3.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.

suggested-image-file-extension(/MyImages/MobilePhone/Image20141130.01) gibt 'jpg' zurück
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.

 

 

Click to expand/collapsemt-transform-image [altova:]

mt-transform-image(Base64Image als Base64BinaryString, Size als item()+, Rotation als xs:integer, Quality als xs:integer) als Base64BinaryString     XP3.1 XQ3.1

Erhält ein Base64-kodiertes Bild als erstes Argument und gibt ein transformiertes Base64-kodiertes Bild zurück. Beim zweiten, dritten und vierten Argument handelt es sich um die Bildparameter, die transformiert werden: Größe, Drehung und Qualität.

 

Das Argument Size bietet drei Optionen zur Anpassung der Größe.

(X,Y)

Absolute Pixelwerte. Das Seitenverhältnis wird nicht beibehalten. Die Reihenfolge von Höhe und Breite spielt keine Rolle, da die Höhe und Breite automatisch entsprechend der langen und kurzen Seite des Bilds ausgewählt wird. Der Wert wird als Sequenz von zwei Ganzzahlelementen eingegeben; die Klammern sind erforderlich.

X

Passt die Bildgröße proportional an, wobei X die neue längere Seite in Pixel ist; das Seitenverhältnis wird beibehalten. Der Wert ist eine Ganzzahl und wird ohne Anführungszeichen eingegeben.

'X%'

Passt die Bildgröße im angegebenen Prozentwert zur Originalgröße an. Der Wert muss als String eingegeben und in Anführungszeichen gesetzt werden.

Rotation kann einer der folgenden Werte sein: 90, 180, 270, -90, -180, -270. Dies sind Drehungswerte in Grad eines Kreises. Bei positiven Werten, wird das Bild im Uhrzeigersinn gedreht; bei negativen Werten wird das Bild entgegen dem Uhrzeigersinn gedreht. Beachten Sie, dass Sie die aktuelle Drehung des Bilds in Grad (0, 90, 180, 270) mit Hilfe des Altova-Exif-Attributs OrientationDegree anhand des Bild-Exif-Tags Orientation ermitteln können. Da das Attribut OrientationDegree aus dem Orientation-Tag der Exif-Daten stammt, steht es jedoch nur zur Verfügung, wenn der Tag Orientation in den Exif-Daten vorhanden ist (siehe Beschreibung von OrientationDegree weiter unten).
Quality kann ein beliebiger Wert zwischen 0 und 100 sein und bezieht sich auf Werte auf der IJG Qualitätsskala für die JPEG-Komprimierung; es handelt sich hierbei nicht um einen Prozentwert für die Qualität. Die Kompromisse beziehen sich hier auf Dateigröße und Qualität. Bei einem Quellfarbfoto wird 75 normalerweise als optimaler Wert betrachtet. Wenn das Ergebnis bei 75 nicht zufriedenstellend ist, erhöhen Sie den Wert.

 

Anmerkung: Wenn im Originalbild Exif-Daten vorhanden sind, werden diese bei der Transformation entfernt. Das transformierte Bild enthält keine Exif-Daten mehr.

 

 

mt-transform-image(Images/Image[@id='43'], '50%', 90, 75)
Die Funktion erhält als Input ein Bild, das als Base64-kodierter String im Nachfahren-Node Images/Image, der einen @id Wert 43.hat, gespeichert ist. Die Funktion gibt ein transformiertes Bild zurück. Das transformierte Bild wurde auf 50% der Größe verkleinert, im Uhrzeigersinn um 90 Grad gedreht und mit der Qualitätsstufe 75 gespeichert.
mt-transform-image(Images/Image[@id='43'], 400, 90, 75)
Die Funktion erzeugt dasselbe Ergebnis wie im vorigen Beispiel, mit der Ausnahme, dass für die Länge des Bilds der Wert 400 Pixel definiert wurde; das Seitenverhältnis des Originalbilds wird beibehalten.
mt-transform-image(Images/Image[@id='43'], (400, 280), image-exif-data($XML1/$XML1/Images/ReferenceImage)/@OrientationDegree, 75)
In diesem Beispiel wird dasselbe Bild wie in den vorherigen Beispielen ausgewählt und es wird derselbe Qualitätswert (75) definiert. Als Bildgröße wurde 400x280 Pixel definiert und der Rotation-Wert wird aus dem Attribut @OrientationDegree eines Base64-kodierten Bilds im Node ReferenceImage abgerufen.

 

 

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).

Click to expand/collapse

 

ImageWidth
ImageLength
BitsPerSample
Compression
PhotometricInterpretation
Orientation
SamplesPerPixel
PlanarConfiguration
YCbCrSubSampling
YCbCrPositioning
XResolution
YResolution
ResolutionUnit
StripOffsets
RowsPerStrip
StripByteCounts
JPEGInterchangeFormat
JPEGInterchangeFormatLength
TransferFunction
WhitePoint
PrimaryChromaticities
YCbCrCoefficients
ReferenceBlackWhite
DateTime
ImageDescription
Make
Model
Software
Artist
Copyright

------------------------------

 

ExifVersion
FlashpixVersion
ColorSpace
ComponentsConfiguration
CompressedBitsPerPixel
PixelXDimension
PixelYDimension
MakerNote
UserComment
RelatedSoundFile
DateTimeOriginal
DateTimeDigitized
SubSecTime
SubSecTimeOriginal
SubSecTimeDigitized
ExposureTime
FNumber
ExposureProgram
SpectralSensitivity
ISOSpeedRatings
OECF
ShutterSpeedValue
ApertureValue
BrightnessValue
ExposureBiasValue
MaxApertureValue
SubjectDistance
MeteringMode
LightSource
Flash
FocalLength
SubjectArea
FlashEnergy
SpatialFrequencyResponse
FocalPlaneXResolution
FocalPlaneYResolution
FocalPlaneResolutionUnit
SubjectLocation
ExposureIndex
SensingMethod
FileSource
SceneType
CFAPattern
CustomRendered
ExposureMode
WhiteBalance
DigitalZoomRatio
FocalLengthIn35mmFilm
SceneCaptureType
GainControl
Contrast
Saturation
Sharpness
DeviceSettingDescription
SubjectDistanceRange
ImageUniqueID

------------------------------

 

GPSVersionID
GPSLatitudeRef
GPSLatitude
GPSLongitudeRef
GPSLongitude
GPSAltitudeRef
GPSAltitude
GPSTimeStamp
GPSSatellites
GPSStatus
GPSMeasureMode
GPSDOP
GPSSpeedRef
GPSSpeed
GPSTrackRef
GPSTrack
GPSImgDirectionRef
GPSImgDirection
GPSMapDatum
GPSDestLatitudeRef
GPSDestLatitude
GPSDestLongitudeRef
GPSDestLongitude
GPSDestBearingRef
GPSDestBearing
GPSDestDistanceRef
GPSDestDistance
GPSProcessingMethod
GPSAreaInformation
GPSDateStamp
GPSDifferential

 

 

Click to expand/collapseimage-exif-data [altova:]

image-exif-data(Base64BinaryString als string) als element?     XP3.1 XQ3.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 in image-exif-data(//MyImages/Image20141130.01)/@* return name($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).

 

GPSLatitude

GPSLatitudeRef

GPSLongitude

GPSLongitudeRef

Geolocation

33 51 21.91

S

151 13 11.73

E

33°51'21.91"S 151°13'11.73"E

 

 

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).

Click to expand/collapse

 

ImageWidth
ImageLength
BitsPerSample
Compression
PhotometricInterpretation
Orientation
SamplesPerPixel
PlanarConfiguration
YCbCrSubSampling
YCbCrPositioning
XResolution
YResolution
ResolutionUnit
StripOffsets
RowsPerStrip
StripByteCounts
JPEGInterchangeFormat
JPEGInterchangeFormatLength
TransferFunction
WhitePoint
PrimaryChromaticities
YCbCrCoefficients
ReferenceBlackWhite
DateTime
ImageDescription
Make
Model
Software
Artist
Copyright

------------------------------

 

ExifVersion
FlashpixVersion
ColorSpace
ComponentsConfiguration
CompressedBitsPerPixel
PixelXDimension
PixelYDimension
MakerNote
UserComment
RelatedSoundFile
DateTimeOriginal
DateTimeDigitized
SubSecTime
SubSecTimeOriginal
SubSecTimeDigitized
ExposureTime
FNumber
ExposureProgram
SpectralSensitivity
ISOSpeedRatings
OECF
ShutterSpeedValue
ApertureValue
BrightnessValue
ExposureBiasValue
MaxApertureValue
SubjectDistance
MeteringMode
LightSource
Flash
FocalLength
SubjectArea
FlashEnergy
SpatialFrequencyResponse
FocalPlaneXResolution
FocalPlaneYResolution
FocalPlaneResolutionUnit
SubjectLocation
ExposureIndex
SensingMethod
FileSource
SceneType
CFAPattern
CustomRendered
ExposureMode
WhiteBalance
DigitalZoomRatio
FocalLengthIn35mmFilm
SceneCaptureType
GainControl
Contrast
Saturation
Sharpness
DeviceSettingDescription
SubjectDistanceRange
ImageUniqueID

------------------------------

 

GPSVersionID
GPSLatitudeRef
GPSLatitude
GPSLongitudeRef
GPSLongitude
GPSAltitudeRef
GPSAltitude
GPSTimeStamp
GPSSatellites
GPSStatus
GPSMeasureMode
GPSDOP
GPSSpeedRef
GPSSpeed
GPSTrackRef
GPSTrack
GPSImgDirectionRef
GPSImgDirection
GPSMapDatum
GPSDestLatitudeRef
GPSDestLatitude
GPSDestLongitudeRef
GPSDestLongitude
GPSDestBearingRef
GPSDestBearing
GPSDestDistanceRef
GPSDestDistance
GPSProcessingMethod
GPSAreaInformation
GPSDateStamp
GPSDifferential

 

 

[ Nach oben ]

 


© 2019 Altova GmbH