summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/hyperxmp
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-04-02 21:12:27 +0000
committerKarl Berry <karl@freefriends.org>2019-04-02 21:12:27 +0000
commit67e8fdf0c52653c7559b4665070a96c9c97d0d25 (patch)
tree39156da400b34cff0c515d46d36f394375360b85 /Master/texmf-dist/tex/latex/hyperxmp
parenta538e0c7c47ec0e5a275e4d86ea8e748a3854346 (diff)
hyperxmp (2apr19)
git-svn-id: svn://tug.org/texlive/trunk@50713 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/hyperxmp')
-rw-r--r--Master/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty586
1 files changed, 415 insertions, 171 deletions
diff --git a/Master/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty b/Master/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty
index ff8d81bd246..e76fa1e8799 100644
--- a/Master/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty
+++ b/Master/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty
@@ -22,7 +22,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{hyperxmp}
- [2019/02/25 v3.5a Store hyperref metadata in XMP format]
+ [2019/03/31 v4.0 Store hyperref metadata in XMP format]
\edef\hyxmp@dq@code{\the\catcode`\"}
\catcode`\"=12
\def\hyxmp@driver{hpdftex}
@@ -90,6 +90,36 @@
\define@key{Hyp}{pdfdocumentid}{\hyxmp@pdfstringdef\hyxmp@DocumentID{#1}}
\def\hyxmp@InstanceID{}
\define@key{Hyp}{pdfinstanceid}{\hyxmp@pdfstringdef\hyxmp@InstanceID{#1}}
+\def\@pdfversionid{}
+\define@key{Hyp}{pdfversionid}{\hyxmp@pdfstringdef\@pdfversionid{#1}}
+\def\@pdfpublication{}
+\define@key{Hyp}{pdfpublication}{\hyxmp@pdfstringdef\@pdfpublication{#1}}
+\def\@pdfpubtype{}
+\define@key{Hyp}{pdfpubtype}{\hyxmp@pdfstringdef\@pdfpubtype{#1}}
+\def\@pdfbytes{}
+\define@key{Hyp}{pdfbytes}{\hyxmp@pdfstringdef\@pdfbytes{#1}}
+\def\@pdfnumpages{}
+\define@key{Hyp}{pdfnumpages}{\hyxmp@pdfstringdef\@pdfnumpages{#1}}
+\def\@pdfissn{}
+\define@key{Hyp}{pdfissn}{\hyxmp@pdfstringdef\@pdfissn{#1}}
+\def\@pdfeissn{}
+\define@key{Hyp}{pdfeissn}{\hyxmp@pdfstringdef\@pdfeissn{#1}}
+\def\@pdfisbn{}
+\define@key{Hyp}{pdfisbn}{\hyxmp@pdfstringdef\@pdfisbn{#1}}
+\def\@pdfbookedition{}
+\define@key{Hyp}{pdfbookedition}{\hyxmp@pdfstringdef\@pdfbookedition{#1}}
+\def\@pdfvolumenum{}
+\define@key{Hyp}{pdfvolumenum}{\hyxmp@pdfstringdef\@pdfvolumenum{#1}}
+\def\@pdfissuenum{}
+\define@key{Hyp}{pdfissuenum}{\hyxmp@pdfstringdef\@pdfissuenum{#1}}
+\def\@pdfpagerange{}
+\define@key{Hyp}{pdfpagerange}{\hyxmp@pdfstringdef\@pdfpagerange{#1}}
+\def\@pdfdoi{}
+\define@key{Hyp}{pdfdoi}{\hyxmp@pdfstringdef\@pdfdoi{#1}}
+\def\@pdfurl{}
+\define@key{Hyp}{pdfurl}{\hyxmp@pdfstringdef\@pdfurl{#1}}
+\def\@pdfsubtitle{}
+\define@key{Hyp}{pdfsubtitle}{\hyxmp@pdfstringdef\@pdfsubtitle{#1}}
\def\@pdfcontactaddress{}
\define@key{Hyp}{pdfcontactaddress}{%
\let\xmpcomma=\hyxmp@comma
@@ -112,6 +142,12 @@
\define@key{Hyp}{pdfcontactemail}{\hyxmp@pdfstringdef\@pdfcontactemail{#1}}
\def\@pdfcontacturl{}
\define@key{Hyp}{pdfcontacturl}{\hyxmp@pdfstringdef\@pdfcontacturl{#1}}
+\def\hyxmp@suppress@pdf@metadata{%
+ \global\let\PDF@FinishDoc=\@empty
+}
+\define@key{Hyp}{keeppdfinfo}[true]{%
+ \gdef\hyxmp@suppress@pdf@metadata{}%
+}
\def\hyxmp@pdfauthor{}
\def\hyxmp@pdfkeywords{}
\newcommand*{\hyxmp@redefine@Hyp}{%
@@ -169,6 +205,8 @@
\@baseurl
\@pdfauthor
\@pdfauthortitle
+ \@pdfbookedition
+ \@pdfbytes
\@pdfcaptionwriter
\@pdfcontactaddress
\@pdfcontactcity
@@ -181,14 +219,27 @@
\@pdfcopyright
\@pdfcreationdate
\@pdfdatetime
+ \@pdfdoi
+ \@pdfeissn
+ \@pdfisbn
+ \@pdfissn
+ \@pdfissuenum
\@pdfkeywords
\@pdflang
\@pdflicenseurl
\@pdfmetadatetime
\@pdfmoddate
+ \@pdfnumpages
+ \@pdfpagerange
+ \@pdfpublication
+ \@pdfpubtype
\@pdfsubject
+ \@pdfsubtitle
\@pdftitle
\@pdftype
+ \@pdfurl
+ \@pdfversionid
+ \@pdfvolumenum
}%
\ifx\hyxmp@concated@metadata\@empty
\PackageWarningNoLine{hyperxmp}{%
@@ -228,6 +279,7 @@ provide metadata values to hyperxmp}%
}%
{}%
\hyxmp@at@end{%
+ \hyxmp@suppress@pdf@metadata
\hyxmp@find@metadata
\hyxmp@embed@packet
}%
@@ -270,6 +322,11 @@ disabled}%
\gdef\xmptilde{~}%
\egroup
\newcommand{\XMPTruncateList}[1]{{%
+ \PackageWarning{hyperxmp}{%
+ \noexpand\XMPTruncateList has been deprecated since\MessageBreak
+ hyperxmp 4.0 and may be removed in future\MessageBreak
+ versions of the package. \noexpand\XMPTruncateList\MessageBreak
+ was found}%
\edef\hyxmp@temp@str{\csname hyxmp@#1\endcsname}%
\hyxmp@commas@to@list{\hyxmp@temp@list}{\hyxmp@temp@str}%
\def\@elt##1{%
@@ -772,10 +829,6 @@ _______________________________________________________________^^J%
\xdef\hyxmp@padding{\hyxmp@padding\hyxmp@padding}
\newcommand*{\hyxmp@x@default}{x-default}
\newcommand*{\hyxmp@pdf@schema}{%
- \hyxmp@add@to@xml{%
-______<rdf:Description rdf:about=""^^J%
-___________xmlns:pdf="http://ns.adobe.com/pdf/1.3/">^^J%
- }%
\hyxmp@add@simple@var{pdf:Keywords}{@pdfkeywords}%
\hyxmp@add@simple@var{pdf:Producer}{@pdfproducer}%
\@ifundefined{pdfvariable}{%
@@ -786,29 +839,48 @@ ___________xmlns:pdf="http://ns.adobe.com/pdf/1.3/">^^J%
}{%
\hyxmp@add@simple{pdf:PDFVersion}{1.\the\pdfvariable minorversion}%
}%
- \hyxmp@add@to@xml{%
-______</rdf:Description>^^J%
- }%
}
+\newcommand*{\hyxmp@extra@indent}{}
\newcommand*{\hyxmp@add@simple}[2]{%
- \edef\hyxmp@string{#2}%
- \ifx\hyxmp@string\@empty
- \else
- \hyxmp@xmlify{\hyxmp@string}%
+ \@ifnotmtargexp{#2}{%
+ \hyxmp@xmlify{#2}%
\hyxmp@add@to@xml{%
-_________<#1>\hyxmp@xmlified</#1>^^J%
+ \hyxmp@extra@indent______<#1>\hyxmp@xmlified</#1>^^J%
}%
- \fi
+ }%
}
\newcommand*{\hyxmp@add@simple@var}[2]{%
\expandafter\ifx\csname#2\endcsname\relax
\else
\hyxmp@xmlify{\csname#2\endcsname}%
\hyxmp@add@to@xml{%
-_________<#1>\hyxmp@xmlified</#1>^^J%
+ \hyxmp@extra@indent______<#1>\hyxmp@xmlified</#1>^^J%
}%
\fi
}
+\newcommand*{\hyxmp@add@simple@lang}[2]{%
+ \@ifnotmtarg{#2}{%
+ \hyxmp@xmlify{#2}%
+ \expandafter\hyxmp@add@simple@lang@i\hyxmp@xmlified\relax{#1}%
+ }%
+}
+\newcommand*{\hyxmp@add@simple@lang@i}{%
+ \@ifnextchar[\hyxmp@add@simple@lang@ii{\hyxmp@add@simple@lang@ii[]}%
+}
+\def\hyxmp@add@simple@lang@ii[#1]#2\relax#3{%
+ \@ifnotmtarg{#2}{%
+ \hyxmp@xmlify{#2}%
+ \@ifmtarg{#1}{%
+ \hyxmp@add@to@xml{%
+______<#3>\hyxmp@xmlified</#3>^^J%
+ }%
+ }{%
+ \hyxmp@add@to@xml{%
+______<#3 xml:lang="#1">\hyxmp@xmlified</#3>^^J%
+ }%
+ }%
+ }%
+}
\newcommand*{\hyxmp@rdf@dc}[3][\iffalse]{%
\@ifmtargexp{#3}{\@tempswafalse}{\@tempswatrue}%
#1
@@ -818,29 +890,29 @@ _________<#1>\hyxmp@xmlified</#1>^^J%
\hyxmp@xmlify{#3}%
\let\hyxmp@value=\hyxmp@xmlified
\hyxmp@add@to@xml{%
-_________<dc:#2>^^J%
-____________<rdf:Alt>^^J%
+______<dc:#2>^^J%
+________<rdf:Alt>^^J%
}%
\ifx\@pdfmetalang\hyxmp@x@default
\else
\hyxmp@xmlify{\@pdfmetalang}%
\hyxmp@add@to@xml{%
-_______________<rdf:li xml:lang="\hyxmp@xmlified">\hyxmp@value</rdf:li>^^J%
+__________<rdf:li xml:lang="\hyxmp@xmlified">\hyxmp@value</rdf:li>^^J%
}%
\fi
\hyxmp@add@to@xml{%
-_______________<rdf:li xml:lang="\hyxmp@x@default">\hyxmp@value</rdf:li>^^J%
+__________<rdf:li xml:lang="\hyxmp@x@default">\hyxmp@value</rdf:li>^^J%
}%
\def\do##1##2{
\hyxmp@xmlify{##2}%
\hyxmp@add@to@xml{%
-_______________<rdf:li xml:lang="##1">\hyxmp@xmlified</rdf:li>^^J%
+__________<rdf:li xml:lang="##1">\hyxmp@xmlified</rdf:li>^^J%
}%
}%
\csname hyxmp@alt@#2\endcsname
\hyxmp@add@to@xml{%
-____________</rdf:Alt>^^J%
-_________</dc:#2>^^J%
+________</rdf:Alt>^^J%
+______</dc:#2>^^J%
}%
\fi
}%
@@ -851,31 +923,27 @@ _________</dc:#2>^^J%
\fi
\if@tempswa
\hyxmp@add@to@xml{%
-_________<dc:#2>^^J%
-____________<rdf:#3>^^J%
+______<dc:#2>^^J%
+________<rdf:#3>^^J%
}%
\bgroup
\hyxmp@xmlify{#4}%
\hyxmp@commas@to@list\hyxmp@list{\hyxmp@xmlified}%
\def\@elt##1{%
\hyxmp@add@to@xml{%
-_______________<rdf:li>##1</rdf:li>^^J%
+__________<rdf:li>##1</rdf:li>^^J%
}%
}%
\hyxmp@list
\egroup
\hyxmp@add@to@xml{%
-____________</rdf:#3>^^J%
-_________</dc:#2>^^J%
+________</rdf:#3>^^J%
+______</dc:#2>^^J%
}%
\fi
}
\newcommand*{\hyxmp@dc@schema}{%
- \hyxmp@add@to@xml{%
-______<rdf:Description rdf:about=""^^J%
-____________xmlns:dc="http://purl.org/dc/elements/1.1/">^^J%
-_________<dc:format>application/pdf</dc:format>^^J%
- }%
+ \hyxmp@add@simple{dc:format}{application/pdf}%
\hyxmp@rdf@dc[\ifHy@pdfa]{title}{\@pdftitle}%
\hyxmp@rdf@dc[\ifHy@pdfa]{description}{\@pdfsubject}%
\hyxmp@rdf@dc{rights}{\@pdfcopyright}%
@@ -888,9 +956,6 @@ _________<dc:format>application/pdf</dc:format>^^J%
\else
\hyxmp@add@simple{dc:source}{\@pdfsource}%
\fi
- \hyxmp@add@to@xml{%
-______</rdf:Description>^^J%
- }%
}
\newcommand*{\hyxmp@xmpRights@schema}{%
\let\hyxmp@rights=\@empty
@@ -904,34 +969,19 @@ ______</rdf:Description>^^J%
\fi
\ifx\hyxmp@rights\@empty
\else
- \hyxmp@add@to@xml{%
-______<rdf:Description rdf:about=""^^J%
-___________xmlns:xmpRights="http://ns.adobe.com/xap/1.0/rights/">^^J%
- }%
\ifx\@pdfcopyright\@empty
\else
- \hyxmp@add@to@xml{%
-_________<xmpRights:Marked>True</xmpRights:Marked>^^J%
- }%
+ \hyxmp@add@simple{xmpRights:Marked}{True}%
\fi
\hyxmp@add@simple{xmpRights:WebStatement}{\@pdflicenseurl}%
- \hyxmp@add@to@xml{%
-______</rdf:Description>^^J%
- }%
\fi
}
\gdef\hyxmp@mm@schema{%
\@ifmtargexp{\hyxmp@DocumentID}{\hyxmp@def@DocumentID}{}%
\@ifmtargexp{\hyxmp@InstanceID}{\hyxmp@def@InstanceID}{}%
- \hyxmp@add@to@xml{%
-______<rdf:Description rdf:about=""^^J%
-____________xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/">^^J%
- }%
\hyxmp@add@simple{xmpMM:DocumentID}{\hyxmp@DocumentID}%
\hyxmp@add@simple{xmpMM:InstanceID}{\hyxmp@InstanceID}%
- \hyxmp@add@to@xml{%
-______</rdf:Description>^^J%
- }%
+ \hyxmp@add@simple{xmpMM:VersionID}{\@pdfversionid}%
}
\newcommand*{\hyxmp@define@createdate}{%
\@ifundefined{pdffeedback}{%
@@ -945,10 +995,6 @@ ______</rdf:Description>^^J%
}%
}
\newcommand*{\hyxmp@xmp@basic@schema}{%
- \hyxmp@add@to@xml{%
-______<rdf:Description rdf:about=""^^J%
-____________xmlns:xmp="http://ns.adobe.com/xap/1.0/">^^J%
- }%
\hyxmp@define@createdate
\@ifundefined{@pdfcreationdate}{%
\hyxmp@add@simple{xmp:CreateDate}{\hyxmp@createdate}%
@@ -977,26 +1023,16 @@ ____________xmlns:xmp="http://ns.adobe.com/xap/1.0/">^^J%
\fi
\hyxmp@add@simple{xmp:CreatorTool}{\@pdfcreator}%
\hyxmp@add@simple{xmp:BaseURL}{\@baseurl}%
- \hyxmp@add@to@xml{%
-______</rdf:Description>^^J%
- }%
}
\gdef\hyxmp@photoshop@schema{%
\edef\hyxmp@photoshop@data{\@pdfauthortitle\@pdfcaptionwriter}%
- \ifx\hyxmp@photoshop@data\@empty
- \else
- \hyxmp@add@to@xml{%
-______<rdf:Description rdf:about=""^^J%
-____________xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/">^^J%
- }%
- \fi
\hyxmp@add@simple{photoshop:AuthorsPosition}{\@pdfauthortitle}%
\hyxmp@add@simple{photoshop:CaptionWriter}{\@pdfcaptionwriter}%
- \ifx\hyxmp@photoshop@data\@empty
- \else
- \hyxmp@add@to@xml{%
-______</rdf:Description>^^J%
- }%
+}
+\newcommand*{\hyxmp@pdfa@id@schema}{%
+ \ifHy@pdfa
+ \hyxmp@add@simple{pdfaid:part}{\@pdfapart}%
+ \hyxmp@add@simple{pdfaid:conformance}{\@pdfaconformance}%
\fi
}
\begingroup
@@ -1008,7 +1044,7 @@ ______</rdf:Description>^^J%
\@ifnotmtargexp{#2}{%
\bgroup
\hyxmp@add@to@xml{%
-_________<#1>%
+ \hyxmp@extra@indent______<#1>%
}%
\def\@elt@first##1{%
\hyxmp@add@to@xml{##1}%
@@ -1025,8 +1061,51 @@ _________<#1>%
\egroup
}%
}
-\gdef\hyxmp@photometa@schema{%
- \edef\hyxmp@photometa@data{%
+\gdef\hyxmp@iptc@schema{%
+ \ifx\hyxmp@iptc@data\@empty
+ \else
+ \hyxmp@add@to@xml{%
+______<Iptc4xmpCore:CreatorContactInfo rdf:parseType="Resource">^^J%
+ }%
+ \bgroup
+ \edef\hyxmp@extra@indent{\hyxmp@extra@indent\space\space}%
+ \hyxmp@list@to@lines{Iptc4xmpCore:CiAdrExtadr}{\@pdfcontactaddress}%
+ \hyxmp@add@simple{Iptc4xmpCore:CiAdrCity}{\@pdfcontactcity}%
+ \hyxmp@add@simple{Iptc4xmpCore:CiAdrRegion}{\@pdfcontactregion}%
+ \hyxmp@add@simple{Iptc4xmpCore:CiAdrPcode}{\@pdfcontactpostcode}%
+ \hyxmp@add@simple{Iptc4xmpCore:CiAdrCtry}{\@pdfcontactcountry}%
+ \def\xmplinesep{,}%
+ \hyxmp@list@to@lines{Iptc4xmpCore:CiTelWork}{\@pdfcontactphone}%
+ \hyxmp@list@to@lines{Iptc4xmpCore:CiEmailWork}{\@pdfcontactemail}%
+ \hyxmp@list@to@lines{Iptc4xmpCore:CiUrlWork}{\@pdfcontacturl}%
+ \egroup
+ \hyxmp@add@to@xml{%
+______</Iptc4xmpCore:CreatorContactInfo>^^J%
+ }%
+ \fi
+}
+\newcommand*{\hyxmp@prism@schema}{%
+ \ifx\hyxmp@prism@data\@empty
+ \else
+ \hyxmp@add@simple{prism:complianceProfile}{three}%
+ \fi
+ \hyxmp@add@simple@lang{prism:subtitle}{\@pdfsubtitle}%
+ \hyxmp@add@simple@lang{prism:publicationName}{\@pdfpublication}%
+ \hyxmp@add@simple{prism:aggregationType}{\@pdfpubtype}%
+ \hyxmp@add@simple@lang{prism:bookEdition}{\@pdfbookedition}%
+ \hyxmp@add@simple{prism:volume}{\@pdfvolumenum}%
+ \hyxmp@add@simple{prism:number}{\@pdfissuenum}%
+ \hyxmp@add@simple{prism:pageRange}{\@pdfpagerange}%
+ \hyxmp@add@simple{prism:isbn}{\@pdfisbn}%
+ \hyxmp@add@simple{prism:issn}{\@pdfissn}%
+ \hyxmp@add@simple{prism:eIssn}{\@pdfeissn}%
+ \hyxmp@add@simple{prism:doi}{\@pdfdoi}%
+ \hyxmp@add@simple{prism:url}{\@pdfurl}%
+ \hyxmp@add@simple{prism:byteCount}{\@pdfbytes}%
+ \hyxmp@add@simple{prism:pageCount}{\@pdfnumpages}%
+}
+\newcommand*{\hyxmp@check@iptc@data}{%
+ \edef\hyxmp@iptc@data{%
\@pdfcontactaddress
\@pdfcontactcity
\@pdfcontactregion
@@ -1036,109 +1115,253 @@ _________<#1>%
\@pdfcontactemail
\@pdfcontacturl
}%
- \ifx\hyxmp@photometa@data\@empty
- \else
- \hyxmp@iptc@extensions
- \hyxmp@add@to@xml{%
-______<rdf:Description rdf:about=""^^J%
-___________xmlns:Iptc4xmpCore="http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/">^^J%
-_______<Iptc4xmpCore:CreatorContactInfo rdf:parseType="Resource">^^J%
- }%
- \fi
- \hyxmp@list@to@lines{Iptc4xmpCore:CiAdrExtadr}{\@pdfcontactaddress}%
- \hyxmp@add@simple{Iptc4xmpCore:CiAdrCity}{\@pdfcontactcity}%
- \hyxmp@add@simple{Iptc4xmpCore:CiAdrRegion}{\@pdfcontactregion}%
- \hyxmp@add@simple{Iptc4xmpCore:CiAdrPcode}{\@pdfcontactpostcode}%
- \hyxmp@add@simple{Iptc4xmpCore:CiAdrCtry}{\@pdfcontactcountry}%
- \bgroup
- \def\xmplinesep{,}%
- \hyxmp@list@to@lines{Iptc4xmpCore:CiTelWork}{\@pdfcontactphone}%
- \hyxmp@list@to@lines{Iptc4xmpCore:CiEmailWork}{\@pdfcontactemail}%
- \hyxmp@list@to@lines{Iptc4xmpCore:CiUrlWork}{\@pdfcontacturl}%
- \egroup
- \ifx\hyxmp@photometa@data\@empty
- \else
- \hyxmp@add@to@xml{%
-_______</Iptc4xmpCore:CreatorContactInfo>^^J%
-______</rdf:Description>^^J%
- }%
- \fi
+}%
+\newcommand*{\hyxmp@check@prism@data}{%
+ \edef\hyxmp@prism@data{%
+ \@pdfbookedition
+ \@pdfbytes
+ \@pdfdoi
+ \@pdfeissn
+ \@pdfisbn
+ \@pdfissn
+ \@pdfissuenum
+ \@pdfnumpages
+ \@pdfpagerange
+ \@pdfpublication
+ \@pdfpubtype
+ \@pdfsubtitle
+ \@pdfurl
+ \@pdfvolumenum
+ }%
+}%
+\newcommand*{\hyxmp@begin@extension@decls}{%
+ \hyxmp@add@to@xml{%
+______<pdfaExtension:schemas>^^J%
+________<rdf:Bag>^^J%
+ }%
}
-\newcommand*{\hyxmp@iptc@extensions}{%
+\newcommand*{\hyxmp@end@extension@decls}{%
+ \hyxmp@add@to@xml{%
+________</rdf:Bag>^^J%
+______</pdfaExtension:schemas>^^J%
+ }%
+}
+\newcommand*{\hyxmp@begin@ext@decl}[3]{%
\hyxmp@add@to@xml{%
-______<rdf:Description rdf:about=""^^J%
-__________xmlns:pdfaExtension="http://www.aiim.org/pdfa/ns/extension/"^^J%
-__________xmlns:pdfaSchema="http://www.aiim.org/pdfa/ns/schema\hyxmp@hash"^^J%
-__________xmlns:pdfaProperty="http://www.aiim.org/pdfa/ns/property\hyxmp@hash"^^J%
-__________xmlns:pdfaType="http://www.aiim.org/pdfa/ns/type\hyxmp@hash"^^J%
-__________xmlns:pdfaField="http://www.aiim.org/pdfa/ns/field\hyxmp@hash">^^J%
-________<pdfaExtension:schemas>^^J%
-__________<rdf:Bag>^^J%
-____________<rdf:li rdf:parseType="Resource">^^J%
-______________<pdfaSchema:schema>IPTC Core Schema</pdfaSchema:schema>^^J%
-______________<pdfaSchema:namespaceURI>http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/</pdfaSchema:namespaceURI>^^J%
-______________<pdfaSchema:prefix>Iptc4xmpCore</pdfaSchema:prefix>^^J%
-______________<pdfaSchema:property>^^J%
-________________<rdf:Seq>^^J%
-__________________<rdf:li rdf:parseType="Resource">^^J%
-____________________<pdfaProperty:name>CreatorContactInfo</pdfaProperty:name>^^J%
-____________________<pdfaProperty:valueType>contactinfo</pdfaProperty:valueType>^^J%
-____________________<pdfaProperty:category>external</pdfaProperty:category>^^J%
-____________________<pdfaProperty:description>contact information for the document's creator</pdfaProperty:description>^^J%
-__________________</rdf:li>^^J%
-________________</rdf:Seq>^^J%
-______________</pdfaSchema:property>^^J%
-______________<pdfaSchema:valueType>^^J%
-________________<rdf:Seq>^^J%
-__________________<rdf:li rdf:parseType="Resource">^^J%
-____________________<pdfaType:type>contactinfo</pdfaType:type>^^J%
-____________________<pdfaType:namespaceURI>http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/</pdfaType:namespaceURI>^^J%
-____________________<pdfaType:prefix>Iptc4xmpCore</pdfaType:prefix>^^J%
-____________________<pdfaType:description>contact information</pdfaType:description>^^J%
-____________________<pdfaType:field>^^J%
-______________________<rdf:Seq>^^J%
+__________<rdf:li rdf:parseType="Resource">^^J%
+____________<pdfaSchema:schema>#1</pdfaSchema:schema>^^J%
+____________<pdfaSchema:prefix>#2</pdfaSchema:prefix>^^J%
+____________<pdfaSchema:namespaceURI>#3</pdfaSchema:namespaceURI>^^J%
+____________<pdfaSchema:property>^^J%
+______________<rdf:Seq>^^J%
}%
- \hyxmp@text@resource{CiAdrExtadr}{contact address}%
- \hyxmp@text@resource{CiAdrCity}{contact city}%
- \hyxmp@text@resource{CiAdrRegion}{contact region}%
- \hyxmp@text@resource{CiAdrPcode}{contact postal code}%
- \hyxmp@text@resource{CiAdrCtry}{contact country}%
- \hyxmp@text@resource{CiTelWork}{contact telephone number}%
- \hyxmp@text@resource{CiEmailWork}{contact email address}%
- \hyxmp@text@resource{CiUrlWork}{contact url}%
+}%
+\newcommand*{\hyxmp@end@ext@decl}{%
+ \hyxmp@add@to@xml{%
+______________</rdf:Seq>^^J%
+____________</pdfaSchema:property>^^J%
+__________</rdf:li>^^J%
+ }%
+}%
+\newcommand{\hyxmp@declare@property}[4][Text]{%
+ \hyxmp@add@to@xml{%
+________________<rdf:li rdf:parseType="Resource">^^J%
+__________________<pdfaProperty:name>#2</pdfaProperty:name>^^J%
+__________________<pdfaProperty:valueType>#1</pdfaProperty:valueType>^^J%
+__________________<pdfaProperty:category>#3</pdfaProperty:category>^^J%
+__________________<pdfaProperty:description>#4</pdfaProperty:description>^^J%
+________________</rdf:li>^^J%
+ }%
+}%
+\newcommand{\hyxmp@declare@field}[3][Text]{%
\hyxmp@add@to@xml{%
-______________________</rdf:Seq>^^J%
-____________________</pdfaType:field>^^J%
-__________________</rdf:li>^^J%
-________________</rdf:Seq>^^J%
-______________</pdfaSchema:valueType>^^J%
-____________</rdf:li>^^J%
-__________</rdf:Bag>^^J%
-________</pdfaExtension:schemas>^^J%
-______</rdf:Description>^^J%
+______________________<rdf:li rdf:parseType="Resource">^^J%
+________________________<pdfaField:name>#2</pdfaField:name>^^J%
+________________________<pdfaField:valueType>#1</pdfaField:valueType>^^J%
+________________________<pdfaField:description>#3</pdfaField:description>^^J%
+______________________</rdf:li>^^J%
}%
}
-\newcommand*{\hyxmp@text@resource}[2]{%
+\newcommand*{\hyxmp@mm@extensions}{%
+ \hyxmp@begin@ext@decl
+ {XMP Media Management Schema}%
+ {xmpMM}%
+ {http://ns.adobe.com/xap/1.0/mm/}%
+ \hyxmp@declare@property
+ [URI]
+ {DocumentID}%
+ {internal}%
+ {UUID based identifier for all versions and renditions of a document}%
+ \hyxmp@declare@property
+ [URI]
+ {InstanceID}%
+ {internal}%
+ {UUID based identifier for specific incarnation of a document}%
+ \hyxmp@declare@property
+ {VersionID}%
+ {internal}%
+ {Document version identifier}%
+ \hyxmp@end@ext@decl
+}%
+\newcommand*{\hyxmp@pdfa@id@extensions}{%
+ \hyxmp@begin@ext@decl
+ {PDF/A Identification Schema}%
+ {pdfaid}%
+ {http://www.aiim.org/pdfa/ns/id/}%
+ \hyxmp@declare@property
+ [Integer]%
+ {part}%
+ {internal}%
+ {Part of PDF/A standard}%
+ \hyxmp@declare@property
+ {conformance}%
+ {internal}%
+ {Conformance level of PDF/A standard}%
+ \hyxmp@end@ext@decl
+}%
+\newcommand*{\hyxmp@iptc@extensions}{%
+ \hyxmp@begin@ext@decl
+ {IPTC Core Schema}%
+ {Iptc4xmpCore}%
+ {http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/}%
+ \hyxmp@declare@property
+ [ContactInfo]
+ {CreatorContactInfo}
+ {external}
+ {Document creator's contact information}
\hyxmp@add@to@xml{%
-________________________<rdf:li rdf:parseType="Resource">^^J%
-__________________________<pdfaField:name>#1</pdfaField:name>^^J%
-__________________________<pdfaField:valueType>Text</pdfaField:valueType>^^J%
-__________________________<pdfaField:description>#2</pdfaField:description>^^J%
-________________________</rdf:li>^^J%
- }
+______________</rdf:Seq>^^J%
+____________</pdfaSchema:property>^^J%
+____________<pdfaSchema:valueType>^^J%
+______________<rdf:Seq>^^J%
+________________<rdf:li rdf:parseType="Resource">^^J%
+__________________<pdfaType:type>ContactInfo</pdfaType:type>^^J%
+__________________<pdfaType:namespaceURI>http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/</pdfaType:namespaceURI>^^J%
+__________________<pdfaType:prefix>Iptc4xmpCore</pdfaType:prefix>^^J%
+__________________<pdfaType:description>%
+ Basic set of information to get in contact with a person%
+ </pdfaType:description>^^J%
+__________________<pdfaType:field>^^J%
+____________________<rdf:Seq>^^J%
+ }%
+ \hyxmp@declare@field
+ {CiAdrCity}%
+ {Contact information city}%
+ \hyxmp@declare@field
+ {CiAdrCtry}%
+ {Contact information country}%
+ \hyxmp@declare@field
+ {CiAdrExtadr}%
+ {Contact information address}%
+ \hyxmp@declare@field
+ {CiAdrPcode}%
+ {Contact information local postal code}%
+ \hyxmp@declare@field
+ {CiAdrRegion}%
+ {Contact information regional information such as state or province}%
+ \hyxmp@declare@field
+ {CiEmailWork}%
+ {Contact information email address(es)}%
+ \hyxmp@declare@field
+ {CiTelWork}%
+ {Contact information telephone number(s)}%
+ \hyxmp@declare@field
+ {CiUrlWork}%
+ {Contact information Web URL(s)}%
+ \hyxmp@add@to@xml{%
+____________________</rdf:Seq>^^J%
+__________________</pdfaType:field>^^J%
+________________</rdf:li>^^J%
+______________</rdf:Seq>^^J%
+____________</pdfaSchema:valueType>^^J%
+__________</rdf:li>^^J%
+ }%
}
-\newcommand*{\hyxmp@pdfa@id@schema}{%
+\newcommand*{\hyxmp@prism@extensions}{%
+ \hyxmp@begin@ext@decl
+ {PRISM Basic Metadata}%
+ {prism}%
+ {http://prismstandard.org/namespaces/basic/2.1/}%
+ \hyxmp@declare@property
+ {complianceProfile}%
+ {internal}%
+ {PRISM specification compliance profile to which this document adheres}%
+ \hyxmp@declare@property
+ {publicationName}%
+ {external}%
+ {Publication name}%
+ \hyxmp@declare@property
+ {aggregationType}%
+ {external}%
+ {Publication type}%
+ \hyxmp@declare@property
+ {bookEdition}%
+ {external}%
+ {Edition of the book in which the document was published}%
+ \hyxmp@declare@property
+ {volume}%
+ {external}%
+ {Publication volume number}%
+ \hyxmp@declare@property
+ {number}%
+ {external}%
+ {Publication issue number within a volume}%
+ \hyxmp@declare@property
+ {pageRange}%
+ {external}%
+ {Page range for the document within the print version of its publication}%
+ \hyxmp@declare@property
+ {issn}%
+ {external}%
+ {ISSN for the printed publication in which the document was published}%
+ \hyxmp@declare@property
+ {eIssn}%
+ {external}%
+ {ISSN for the electronic publication in which the document was published}%
+ \hyxmp@declare@property
+ {isbn}%
+ {external}%
+ {ISBN for the publication in which the document was published}%
+ \hyxmp@declare@property
+ {doi}%
+ {external}%
+ {Digital Object Identifier for the document}%
+ \hyxmp@declare@property
+ [URL]
+ {url}%
+ {external}%
+ {URL at which the document can be found}%
+ \hyxmp@declare@property
+ [Integer]
+ {byteCount}%
+ {internal}%
+ {Approximate file size in octets}%
+ \hyxmp@declare@property
+ [Integer]
+ {pageCount}%
+ {internal}%
+ {Number of pages in the print version of the document}%
+ \hyxmp@declare@property
+ {subtitle}%
+ {external}%
+ {Document's subtitle}%
+ \hyxmp@end@ext@decl
+}%
+\newcommand*{\hyxmp@declare@extensions}{%
+ \hyxmp@begin@extension@decls
+ \hyxmp@mm@extensions
\ifHy@pdfa
- \hyxmp@add@to@xml{%
-______<rdf:Description rdf:about=""^^J%
-____________xmlns:pdfaid="http://www.aiim.org/pdfa/ns/id/">^^J%
- }%
- \hyxmp@add@simple{pdfaid:part}{\@pdfapart}%
- \hyxmp@add@simple{pdfaid:conformance}{\@pdfaconformance}%
- \hyxmp@add@to@xml{%
-______</rdf:Description>^^J%
- }%
+ \hyxmp@mm@extensions
+ \fi
+ \ifx\hyxmp@iptc@data\@empty
+ \else
+ \hyxmp@iptc@extensions
+ \fi
+ \ifx\hyxmp@prism@data\@empty
+ \else
+ \hyxmp@prism@extensions
\fi
+ \hyxmp@end@extension@decls
}
\begingroup
\ifhyxmp@unicodetex
@@ -1157,20 +1380,41 @@ ______</rdf:Description>^^J%
\gdef\hyxmp@xml{}%
\hyxmp@add@to@xml{<?xpacket begin="\hyxmp@bom" %
id="W5M0MpCehiHzreSzNTczkc9d"?>^^J%
-<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="3.1-702">^^J%
-___<rdf:RDF
+<x:xmpmeta xmlns:x="adobe:ns:meta/">^^J%
+__<rdf:RDF %
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns\hyxmp@hash">^^J%
+____<rdf:Description rdf:about=""^^J%
+_____________________xmlns:pdf="http://ns.adobe.com/pdf/1.3/"^^J%
+_____________________xmlns:xmpRights="http://ns.adobe.com/xap/1.0/rights/"^^J%
+_____________________xmlns:dc="http://purl.org/dc/elements/1.1/"^^J%
+_____________________xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/"^^J%
+_____________________xmlns:xmp="http://ns.adobe.com/xap/1.0/"^^J%
+_____________________xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"^^J%
+_____________________xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent\hyxmp@hash"^^J%
+_____________________xmlns:pdfaid="http://www.aiim.org/pdfa/ns/id/"^^J%
+_____________________xmlns:prism="http://prismstandard.org/namespaces/basic/2.1/"^^J%
+_____________________xmlns:Iptc4xmpCore="http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/"^^J%
+_____________________xmlns:pdfaExtension="http://www.aiim.org/pdfa/ns/extension/"^^J%
+_____________________xmlns:pdfaSchema="http://www.aiim.org/pdfa/ns/schema\hyxmp@hash"^^J%
+_____________________xmlns:pdfaProperty="http://www.aiim.org/pdfa/ns/property\hyxmp@hash"^^J%
+_____________________xmlns:pdfaType="http://www.aiim.org/pdfa/ns/type\hyxmp@hash"^^J%
+_____________________xmlns:pdfaField="http://www.aiim.org/pdfa/ns/field\hyxmp@hash">^^J%
}%
+ \hyxmp@check@iptc@data
+ \hyxmp@check@prism@data
+ \hyxmp@declare@extensions
\hyxmp@pdf@schema
\hyxmp@xmpRights@schema
\hyxmp@dc@schema
\hyxmp@photoshop@schema
- \hyxmp@photometa@schema
\hyxmp@xmp@basic@schema
\hyxmp@pdfa@id@schema
\hyxmp@mm@schema
+ \hyxmp@iptc@schema
+ \hyxmp@prism@schema
\hyxmp@add@to@xml{%
-___</rdf:RDF>^^J%
+____</rdf:Description>^^J%
+__</rdf:RDF>^^J%
</x:xmpmeta>^^J%
\hyxmp@padding
<?xpacket end="w"?>^^J%