[latex3-commits] [latex3/pdfresources] develop: add support for declarations (78fe11a)
github at latex-project.org
github at latex-project.org
Mon Nov 20 16:06:10 CET 2023
Repository : https://github.com/latex3/pdfresources
On branch : develop
Link : https://github.com/latex3/pdfresources/commit/78fe11aa2014a97557b7f5305a70c35f6117b746
>---------------------------------------------------------------
commit 78fe11aa2014a97557b7f5305a70c35f6117b746
Author: Ulrike Fischer <fischer at troubleshooting-tex.de>
Date: Mon Nov 20 16:06:10 2023 +0100
add support for declarations
>---------------------------------------------------------------
78fe11aa2014a97557b7f5305a70c35f6117b746
l3pdfmeta.dtx | 118 +++++++++-
testfiles-pdftex/metadata-declarations.lvt | 27 +++
testfiles-pdftex/metadata-declarations.tlg | 345 +++++++++++++++++++++++++++++
3 files changed, 488 insertions(+), 2 deletions(-)
diff --git a/l3pdfmeta.dtx b/l3pdfmeta.dtx
index b42ec8a..3c75208 100644
--- a/l3pdfmeta.dtx
+++ b/l3pdfmeta.dtx
@@ -557,6 +557,31 @@
% With this command a xmlns name space can be added.
% \end{function}
%
+% With the two following commands PDF declarations can be added to the XMP metadata
+% (see \url{https://pdfa.org/wp-content/uploads/2019/09/PDF-Declarations.pdf}).
+% \begin{function}{\pdfmeta_xmp_add_declaration:n,\pdfmeta_xmp_add_declaration:e}
+% \begin{syntax}
+% \cs{pdfmeta_xmp_add_declaration:n}\Arg{uri}
+% \end{syntax}
+% This add a PDF declaration with the required |conformsTo| property to the XMP metadata.
+% \meta{uri} should not be empty and is a URI specifying
+% the standard or profile referred to by the PDF
+% Declaration. If the uri contains a hash, use \cs{c_hash_str} to excape it
+% and use the \texttt{e} variant to expand it.
+% \end{function}
+%
+% \begin{function}{\pdfmeta_xmp_add_declaration:nnnnn,\pdfmeta_xmp_add_declaration:ennnn}
+% \begin{syntax}
+% \cs{pdfmeta_xmp_add_declaration:nnnnn}\Arg{uri}\Arg{By}\Arg{Date}\Arg{Credentials}\Arg{Report}
+% \end{syntax}
+% This add a PDF declaration to the XMP metadata similar
+% to \cs{\pdfmeta_xmp_add_declaration:n}.
+% With \meta{By}, \meta{Date}, \meta{Credentials}, \meta{Report} the optional
+% fields |claimBy| (text), |claimDate| (iso date), |claimCredentials| (text) and
+% |claimReport| (uri) of the |claimData| property can be given.
+% If \cs{pdfmeta_xmp_add_declaration:nnnnn} is used twice with the same \meta{uri}
+% argument the |claimData| are concatenated. There is no check if the |claimData| are identical.
+% \end{function}
% \end{documentation}
%
% \begin{implementation}
@@ -1735,6 +1760,7 @@
\@@_xmp_build_pdf:
\@@_xmp_build_xmpRights:
\@@_xmp_build_standards: %pdfaid,pdfxid,pdfuaid
+ \@@_xmp_build_pdfd:
\@@_xmp_build_dc:
\@@_xmp_build_photoshop:
\@@_xmp_build_xmp:
@@ -2319,8 +2345,56 @@
% \end{macrocode}
% \end{macro}
%
-
-% \subsubsection{Photoshop}
+% \subsection{Declarations}
+% See \url{https://pdfa.org/wp-content/uploads/2019/09/PDF-Declarations.pdf}
+%
+% \begin{variable}{\g_@@_xmp_pdfd_data_prop}
+% This holds the data for declarations.
+% \begin{macrocode}
+\prop_new:N \g_@@_xmp_pdfd_data_prop
+% \end{macrocode}
+% \end{variable}
+% the main building command used in the xmp generation
+% \begin{macro}{\@@_xmp_build_pdfd:}
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_xmp_build_pdfd:
+ {
+ \prop_if_empty:NF\g_@@_xmp_pdfd_data_prop
+ {
+ \@@_xmp_add_packet_open:nn{pdfd}{declarations}
+ \@@_xmp_add_packet_open:nn{rdf}{Bag}
+ \prop_map_inline:Nn \g_@@_xmp_pdfd_data_prop
+ {
+ \@@_xmp_build_pdfd_claim:nn{##1}{##2}
+ }
+ \@@_xmp_add_packet_close:nn{rdf}{Bag}
+ \@@_xmp_add_packet_close:nn{pdfd}{declarations}
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\@@_xmp_build_pdfd_claim:nn}
+% This build the xml for one claim. If there is no
+% claimData only the conformsTo is output.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_xmp_build_pdfd_claim:nn #1#2
+ {
+ \@@_xmp_add_packet_open_attr:nnn{rdf}{li}{rdf:parseType="Resource"}
+ \@@_xmp_add_packet_line:nnn{pdfd}{conformsTo}{#1}
+ \tl_if_empty:nF {#2}
+ {
+ \@@_xmp_add_packet_open:nn{pdfd}{claimData}
+ \@@_xmp_add_packet_open:nn{rdf}{Bag}
+ #2
+ \@@_xmp_add_packet_close:nn{rdf}{Bag}
+ \@@_xmp_add_packet_close:nn{pdfd}{claimData}
+ }
+ \@@_xmp_add_packet_close:nn{rdf}{li}
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Photoshop}
% \begin{macro}{\@@_xmp_build_photoshop:}
% \begin{macrocode}
\cs_new_protected:Npn \@@_xmp_build_photoshop:
@@ -2711,6 +2785,46 @@
}
% \end{macrocode}
% \end{macro}
+%
+% \begin{macro}{\pdfmeta_xmp_add_declaration:n,\pdfmeta_xmp_add_declaration:e}
+% \begin{macrocode}
+\cs_new_protected:Npn \pdfmeta_xmp_add_declaration:n #1 %conformsTo uri
+ {
+ \@@_xmp_schema_enable_pdfd:
+ \prop_gput:Nnn\g_@@_xmp_pdfd_data_prop{#1}{}
+ }
+\cs_generate_variant:Nn \pdfmeta_xmp_add_declaration:n {e}
+% \end{macrocode}
+
+% \begin{macro}{\pdfmeta_xmp_add_declaration:nnnnn,\pdfmeta_xmp_add_declaration:ennnn}
+% \begin{macrocode}
+\cs_new_protected:Npn \pdfmeta_xmp_add_declaration:nnnnn #1#2#3#4#5
+ %#1=conformsTo uri, #2 claimBy, #3 claimDate #4 claimCredentials #4 claimReport
+ {
+ \@@_xmp_schema_enable_pdfd:
+ \tl_set:Nn \l_@@_tmpa_tl
+ {
+ \@@_xmp_add_packet_open_attr:nnn{rdf}{li}{rdf:parseType="Resource"}
+ \@@_xmp_add_packet_line:nnn{pdfd}{claimBy}{#2}
+ \@@_xmp_add_packet_line:nnn{pdfd}{claimDate}{#3}
+ \@@_xmp_add_packet_line:nnn{pdfd}{claimCredentials}{#4}
+ \@@_xmp_add_packet_line:nnn{pdfd}{claimReport}{#5}
+ \@@_xmp_add_packet_close:nn{rdf}{li}
+ }
+ \prop_get:NnNT \g_@@_xmp_pdfd_data_prop {#1}\l_@@_tmpb_tl
+ {
+ \tl_concat:NNN \l_@@_tmpa_tl \l_@@_tmpa_tl \l_@@_tmpb_tl
+ }
+ \prop_gput:Nno\g_@@_xmp_pdfd_data_prop{#1}
+ {
+ \l_@@_tmpa_tl
+ }
+ }
+\cs_generate_variant:Nn\pdfmeta_xmp_add_declaration:nnnnn {e}
+% \end{macrocode}
+
+%
+% \end{macro}
% \begin{macrocode}
%</package>
% \end{macrocode}
diff --git a/testfiles-pdftex/metadata-declarations.lvt b/testfiles-pdftex/metadata-declarations.lvt
new file mode 100644
index 0000000..7bb26ff
--- /dev/null
+++ b/testfiles-pdftex/metadata-declarations.lvt
@@ -0,0 +1,27 @@
+\ExplSyntaxOn
+\debug_on:n { check-declarations , deprecation }
+\msg_redirect_module:nnn { pdf } { none } { warning }
+\ExplSyntaxOff
+\DocumentMetadata{}
+\input{regression-test}
+\DocumentMetadata{debug={xmp-export}}
+
+\documentclass{article}
+\ExplSyntaxOn
+\pdfmeta_xmp_add_declaration:e
+ {https://pdfa.org/declarations\c_hash_str iso32005}
+
+\pdfmeta_xmp_add_declaration:ennnn
+ {https://pdfa.org/declarations\c_hash_str wcag21A}{}{2023-11-20}{}{}
+
+\pdfmeta_xmp_add_declaration:nnnnn
+ {https://github.com/TikZlings/no-duck-harmed}{Ulrike~Fischer}{2023-11-20}{Bär}{https://github.com/u-fischer/bearwear}
+\pdfmeta_xmp_add_declaration:nnnnn
+ {https://github.com/TikZlings/no-duck-harmed}{Ulrike~Fischer}{2023-11-20}{Paulo}{https://github.com/cereda/sillypage}
+\ExplSyntaxOff
+\START
+\SHOWFILE{\jobname.xmpi}
+\OMIT
+\begin{document}
+text
+\end{document}
\ No newline at end of file
diff --git a/testfiles-pdftex/metadata-declarations.tlg b/testfiles-pdftex/metadata-declarations.tlg
new file mode 100644
index 0000000..d965f3d
--- /dev/null
+++ b/testfiles-pdftex/metadata-declarations.tlg
@@ -0,0 +1,345 @@
+This is a generated file for the l3build validation system.
+Don't change this file in any respect.
+-------- metadata-declarations.xmpi (start) ---------
+(metadata-declarations.xmpi)
+^^M
+<?xpacket begin="^^ef^^bb^^bf" id="W5M0MpCehiHzreSzNTczkc9d"?>^^M
+<x:xmpmeta xmlns:x="adobe:ns:meta/">^^M
+ <rdf:RDF xmlns:rdf="http://www.w3.org/....-..-..-rdf-syntax-ns#">^^M
+ <rdf:Description rdf:about=""^^M
+ xmlns:pdf="http://ns.adobe.com/pdf/1.3/"^^M
+ xmlns:xmpRights="http://ns.adobe.com/xap/1.0/rights/"^^M
+ xmlns:dc="http://purl.org/dc/elements/1.1/"^^M
+ xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/"^^M
+ xmlns:xmp="http://ns.adobe.com/xap/1.0/"^^M
+ xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"^^M
+ xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"^^M
+ xmlns:pdfaid="http://www.aiim.org/pdfa/ns/id/"^^M
+ xmlns:pdfuaid="http://www.aiim.org/pdfua/ns/id/"^^M
+ xmlns:pdfx="http://ns.adobe.com/pdfx/1.3/"^^M
+ xmlns:pdfxid="http://www.npes.org/pdfx/ns/id/"^^M
+ xmlns:prism="http://prismstandard.org/namespaces/basic/3.0/"^^M
+ xmlns:stFnt="http://ns.adobe.com/xap/1.0/sType/Font#"^^M
+ xmlns:Iptc4xmpCore="http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/"^^M
+ xmlns:pdfaExtension="http://www.aiim.org/pdfa/ns/extension/"^^M
+ xmlns:pdfaSchema="http://www.aiim.org/pdfa/ns/schema#"^^M
+ xmlns:pdfaProperty="http://www.aiim.org/pdfa/ns/property#"^^M
+ xmlns:pdfaType="http://www.aiim.org/pdfa/ns/type#"^^M
+ xmlns:pdfaField="http://www.aiim.org/pdfa/ns/field#"^^M
+ xmlns:pdfd="http://pdfa.org/declarations/">^^M
+ <pdfaExtension:schemas>^^M
+ <rdf:Bag>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaSchema:schema>XMP Media Management Schema</pdfaSchema:schema>^^M
+ <pdfaSchema:prefix>xmpMM</pdfaSchema:prefix>^^M
+ <pdfaSchema:namespaceURI>http://ns.adobe.com/xap/1.0/mm/</pdfaSchema:namespaceURI>^^M
+ <pdfaSchema:property>^^M
+ <rdf:Seq>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaProperty:name>OriginalDocumentID</pdfaProperty:name>^^M
+ <pdfaProperty:valueType>URI</pdfaProperty:valueType>^^M
+ <pdfaProperty:category>internal</pdfaProperty:category>^^M
+ <pdfaProperty:description>The common identifier for all versions and renditions of a document.</pdfaProperty:description>^^M
+ </rdf:li>^^M
+ </rdf:Seq>^^M
+ </pdfaSchema:property>^^M
+ </rdf:li>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaSchema:schema>PDF/A Identification Schema</pdfaSchema:schema>^^M
+ <pdfaSchema:prefix>pdfaid</pdfaSchema:prefix>^^M
+ <pdfaSchema:namespaceURI>http://www.aiim.org/pdfa/ns/id/</pdfaSchema:namespaceURI>^^M
+ <pdfaSchema:property>^^M
+ <rdf:Seq>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaProperty:name>year</pdfaProperty:name>^^M
+ <pdfaProperty:valueType>Integer</pdfaProperty:valueType>^^M
+ <pdfaProperty:category>internal</pdfaProperty:category>^^M
+ <pdfaProperty:description>Year of standard</pdfaProperty:description>^^M
+ </rdf:li>^^M
+ </rdf:Seq>^^M
+ </pdfaSchema:property>^^M
+ </rdf:li>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaSchema:schema>PDF/UA Universal Accessibility Schema</pdfaSchema:schema>^^M
+ <pdfaSchema:prefix>pdfuaid</pdfaSchema:prefix>^^M
+ <pdfaSchema:namespaceURI>http://www.aiim.org/pdfua/ns/id/</pdfaSchema:namespaceURI>^^M
+ <pdfaSchema:property>^^M
+ <rdf:Seq>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaProperty:name>part</pdfaProperty:name>^^M
+ <pdfaProperty:valueType>Integer</pdfaProperty:valueType>^^M
+ <pdfaProperty:category>internal</pdfaProperty:category>^^M
+ <pdfaProperty:description>Part of ISO 14289 standard</pdfaProperty:description>^^M
+ </rdf:li>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaProperty:name>rev</pdfaProperty:name>^^M
+ <pdfaProperty:valueType>Integer</pdfaProperty:valueType>^^M
+ <pdfaProperty:category>internal</pdfaProperty:category>^^M
+ <pdfaProperty:description>Revision of ISO 14289 standard</pdfaProperty:description>^^M
+ </rdf:li>^^M
+ </rdf:Seq>^^M
+ </pdfaSchema:property>^^M
+ </rdf:li>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaSchema:schema>PDF/X ID Schema</pdfaSchema:schema>^^M
+ <pdfaSchema:prefix>pdfxid</pdfaSchema:prefix>^^M
+ <pdfaSchema:namespaceURI>http://www.npes.org/pdfx/ns/id/</pdfaSchema:namespaceURI>^^M
+ <pdfaSchema:property>^^M
+ <rdf:Seq>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaProperty:name>GTS_PDFXVersion</pdfaProperty:name>^^M
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^M
+ <pdfaProperty:category>internal</pdfaProperty:category>^^M
+ <pdfaProperty:description>ID of PDF/X standard</pdfaProperty:description>^^M
+ </rdf:li>^^M
+ </rdf:Seq>^^M
+ </pdfaSchema:property>^^M
+ </rdf:li>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaSchema:schema>PRISM Basic Metadata</pdfaSchema:schema>^^M
+ <pdfaSchema:prefix>prism</pdfaSchema:prefix>^^M
+ <pdfaSchema:namespaceURI>http://prismstandard.org/namespaces/basic/3.0/</pdfaSchema:namespaceURI>^^M
+ <pdfaSchema:property>^^M
+ <rdf:Seq>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaProperty:name>complianceProfile</pdfaProperty:name>^^M
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^M
+ <pdfaProperty:category>internal</pdfaProperty:category>^^M
+ <pdfaProperty:description>PRISM specification compliance profile to which this document adheres</pdfaProperty:description>^^M
+ </rdf:li>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaProperty:name>publicationName</pdfaProperty:name>^^M
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^M
+ <pdfaProperty:category>external</pdfaProperty:category>^^M
+ <pdfaProperty:description>Publication name</pdfaProperty:description>^^M
+ </rdf:li>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaProperty:name>aggregationType</pdfaProperty:name>^^M
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^M
+ <pdfaProperty:category>external</pdfaProperty:category>^^M
+ <pdfaProperty:description>Publication type</pdfaProperty:description>^^M
+ </rdf:li>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaProperty:name>bookEdition</pdfaProperty:name>^^M
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^M
+ <pdfaProperty:category>external</pdfaProperty:category>^^M
+ <pdfaProperty:description>Edition of the book in which the document was published</pdfaProperty:description>^^M
+ </rdf:li>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaProperty:name>volume</pdfaProperty:name>^^M
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^M
+ <pdfaProperty:category>external</pdfaProperty:category>^^M
+ <pdfaProperty:description>Publication volume number</pdfaProperty:description>^^M
+ </rdf:li>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaProperty:name>number</pdfaProperty:name>^^M
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^M
+ <pdfaProperty:category>external</pdfaProperty:category>^^M
+ <pdfaProperty:description>Publication issue number within a volume</pdfaProperty:description>^^M
+ </rdf:li>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaProperty:name>pageRange</pdfaProperty:name>^^M
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^M
+ <pdfaProperty:category>external</pdfaProperty:category>^^M
+ <pdfaProperty:description>Page range for the document within the print version of its publication</pdfaProperty:description>^^M
+ </rdf:li>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaProperty:name>issn</pdfaProperty:name>^^M
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^M
+ <pdfaProperty:category>external</pdfaProperty:category>^^M
+ <pdfaProperty:description>ISSN for the printed publication in which the document was published</pdfaProperty:description>^^M
+ </rdf:li>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaProperty:name>eIssn</pdfaProperty:name>^^M
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^M
+ <pdfaProperty:category>external</pdfaProperty:category>^^M
+ <pdfaProperty:description>ISSN for the electronic publication in which the document was published</pdfaProperty:description>^^M
+ </rdf:li>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaProperty:name>isbn</pdfaProperty:name>^^M
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^M
+ <pdfaProperty:category>external</pdfaProperty:category>^^M
+ <pdfaProperty:description>ISBN for the publication in which the document was published</pdfaProperty:description>^^M
+ </rdf:li>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaProperty:name>doi</pdfaProperty:name>^^M
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^M
+ <pdfaProperty:category>external</pdfaProperty:category>^^M
+ <pdfaProperty:description>Digital Object Identifier for the document</pdfaProperty:description>^^M
+ </rdf:li>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaProperty:name>url</pdfaProperty:name>^^M
+ <pdfaProperty:valueType>URL</pdfaProperty:valueType>^^M
+ <pdfaProperty:category>external</pdfaProperty:category>^^M
+ <pdfaProperty:description>URL at which the document can be found</pdfaProperty:description>^^M
+ </rdf:li>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaProperty:name>byteCount</pdfaProperty:name>^^M
+ <pdfaProperty:valueType>Integer</pdfaProperty:valueType>^^M
+ <pdfaProperty:category>internal</pdfaProperty:category>^^M
+ <pdfaProperty:description>Approximate file size in octets</pdfaProperty:description>^^M
+ </rdf:li>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaProperty:name>pageCount</pdfaProperty:name>^^M
+ <pdfaProperty:valueType>Integer</pdfaProperty:valueType>^^M
+ <pdfaProperty:category>internal</pdfaProperty:category>^^M
+ <pdfaProperty:description>Number of pages in the print version of the document</pdfaProperty:description>^^M
+ </rdf:li>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaProperty:name>subtitle</pdfaProperty:name>^^M
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^M
+ <pdfaProperty:category>external</pdfaProperty:category>^^M
+ <pdfaProperty:description>Document's subtitle</pdfaProperty:description>^^M
+ </rdf:li>^^M
+ </rdf:Seq>^^M
+ </pdfaSchema:property>^^M
+ </rdf:li>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaSchema:schema>PDF Declarations Schema</pdfaSchema:schema>^^M
+ <pdfaSchema:prefix>pdfd</pdfaSchema:prefix>^^M
+ <pdfaSchema:namespaceURI>http://pdfa.org/declarations/</pdfaSchema:namespaceURI>^^M
+ <pdfaSchema:property>^^M
+ <rdf:Seq>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaProperty:name>declarations</pdfaProperty:name>^^M
+ <pdfaProperty:valueType>Bag declaration</pdfaProperty:valueType>^^M
+ <pdfaProperty:category>external</pdfaProperty:category>^^M
+ <pdfaProperty:description>An unordered array of PDF Declaration entries, where each PDF Declaration representing a statement of conformance with an identified external standard or profile, along with optional information identifying the nature of the claim.</pdfaProperty:description>^^M
+ </rdf:li>^^M
+ </rdf:Seq>^^M
+ </pdfaSchema:property>^^M
+ <pdfaSchema:valueType>^^M
+ <rdf:Seq>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaType:type>claim</pdfaType:type>^^M
+ <pdfaType:namespaceURI>http://pdfa.org/declarations/</pdfaType:namespaceURI>^^M
+ <pdfaType:prefix>pdfd</pdfaType:prefix>^^M
+ <pdfaType:description>A structure describing properties of an individualclaim.</pdfaType:description>^^M
+ <pdfaType:field>^^M
+ <rdf:Seq>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaField:name>claimReport</pdfaField:name>^^M
+ <pdfaField:valueType>Text</pdfaField:valueType>^^M
+ <pdfaField:description>A URL to a report containing details of the specific conformance claim.</pdfaField:description>^^M
+ </rdf:li>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaField:name>claimCredentials</pdfaField:name>^^M
+ <pdfaField:valueType>Text</pdfaField:valueType>^^M
+ <pdfaField:description>The claimant's credentials.</pdfaField:description>^^M
+ </rdf:li>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaField:name>claimDate</pdfaField:name>^^M
+ <pdfaField:valueType>Text</pdfaField:valueType>^^M
+ <pdfaField:description>A date identifying when the claim was made.</pdfaField:description>^^M
+ </rdf:li>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaField:name>claimBy</pdfaField:name>^^M
+ <pdfaField:valueType>Text</pdfaField:valueType>^^M
+ <pdfaField:description>The name of the organization and/or individual and/or software making the claim.</pdfaField:description>^^M
+ </rdf:li>^^M
+ </rdf:Seq>^^M
+ </pdfaType:field>^^M
+ </rdf:li>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaType:type>declaration</pdfaType:type>^^M
+ <pdfaType:namespaceURI>http://pdfa.org/declarations/</pdfaType:namespaceURI>^^M
+ <pdfaType:prefix>pdfd</pdfaType:prefix>^^M
+ <pdfaType:description>A structure describing a single PDF Declaration asserting conformance with an externally-identified standard or profile.</pdfaType:description>^^M
+ <pdfaType:field>^^M
+ <rdf:Seq>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaField:name>conformsTo</pdfaField:name>^^M
+ <pdfaField:valueType>Text</pdfaField:valueType>^^M
+ <pdfaField:description>A property containing a URI specifying the standard or profile by the PDF Declaration. This property is intended to mirror the Dublin Core property dc:conformsTo.</pdfaField:description>^^M
+ </rdf:li>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfaField:name>claimData</pdfaField:name>^^M
+ <pdfaField:valueType>Bag claim</pdfaField:valueType>^^M
+ <pdfaField:description>An unordered array of claim data, where each claim identifies the nature of the claim.</pdfaField:description>^^M
+ </rdf:li>^^M
+ </rdf:Seq>^^M
+ </pdfaType:field>^^M
+ </rdf:li>^^M
+ </rdf:Seq>^^M
+ </pdfaSchema:valueType>^^M
+ </rdf:li>^^M
+ </rdf:Bag>^^M
+ </pdfaExtension:schemas>^^M
+ <pdf:Producer>pdftex-NN.NN.NN</pdf:Producer>^^M
+ <pdf:PDFVersion>1.5</pdf:PDFVersion>^^M
+ <pdfd:declarations>^^M
+ <rdf:Bag>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfd:conformsTo>https://pdfa.org/declarations#iso32005</pdfd:conformsTo>^^M
+ </rdf:li>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfd:conformsTo>https://pdfa.org/declarations#wcag21A</pdfd:conformsTo>^^M
+ <pdfd:claimData>^^M
+ <rdf:Bag>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfd:claimDate>....-..-..</pdfd:claimDate>^^M
+ </rdf:li>^^M
+ </rdf:Bag>^^M
+ </pdfd:claimData>^^M
+ </rdf:li>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfd:conformsTo>https://github.com/TikZlings/no-duck-harmed</pdfd:conformsTo>^^M
+ <pdfd:claimData>^^M
+ <rdf:Bag>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfd:claimBy>Ulrike Fischer</pdfd:claimBy>^^M
+ <pdfd:claimDate>....-..-..</pdfd:claimDate>^^M
+ <pdfd:claimCredentials>Paulo</pdfd:claimCredentials>^^M
+ <pdfd:claimReport>https://github.com/cereda/sillypage</pdfd:claimReport>^^M
+ </rdf:li>^^M
+ <rdf:li rdf:parseType="Resource">^^M
+ <pdfd:claimBy>Ulrike Fischer</pdfd:claimBy>^^M
+ <pdfd:claimDate>....-..-..</pdfd:claimDate>^^M
+ <pdfd:claimCredentials>B^^c3^^a4r</pdfd:claimCredentials>^^M
+ <pdfd:claimReport>https://github.com/u-fischer/bearwear</pdfd:claimReport>^^M
+ </rdf:li>^^M
+ </rdf:Bag>^^M
+ </pdfd:claimData>^^M
+ </rdf:li>^^M
+ </rdf:Bag>^^M
+ </pdfd:declarations>^^M
+ <dc:type>^^M
+ <rdf:Bag>^^M
+ <rdf:li>Text</rdf:li>^^M
+ </rdf:Bag>^^M
+ </dc:type>^^M
+ <dc:language>^^M
+ <rdf:Bag>^^M
+ <rdf:li>en-US</rdf:li>^^M
+ </rdf:Bag>^^M
+ </dc:language>^^M
+ <dc:date>^^M
+ <rdf:Seq>^^M
+ <rdf:li>....-..-..T09:00:00Z</rdf:li>^^M
+ </rdf:Seq>^^M
+ </dc:date>^^M
+ <dc:format>application/pdf</dc:format>^^M
+ <dc:source>metadata-declarations.tex</dc:source>^^M
+ <xmp:CreatorTool>LaTeX</xmp:CreatorTool>^^M
+ <xmp:CreateDate>....-..-..T09:00:00Z</xmp:CreateDate>^^M
+ <xmp:ModifyDate>....-..-..T09:00:00Z</xmp:ModifyDate>^^M
+ <xmp:MetadataDate>....-..-..T09:00:00Z</xmp:MetadataDate>^^M
+ <xmpMM:DocumentID>uuid:63828731-84a6-4bef-8c1b-282986d0a0e2</xmpMM:DocumentID>^^M
+ <xmpMM:InstanceID>uuid:0a57c455-157a-4141-8c19-6237d832fc80</xmpMM:InstanceID>^^M
+ <prism:complianceProfile>three</prism:complianceProfile>^^M
+ <prism:pageCount>1</prism:pageCount>^^M
+ </rdf:Description>^^M
+ </rdf:RDF>^^M
+</x:xmpmeta>^^M
+^^M
+^^M
+^^M
+^^M
+^^M
+^^M
+^^M
+^^M
+^^M
+^^M
+<?xpacket end="w"?>^^M
+-------- metadata-declarations.xmpi (end) -----------
More information about the latex3-commits
mailing list.