Fonctions XPath/XQuery : Relatives aux images

www.altova.com Agrandir/Réduire tout Imprimer cette rubrique Page précédente Un niveau supérieur Page suivante

Accueil >  Annexe > Fonctions XSLT et XPath/XQuery > Fonctions d'extension Altova >

Fonctions XPath/XQuery : Relatives aux images

Les fonctions d'extension XPath/XQuery relatives à l'image suivantes sont prises en charge dans la version actuelle de MobileTogether Designer.

 

Note concernant le nommage de fonctions et de l'applicabilité de la langue

Les fonctions d'extension Altova peuvent être utilisées dans les expressions XPath/XQuery. Elles fournissent des fonctions supplémentaires aux fonctions d'ores et déjà disponibles dans la librairie standard des fonctions XPath, XQuery et XSLT.

Afin de distinguer les fonctions d'extension Altova des fonctions dans la librairie standard, les fonctions d'extension Altova sont nommées dans cette documentation avec un suffixe [altova:]. Par exemple : add-years-to-date [altova:].
Néanmoins, lorsque vous utilisez des fonctions d'extension Altova dans vos expressions XPath/XQuery, vous devez utiliser la fonction sans préfixe ou suffixe, comme si vous utilisiez une fonction standard XPath/XQuery. Voici un exemple d'extension Altova : add-years-to-date(xs:date("2014-01-15"), 10).

 

Fonctions XPath (utilisées dans les expressions XPath dans XSLT) :

XP1 XP2 XP3.1

Fonctions XSLT (utilisées dans les expressions XPath dans XSLT) :

Xslt1 XSLT2 XSLT3

Fonctions XQuery (utilisées dans les expressions XQuery dans XQuery) :

XQ1 XQ3.1

 

 

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

suggested-image-file-extension(Base64String as string) as string?     XP3.1 XQ3.1

Prend le code Base64 d'un fichier d'image en tant que son argument et retourne l'extension de fichier de l'image comme enregistré dans le codage Base64 de l'image. La valeur retournée est une suggestion basée sur l'information du type d'image disponible dans le codage. Si cette information n'est pas disponible, une chaîne vide est retournée. Cette fonction est utile si vous souhaitez enregistrer une image Base64 en tant que fichier et que vous souhaitez extraire dynamiquement une extension de fichier appropriée.

suggested-image-file-extension(/MyImages/MobilePhone/Image20141130.01) retourne 'jpg'
suggested-image-file-extension($XML1/Staff/Person/@photo) retourne ''

 

Dans les exemples ci-dessus, les nœuds fournis en tant qu'arguments de la fonction sont assumés contenir une image codée Base64. Le premier exemple extrait jpg en tant que type et extension de fichier. Dans le second exemple, le codage Base64 soumis ne fournit pas une information de fichier d'extension utile.

 

 

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

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

Prend une image codée Base64 en tant que son premier argument et retourne une image codée Base64 transformée. Les deuxième, troisième et quatrième arguments sont les paramètres d'image qui sont transformés : taille, rotation et qualité.

 

L'argument Size fournit trois options de redimensionnement.

(X,Y)

Valeurs de pixel absolues. Le rapport de l'aspect n'est pas maintenu. L'ordre de la hauteur et de la largeur n'a aucune importance puisque la hauteur et la largeur sont sélectionnées automatiquement conformément aux côtés longs et courts de l'image. La valeur est saisie en tant qu'une séquence de deux items d'entiers ; les parenthèses sont requises.

X

Redimensionne proportionnellement l'image avec X en tant que le nouveau côté long en pixels ; le rapport de l'aspect est conservé. La valeur est un entier et il est saisi sans guillemets.

'X%'

Redimensionne l'image au pourcentage donné des dimensions originales. La valeur doit être saisie en tant que chaîne, entre guillemets.

Rotation peut être une des valeurs suivantes : 90, 180, 270, -90, -180, -270. Il s'agit des valeurs de rotation en degrés dans un cercle. Les valeurs positives pivotent l'image dans le sens des aiguilles d'une montre ; les valeurs négatives pivotent l'image dans le sens inverse des aiguilles d'une montre. Veuillez noter que vous pouvez utiliser l'attribut Altova Exif OrientationDegree pour obtenir la rotation actuelle de l'image en degrés (0, 90, 180, 270) depuis l'onglet Exif Orientation de l'image. Néanmoins, puisque l'attribut OrientationDegree est obtenu depuis l'onglet Orientation des données Exif, il ne sera disponible que si l'onglet Orientation est présent dans les données Exif (voir la description de OrientationDegree ci-dessous).
Quality peut être toute valeur située entre 0 et 100 et réfère aux valeurs sur l'échelle de qualité IJG pour la compression JPEG ; il ne s'agit pas d'un indicateur en pourcentage de la qualité. Le compromis se situe entre la taille du fichier et la qualité. Pour une image source couleur, 75 est généralement considéré comme étant une valeur optimale. Si 75 produit des résultats non satisfaisants, il faudra augmenter la valeur.

 

