
Authoring guidelines
To submit a pipeline, you must add some specific metadata to your
p:declare-step or p:library:
The first element child of the document element must be a
p:documentationelement containing anex:author,ex:pubdate,ex:license,ex:summary, andex:version. It may also contain anex:description.All of thet
ex:*elements must be in thehttp://exproc.org/ns/contribnamespace:ex:authorAn author identifier, for example, your initials.
ex:pubdateThe date of publication.
ex:licenseThe license identifier, for example,
mit.ex:summaryA short summary of the pipeline or library, ideally one sentence. Any descendant elements in the
ex:summarymust be in the HTML namespace (http://www.w3.org/1999/xhtml).ex:versionThe pipeline or library version.
ex:descriptionAny additional documentation for the pipeline or library. This will go at the end of the documentation page. Any descendant elements in the
ex:descriptionmust be in the HTML namespace (http://www.w3.org/1999/xhtml). Any section titles should begin at the H3 level.
For example:
1 |
<p:documentation xmlns="http://www.w3.org/1999/xhtml">|<ex:pubdate>2025-12-13</ex:pubdate>|<ex:author>ndw</ex:author>|<ex:version>1.0.0</ex:version>5 |<ex:license>mit</ex:license>|<ex:summary>Makes HTML documents “standalone”.</ex:summary>|<ex:description>|<p>This pipeline makes HTML documents “standalone”. It|uses base64 encoding and <code>data:</code> URIs to inline10 |images, scripts, and CSS stylesheets.</p>|</ex:description>|</p:documentation>Each
p:input,p:output, andp:optionmay contain a singlep:documentationelement providing a short description.For example:
|
<p:option name="show-stored-uris"|as="xs:boolean" static="true" select="false()">|<p:documentation>If true, a p:message is output for each stored document.</p:documentation>|</p:option>Any descendant elements in the documentation must be in the HTML namespace (
http://www.w3.org/1999/xhtml).By submitting a pipeline to be published, you agree that it may be published on https://exproc.org/ and bundled with other applications.
Once published, a contributed pipeline is immutable. To enhance or correct a pipeline, a new version must be submitted.
There’s no formal or automated process for submitting pipelines. Just send them to Norm. You may find it useful to discuss the idea on the xproc-dev mailing list before submitting it.
Remember, once published, a contributed pipeline is immutable.