Worked example
From a filled-in form to a PDF you can check
Every step below produced a file that is on this page. The form is staged; the document at the end of it is the one the pipeline actually built.
Why this page has files on it
Software that generates documents is easy to demonstrate and hard to verify. A screenshot proves nothing about the file, and a live form you cannot inspect proves only that something came back.
So the evidence is here instead of the demonstration. Pick a document, read the input it was built from, and download two things: the PDF, and the validator's report on it. You can run your own validator against the same file and compare.
How a document comes about here
Three roles and four steps. On the left, whoever ends up asking for the document; in the middle, what the platform holds; on the right, whoever set it up. Top to bottom: a template with a declared data requirement, a form that answers it, and the file that comes out.
Author writes the template
Template
The layout and the logic of one document type, under version control.
Document interface
Declares which data the template needs and what counts as a valid answer. Wrong data does not get through. It stands apart from the form: it asks, it does not collect.
Programmer composes the interface and the form
Form
One way to answer that — in full or in part; the rest can come from elsewhere. Whoever fills it in needs to know nothing about the template.
End user is handed the form and fills it in
Document
A PDF that meets the standard, with the validator's report beside it.
Pick a document
Three of the document types XDAP builds. The fields are the input contract; the file underneath is what came out of it.
A periodic electrical inspection under NEN 3140, written by the inspector on site and issued as a fixed record.
PDF/A-4f + PDF/UA-2
Tagged, so it carries a structure tree to navigate — which is what PDF/UA-2 asserts.
PDF/A-2a + PDF/UA-1
Tagged, on PDF 1.7. The pair Dutch public bodies find on their own standards list, with headings a pre-2.0 reader resolves.
PDF/A-2b
Untagged. PDF/A-2b covers archiving and asserts nothing about accessibility; PDF/UA-2 needs PDF 2.0 and this file is 1.7.
A written appointment under the Dutch VIAG rules, naming a person, a scope of work and the installations it covers.
PDF/A-4f + PDF/UA-2
Tagged, so it carries a structure tree to navigate — which is what PDF/UA-2 asserts.
PDF/A-2a + PDF/UA-1
Tagged, on PDF 1.7. The pair Dutch public bodies find on their own standards list, with headings a pre-2.0 reader resolves.
PDF/A-2b
Untagged. PDF/A-2b covers archiving and asserts nothing about accessibility; PDF/UA-2 needs PDF 2.0 and this file is 1.7.
The assignment that goes with the appointment: what the named person may be given to do, and under which appointment.
PDF/A-4f + PDF/UA-2
Tagged, so it carries a structure tree to navigate — which is what PDF/UA-2 asserts.
PDF/A-2a + PDF/UA-1
Tagged, on PDF 1.7. The pair Dutch public bodies find on their own standards list, with headings a pre-2.0 reader resolves.
PDF/A-2b
Untagged. PDF/A-2b covers archiving and asserts nothing about accessibility; PDF/UA-2 needs PDF 2.0 and this file is 1.7.
This form is an example. The fields are filled in and cannot be edited, and nothing on this page sends anything anywhere. The PDFs and the validator reports are real files, built by the pipeline this page describes.
About these examples
The example documents are in Dutch because the rules they encode are: NEN 3140 for the inspection report, the VIAG rules for the appointment and the assignment that goes with it. The pipeline itself is not language-bound; these examples are.
They are templates, not copies of documents issued to anybody. Nothing on this page came out of a client engagement, and the parties in them are invented for that reason — which is also what the specimen marking on each file is there to say.
The reports are produced by veraPDF, an open-source validator developed by a consortium led by the Open Preservation Foundation and the PDF Association, with funding from the European Union's PREFORMA project. It is not mine, which is the point of quoting it: the file either satisfies the profile or it does not, and that is not a judgement I get to make about my own output.
The conformance level stated with each file is the one that file delivers, and no more. PDF/A-4f covers archiving and embedded files. PDF/UA-2 asserts that the document has a structure a screen reader can navigate, and there is a separate validator report for each — a file claiming two standards and publishing one report is publishing the easier half.
These files carried a structure tree before they carried real headings, and the validator passed them anyway. It cannot require a heading a document never claims to have. So the tree was read rather than trusted, and three things were fixed before anything was declared: the document class was not tagging its sections, two of these templates set their title as large bold text rather than as a heading, and the findings table marked its header row as ordinary cells. Passing a validator and being navigable are not the same claim, and only the second is worth making.
Documents the platform itself issues carry a detached signature beside them, so a recipient can establish where a file came from and that it has not changed by a byte. The key that makes that checkable is published on this site rather than only on the platform, because a key served by the same machine that served the document proves nothing.
The example files above are not signed. They were built here, for this page, rather than issued by the platform, and saying otherwise would be the one dishonest sentence on a page about verifiability.
The platform itself sits behind a login at xdap.xerdi.com. Accounts are provisioned per organisation; there is no self-registration. That is where the pipeline runs; what you can download here was built for this page, and it is the files themselves rather than a picture of them.
Want this for your own documents?
Tell me which document you issue most often and what has to be true of it. That is enough to say whether this fits.