# The %Image::ExifTool::UserDefined hash defines new tags to be added # to existing tables. %Image::ExifTool::UserDefined = ( # new XMP namespaces (eg. xxx) must be added to the Main XMP table: 'Image::ExifTool::XMP::Main' => { pdfaExtension => { # <-- must be the same as the NAMESPACE prefix SubDirectory => { TagTable => 'Image::ExifTool::UserDefined::pdfaExtension', # (see the definition of this table below) }, }, # add more user-defined XMP namespaces here... premis => { # <-- must be the same as the NAMESPACE prefix SubDirectory => { TagTable => 'Image::ExifTool::UserDefined::premis', # (see the definition of this table below) }, }, # add more user-defined XMP namespaces here... liz => { # <-- must be the same as the NAMESPACE prefix SubDirectory => { TagTable => 'Image::ExifTool::UserDefined::liz', # (see the definition of this table below) }, }, # add more user-defined XMP namespaces here... pdfxx => { # <-- must be the same as the NAMESPACE prefix SubDirectory => { TagTable => 'Image::ExifTool::UserDefined::pdfx', # (see the definition of this table below) }, }, # add more user-defined XMP namespaces here... adobe => { # <-- must be the same as the NAMESPACE prefix SubDirectory => { TagTable => 'Image::ExifTool::UserDefined::adobe', # (see the definition of this table below) }, }, }, 'Image::ExifTool::PDF::Info' => { CNRNumber => { Writable => 'string', }, }, ); # This is a basic example of the definition for a new XMP namespace. # This table is referenced through a SubDirectory tag definition # in the %Image::ExifTool::UserDefined definition above. # The namespace prefix for these tags is 'xxx', which corresponds to # an ExifTool family 1 group name of 'XMP-xxx'. %Image::ExifTool::UserDefined::pdfaExtension = ( GROUPS => { 0 => 'XMP', 1 => 'XMP-pdfaExtension' }, NAMESPACE => { 'pdfaExtension' => 'http://www.aiim.org/pdfa/ns/extension/' }, WRITABLE => 'string', # (default to string-type tags) schemas => { List => 'Bag', Struct => { NAMESPACE => {'pdfaSchema' => 'http://www.aiim.org/pdfa/ns/schema#'}, schema => {}, namespaceURI => {}, prefix => {}, property => { List => 'Seq', Struct => { NAMESPACE => {'pdfaProperty' => 'http://www.aiim.org/pdfa/ns/property#'}, name => {}, valueType => {}, category => {}, description => {}, } } }, valueType => { List => 'Seq', Struct => { NAMESPACE => {'pdfaType' => 'http://www.aiim.org/pdfa/ns/type#'}, type => {}, namespaceURI => {}, prefix => {}, description => {}, } }, }, ); # This is a basic example of the definition for a new XMP namespace. # This table is referenced through a SubDirectory tag definition # in the %Image::ExifTool::UserDefined definition above. # The namespace prefix for these tags is 'xxx', which corresponds to # an ExifTool family 1 group name of 'XMP-xxx'. %Image::ExifTool::UserDefined::premis = ( GROUPS => { 0 => 'XMP', 1 => 'XMP-premis' }, NAMESPACE => { 'premis' => 'http://www.loc.gov/premis/v3#' }, WRITABLE => 'string', # (default to string-type tags) CNRNumber => { Writable => 'string', }, ); %Image::ExifTool::UserDefined::liz = ( GROUPS => { 0 => 'XMP', 1 => 'XMP-liz' }, NAMESPACE => { 'liz' => 'http://www.mywebsite.com/liz/v1#' }, WRITABLE => 'string', # (default to string-type tags) GitHubRepo => { WRITABLE => 'url'}, Message => { WRITABLE => 'string'}, ); %Image::ExifTool::UserDefined::pdfx = ( GROUPS => { 0 => 'XMP', 1 => 'XMP-pdfx' }, NAMESPACE => { 'pdfxx' => 'http://ns.adobe.com/pdfx/1.3/#' }, WRITABLE => 'string', # (default to string-type tags) CNRNumber => { Writable => 'string', }, ); %Image::ExifTool::UserDefined::adobe = ( GROUPS => { 0 => 'XMP', 1 => 'XMP-adobe' }, NAMESPACE => { 'adobe' => 'http://ns.adobe.com/pdf/1.3/#' }, WRITABLE => 'string', # (default to string-type tags) CNRNumber => { Writable => 'string', }, ); #print "Working!\n"; #------------------------------------------------------------------------------ 1; #end