xproc / 3.0-specification

A community-driven effort to define an XProc 3.0 specification (formerly 1.1)
http://spec.xproc.org/
33 stars 10 forks source link

XProc 3.0: An XML Pipeline Language

This is the home of the XProc 3.0 language specification developed by the XProc next community group. The specifications for the step libraries are maintained in the step repository.

Drafts are published automatically at spec.xproc.org.

GitHub

The XProc community is using GitHub to manage the development of this specification. Please pull the repository, make improvements, and propose changes in the form of pull requests.

Continuous integration

The XProc specification is built automatically with GitHub workflows.

To build and publish the spec on your gh-pages, create the gh-pages branch.

GitHub will then publish your changes everytime you do a commit to your master branch or any other branch.

How it works

The documents are built by a gradle task that runs XML Calabash and other tools. The individual specifications are in sub-projects. At the time of this writing, there are two specifications in this repository:

The default gradle target, allspecs, will build all of the specifications. The built specifications are in the build/dist/ directory or directories below it.

Within each subproject, the “source” for each specification is in src/main/xml/specification.xml. There may be other files as well. Use XInclude to break specs into pieces if you wish.

About the workflow

It’s all a bit complicated. These are some notes.

<xi:include href="https://github.com/xproc/3.0-specification/blob/master/./../../build/glossary.xml">
  <xi:fallback>
    <glossary xml:id="glossary">
      <title>Glossary</title>
      <para>Glossary needs to be generated</para>
    </glossary>
  </xi:fallback>
</xi:include>
<appendix xml:id="app.step-errors">
<title>Step Errors</title>
<para>The following <glossterm baseform="dynamic-error">dynamic errors</glossterm>
can be raised by the <code>p:validate-with-relax-ng</code> step:</para>
<?step-error-list?>
</appendix>
<appendix xml:id="references">
<title>References</title>
<bibliolist>
<bibliomixed xml:id="xproc30"/>
<bibliomixed xml:id="xproc30-steps"/>
<bibliomixed xml:id="iso19757-2"/>
<bibliomixed xml:id="relaxng-compact-syntax"/>
<bibliomixed xml:id="relaxng-dtd-compat"/>
</bibliolist>
</appendix>

The build process is owned by norm; bug him if you have difficulties.