diff options
author | Karl Berry <karl@freefriends.org> | 2019-04-02 21:12:27 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-04-02 21:12:27 +0000 |
commit | 67e8fdf0c52653c7559b4665070a96c9c97d0d25 (patch) | |
tree | 39156da400b34cff0c515d46d36f394375360b85 /Master/texmf-dist/tex/latex/hyperxmp | |
parent | a538e0c7c47ec0e5a275e4d86ea8e748a3854346 (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.sty | 586 |
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% |