XMPReader
Reader for XMP data containing properties relevant to images
Loading...
Searching...
No Matches
Wikimedia\XMPReader\Validate Class Reference

This contains some static methods for validating XMP properties. More...

+ Inheritance diagram for Wikimedia\XMPReader\Validate:
+ Collaboration diagram for Wikimedia\XMPReader\Validate:

Public Member Functions

 __construct (LoggerInterface $logger)
 Creates a new instance, with a logger.
 
 validateBoolean ( $info, &$val, $standalone)
 Function to validate boolean properties ( True or False )
 
 validateRational ( $info, &$val, $standalone)
 function to validate rational properties ( 12/10 )
 
 validateRating ( $info, &$val, $standalone)
 function to validate rating properties -1, 0-5
 
 validateInteger ( $info, &$val, $standalone)
 function to validate integers
 
 validateClosed ( $info, &$val, $standalone)
 function to validate properties with a fixed number of allowed choices.
 
 validateReal ( $info, &$val, $standalone)
 function to validate and modify real numbers, with ranges
 
 validateFlash ( $info, &$val, $standalone)
 function to validate and modify flash structure
 
 validateLangCode ( $info, &$val, $standalone)
 function to validate LangCode properties ( en-GB, etc.
 
 validateDate ( $info, &$val, $standalone)
 function to validate date properties, and convert to (partial) Exif format.
 
 validateGPS ( $info, &$val, $standalone)
 function to validate, and more importantly translate the XMP DMS form of gps coords to the decimal form we use.
 

Detailed Description

This contains some static methods for validating XMP properties.

See XMPInfo and Reader classes.

Each of these functions take the same parameters

  • an info array which is a subset of the XMPInfo::items array
  • A value (passed as reference) to validate. This can be either a simple value or an array
  • A boolean to determine if this is validating a simple or complex values

It should be noted that when an array is being validated, typically the validation function is called once for each value, and then once at the end for the entire array.

These validation functions can also be used to modify the data. See the gps and flash one's for example.

See also
https://www.adobe.com/devnet/xmp.html
https://wwwimages2.adobe.com/content/dam/acom/en/devnet/xmp/pdfs/ XMP%20SDK%20Release%20cc-2016-08/XMPSpecificationPart1.pdf starting at pg 28
https://wwwimages2.adobe.com/content/dam/acom/en/devnet/xmp/pdfs/ XMP%20SDK%20Release%20cc-2016-08/XMPSpecificationPart2.pdf starting at pg 11

Constructor & Destructor Documentation

◆ __construct()

Wikimedia\XMPReader\Validate::__construct ( LoggerInterface $logger)

Creates a new instance, with a logger.

Parameters
LoggerInterface$logger

Member Function Documentation

◆ validateBoolean()

Wikimedia\XMPReader\Validate::validateBoolean ( $info,
& $val,
$standalone )

Function to validate boolean properties ( True or False )

Parameters
array$infoInformation about current property
mixed&$valCurrent value to validate
bool$standaloneIf this is a simple property or array

◆ validateClosed()

Wikimedia\XMPReader\Validate::validateClosed ( $info,
& $val,
$standalone )

function to validate properties with a fixed number of allowed choices.

(closed choice)

Parameters
array$infoInformation about current property
mixed&$valCurrent value to validate
bool$standaloneIf this is a simple property or array

◆ validateDate()

Wikimedia\XMPReader\Validate::validateDate ( $info,
& $val,
$standalone )

function to validate date properties, and convert to (partial) Exif format.

Dates can be one of the following formats: YYYY YYYY-MM YYYY-MM-DD YYYY-MM-DDThh:mmTZD YYYY-MM-DDThh:mm:ssTZD YYYY-MM-DDThh:mm:ss.sTZD

Parameters
array$infoInformation about current property
mixed&$valCurrent value to validate. Converts to TS_EXIF as a side effect. in cases where there's only a partial date, it will give things like 2011:04.
bool$standaloneIf this is a simple property or array

◆ validateFlash()

Wikimedia\XMPReader\Validate::validateFlash ( $info,
& $val,
$standalone )

function to validate and modify flash structure

Parameters
array$infoInformation about current property
mixed&$valCurrent value to validate
bool$standaloneIf this is a simple property or array

◆ validateGPS()

Wikimedia\XMPReader\Validate::validateGPS ( $info,
& $val,
$standalone )

function to validate, and more importantly translate the XMP DMS form of gps coords to the decimal form we use.

See also
http://www.adobe.com/devnet/xmp/pdfs/XMPSpecificationPart2.pdf section 1.2.7.4 on page 23
Parameters
array$infoUnused (info about prop)
string&$valGPS string in either DDD,MM,SSk or or DDD,MM.mmk form
bool$standaloneIf it's a simple prop (should always be true)

◆ validateInteger()

Wikimedia\XMPReader\Validate::validateInteger ( $info,
& $val,
$standalone )

function to validate integers

Parameters
array$infoInformation about current property
mixed&$valCurrent value to validate
bool$standaloneIf this is a simple property or array

◆ validateLangCode()

Wikimedia\XMPReader\Validate::validateLangCode ( $info,
& $val,
$standalone )

function to validate LangCode properties ( en-GB, etc.

)

This is just a naive check to make sure it somewhat looks like a lang code.

See also
BCP 47
https://wwwimages2.adobe.com/content/dam/Adobe/en/devnet/xmp/pdfs/ XMP%20SDK%20Release%20cc-2014-12/XMPSpecificationPart1.pdf page 22 (section 8.2.2.4)
Parameters
array$infoInformation about current property
mixed&$valCurrent value to validate
bool$standaloneIf this is a simple property or array

◆ validateRating()

Wikimedia\XMPReader\Validate::validateRating ( $info,
& $val,
$standalone )

function to validate rating properties -1, 0-5

if its outside of range, put it into range.

See also
MWG spec
Parameters
array$infoInformation about current property
mixed&$valCurrent value to validate
bool$standaloneIf this is a simple property or array

◆ validateRational()

Wikimedia\XMPReader\Validate::validateRational ( $info,
& $val,
$standalone )

function to validate rational properties ( 12/10 )

Parameters
array$infoInformation about current property
mixed&$valCurrent value to validate
bool$standaloneIf this is a simple property or array

◆ validateReal()

Wikimedia\XMPReader\Validate::validateReal ( $info,
& $val,
$standalone )

function to validate and modify real numbers, with ranges

Parameters
array$infoInformation about current property
mixed&$valCurrent value to validate
bool$standaloneIf this is a simple property or array

The documentation for this class was generated from the following file: