MediaWiki  master
XMPValidate Class Reference

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

Inheritance diagram for XMPValidate:
Collaboration diagram for XMPValidate:

Public Member Functions

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

Private Attributes

LoggerInterface $logger
 

Detailed Description

This contains some static methods for validating XMP properties.

See XMPInfo and XMPReader 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
http://www.adobe.com/devnet/xmp/pdfs/XMPSpecificationPart1.pdf starting at pg 28
http://www.adobe.com/devnet/xmp/pdfs/XMPSpecificationPart2.pdf starting at pg 11

Definition at line 46 of file XMPValidate.php.

Constructor & Destructor Documentation

XMPValidate::__construct ( LoggerInterface  $logger)

Definition at line 53 of file XMPValidate.php.

References setLogger().

Member Function Documentation

XMPValidate::setLogger ( LoggerInterface  $logger)

Definition at line 57 of file XMPValidate.php.

References $logger.

Referenced by __construct().

XMPValidate::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

Definition at line 67 of file XMPValidate.php.

XMPValidate::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

Definition at line 164 of file XMPValidate.php.

XMPValidate::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

Definition at line 258 of file XMPValidate.php.

References $res, ConvertibleTimestamp\convert(), TS_EXIF, and TS_UNIX.

XMPValidate::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

Definition at line 194 of file XMPValidate.php.

XMPValidate::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 its a simple prop (should always be true)

Definition at line 361 of file XMPValidate.php.

XMPValidate::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

Definition at line 145 of file XMPValidate.php.

XMPValidate::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

Definition at line 229 of file XMPValidate.php.

XMPValidate::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

Definition at line 106 of file XMPValidate.php.

XMPValidate::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

Definition at line 85 of file XMPValidate.php.

Member Data Documentation

LoggerInterface XMPValidate::$logger
private

Definition at line 51 of file XMPValidate.php.

Referenced by setLogger().


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