MediaWiki  REL1_22
XMPValidate Class Reference

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

List of all members.

Static Public Member Functions

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

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 43 of file XMPValidate.php.


Member Function Documentation

static XMPValidate::validateBoolean ( info,
&$  val,
standalone 
) [static]

function to validate boolean properties ( True or False )

Parameters:
array$infoinformation about current property
&$valMixed current value to validate
$standaloneBoolean if this is a simple property or array

Definition at line 51 of file XMPValidate.php.

References wfDebugLog().

static XMPValidate::validateClosed ( info,
&$  val,
standalone 
) [static]

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

(closed choice)

Parameters:
array$infoinformation about current property
&$valMixed current value to validate
$standaloneBoolean if this is a simple property or array

Definition at line 148 of file XMPValidate.php.

References wfDebugLog().

static XMPValidate::validateDate ( info,
&$  val,
standalone 
) [static]

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
&$valMixed current 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.
$standaloneBoolean if this is a simple property or array

Definition at line 242 of file XMPValidate.php.

References $res, array(), wfDebugLog(), and wfTimestamp().

Referenced by XMPValidateTest\testValidateDate().

static XMPValidate::validateFlash ( info,
&$  val,
standalone 
) [static]

function to validate and modify flash structure

Parameters:
array$infoinformation about current property
&$valMixed current value to validate
$standaloneBoolean if this is a simple property or array

Definition at line 178 of file XMPValidate.php.

References wfDebugLog().

static XMPValidate::validateGPS ( info,
&$  val,
standalone 
) [static]

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)
&$valString GPS string in either DDD,MM,SSk or or DDD,MM.mmk form
$standaloneBoolean if its a simple prop (should always be true)

Definition at line 338 of file XMPValidate.php.

References array(), and wfDebugLog().

static XMPValidate::validateInteger ( info,
&$  val,
standalone 
) [static]

function to validate integers

Parameters:
array$infoinformation about current property
&$valMixed current value to validate
$standaloneBoolean if this is a simple property or array

Definition at line 128 of file XMPValidate.php.

References wfDebugLog().

static XMPValidate::validateLangCode ( info,
&$  val,
standalone 
) [static]

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:
rfc 3066
http://www.adobe.com/devnet/xmp/pdfs/XMPSpecificationPart1.pdf page 30 (section 8.2.2.5)
Parameters:
array$infoinformation about current property
&$valMixed current value to validate
$standaloneBoolean if this is a simple property or array

Definition at line 212 of file XMPValidate.php.

References wfDebugLog().

static XMPValidate::validateRating ( info,
&$  val,
standalone 
) [static]

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
&$valMixed current value to validate
$standaloneBoolean if this is a simple property or array

Definition at line 92 of file XMPValidate.php.

References wfDebugLog().

static XMPValidate::validateRational ( info,
&$  val,
standalone 
) [static]

function to validate rational properties ( 12/10 )

Parameters:
array$infoinformation about current property
&$valMixed current value to validate
$standaloneBoolean if this is a simple property or array

Definition at line 70 of file XMPValidate.php.

References wfDebugLog().


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