so

XProc 3.1 schemas

Volume 10, Issue 18; 06 Apr 2026

Updated XProc schemas.

There are a few small bugs in the RELAX NG schemas for XProc 3.1. Several atomic steps are missing (p:encode, p:invisible-xml, p:message, and p:send-mail) and the attributes attribute is missing from p:pack, p:wrap, and p:wrap-sequence.

These errors crept in, I expect, because we were trying to manage the core specification, step specifications, and grammars in separate repositories even though they’re all closely related.

In the course of migrating the specification builds from GitHub to Codeberg, I’ve combined them into a single repository with Gradle subprojects and the build now produces the correct results.

The new grammars are in the “status quo” drafts: in RNC and RNG formats.

There’s another change in flight (allow option names to be defined with EQNames) but that’s a technical change not yet approved by the editorial team, rather than just a result of running the build with the right sources!

I do expect that’ll get merged in soon.

I also published the updated schemas in a Maven artifact, org.xproc:schemas-xproc:3.1.a in case that’s a convenience for you! I added “.a” on the end to identify them as not quite exactly what was published as 3.1.

#MarkupMonday #XProc

Please provide your name and email address. Your email address will not be displayed and I won’t spam you, I promise. Your name and a link to your web address, if you provide one, will be displayed.

Your name:

Your email:

Homepage:

Do you comprehend the words on this page? (Please demonstrate that you aren't a mindless, screen-scraping robot.)

What is four plus four?   (e.g. six plus two is 8)

Enter your comment in the box below. You may style your comment with the CommonMark flavor of Markdown.

All comments are moderated. I don’t promise to preserve all of your formatting and I reserve the right to remove comments for any reason.