Note : Si les données Exif sont présentes dans l'image originale, elles seront supprimées pendant la transformation, et l'image transformée ne contiendra pas de données Exif.

 

 

mt-transform-image(Images/Image[@id='43'], '50%', 90, 75)
La fonction prend en tant que son entrée une image stockée en tant que chaîne codée Base64 dans le nœud descendant Images/Image qui a une valeur @id de 43. La fonction retourne une image transformée. L'image transformée est redimensionnée à 50%, pivotée de 90 degrés dans le sens des aiguilles d'une montre et avec un niveau de qualité de 75.
mt-transform-image(Images/Image[@id='43'], 400, 90, 75)
La fonction produit le même résultat que l'exemple précédent, sauf que le long côté est défini à une valeur spécifique de 400 pixels ; le rapport d'aspect de l'image originale est maintenu.
mt-transform-image(Images/Image[@id='43'], (400, 280), image-exif-data($XML1/$XML1/Images/ReferenceImage)/@OrientationDegree, 75)
Cet exemple sélectionne la même image que dans les exemples précédents, et définit la même valeur de qualité (75). La taille de l'image est défini à 400x280 pixels, et la valeur Rotation est obtenue à partir de l'attribut @OrientationDegree d'une image codée Base64 dans le nœud ReferenceImage.

 

 

La machine Altova XPath/XQuery génère l'attribut personnalisé OrientationDegree à partir de l'onglet de métadonnées Exif Orientation.

 

OrientationDegree traduit l'onglet standard Exif Orientation à partir d'une valeur d'entier (1, 8, 3, ou 6) aux valeurs de degrés respectives de chacun (0, 90, 180, 270), tel que montré dans la figure ci-dessous. Veuillez noter qu'il n'y a pas de traductions de la valeur Orientation de 2, 4, 5, 7.  (Ces orientations sont obtenus en basculant l'image 1 à travers son centre axial vertical pour obtenir l'image avec une valeur de 2, puis en pivotant cette image par sauts de 90° dans le sens des aiguilles d'une montre pour obtenir les valeurs de 7, 4, et 5, respectivement).

 

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 as string) as element?     XP3.1 XQ3.1

Prend une image codée Base64 en tant que son argument et retourne un élément appelé Exif qui contient les métadonnées Exif de l'image. Celles-ci sont créées en tant que paires attribute-value pairs de l'élément Exif. Les noms d'attribut sont les onglets de données Exif trouvés dans le codage Base64. La liste des onglets des spécifications Exif est indiquée ci-dessous. Si un onglet spécifique à un distributeur est présent dans les données Exif, cet onglet et sa valeur seront aussi retournés en tant que paire attribute-value. Outre les onglets de métadonnées Exif standard (voir la liste ci-dessous), des paires attribute-value spécifiques à Altova sont également générées. Ces attributs Exif Altova sont recensés ci-dessous.

 

 

Pour accéder à n'importe quel attribut, utiliser la fonction comme suit :
image-exif-data(//MyImages/Image20141130.01)/@GPSLatitude
image-exif-data(//MyImages/Image20141130.01)/@Geolocation
Pour accéder à tous les attributs, utiliser la fonction comme suit:
image-exif-data(//MyImages/Image20141130.01)/@*
Pour accéder au nom de tous les attributs, utiliser l'expression suivante :
for $i in image-exif-data(//MyImages/Image20141130.01)/@* return name($i)
Cela est utile pour trouver les noms des attributs retournés par la fonction.

 

 

La machine Altova XPath/XQuery génère l'attribut Geolocation personnalisable depuis les onglets standard de métadonnées Exif. Geolocation est une concaténation de quatre onglets Exif : GPSLatitude, GPSLatitudeRef, GPSLongitude, GPSLongitudeRef, avec des unités ajoutées (voir table ci-dessous).

 

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

 

 

La machine Altova XPath/XQuery génère l'attribut personnalisé OrientationDegree à partir de l'onglet de métadonnées Exif Orientation.

 

OrientationDegree traduit l'onglet standard Exif Orientation à partir d'une valeur d'entier (1, 8, 3, ou 6) aux valeurs de degrés respectives de chacun (0, 90, 180, 270), tel que montré dans la figure ci-dessous. Veuillez noter qu'il n'y a pas de traductions de la valeur Orientation de 2, 4, 5, 7.  (Ces orientations sont obtenus en basculant l'image 1 à travers son centre axial vertical pour obtenir l'image avec une valeur de 2, puis en pivotant cette image par sauts de 90° dans le sens des aiguilles d'une montre pour obtenir les valeurs de 7, 4, et 5, respectivement).

 

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

 

 

[ Top ]

 


© 2019 Altova GmbH