[NTG-context] PDF/A-3, XMP and Factur-X

Henning Hraban Ramm texml at fiee.net
Wed May 18 17:26:42 CEST 2022

Hi again,

I’m looking into extending my ConTeXt-made invoices with embedded XML 
data according to the DE/FR Factur-X standard (in Germany also known as 

Does anyone have some experience with that?

For that, I need PDF/A-3(a) compliant documents – current documentation 
is only on PDF/A-1(a), but that doesn’t seem to be the problem.

Now I’m supposed to put additional information into the XMP metadata.
I found lpdf-xmp.lua; but it seems like I can’t just use

lpdf.addtoinfo("TEST","Hraban was here!")

Would I need to add my tags to the mapping table of lpdf-xmp.lua?

Or circumvent it after a look at the function concerned:

function lpdf.addxmpinfo(tag,value,check)
     local pattern = permitdetail(tag)
     if type(pattern) == "string" then
         xmlfillin(xmp or valid_xmp(),pattern,value,check)

If I try to use xml.fillin, I apparently need the name of the current 
xml file, but valid_xmp is a local function. If just use the default...


... at least I find no traces of that key in the extended metadata 
dialog of Acrobat Pro 9. I also tried different values like "xmp" 
instead of metadata. Clearly I don’t understand what I’m doing here ;)

Is there a check against some schema involved?

It looks like I should include an additional XMP schema for Factur-X 
with the URI "urn:factur-x:pdfa:CrossIndustryDocument:invoice:1p0#", 
prefix "fx". How can I do that?

This is the example from the docs:


Then I’d use \attachment to include my "factur-x.xml" invoice (that I 
must generate from my Lua invoice code), but that’s a task for another 
day ;)


More information about the ntg-context mailing list