BlueSpice MediaWiki master
 All Classes Namespaces Files Functions Variables Groups Pages
XMPValidate Class Reference
Inheritance diagram for XMPValidate:
Collaboration diagram for XMPValidate:

Public Member Functions

 __construct (LoggerInterface $logger)
 
 setLogger (LoggerInterface $logger)
 
 validateBoolean ($info, &$val, $standalone)
 
 validateRational ($info, &$val, $standalone)
 
 validateRating ($info, &$val, $standalone)
 
 validateInteger ($info, &$val, $standalone)
 
 validateClosed ($info, &$val, $standalone)
 
 validateFlash ($info, &$val, $standalone)
 
 validateLangCode ($info, &$val, $standalone)
 
 validateDate ($info, &$val, $standalone)
 
 validateGPS ($info, &$val, $standalone)
 

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

Member Function Documentation

XMPValidate::setLogger ( LoggerInterface  $logger)

Sets a logger instance on the object.

Parameters
LoggerInterface$logger
Returns
void

Implements Psr\Log\LoggerAwareInterface.

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

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