Testbed for trying out XSLT 3.0 (http://www.w3.org/TR/xslt-30/) techniques.
Since few people yet have much (or any) experience using XSLT 3.0 on more than toy examples, this is a public, medium-sized XSLT 3.0 project where people could try out new XSLT 3.0 features on the transformations to (X)HTML(5) and XSL-FO that are what we do most often and, along the way, maybe come up with new design patterns for doing transformations using the higher-order functions, partial function application, and other goodies that XSLT 3.0 gives us.
JATS Preview Stylesheets
The XSLT 3.0 testbed stylesheets are derived from the XSLT 1.0 "NISO Journal Article Tag Suite (JATS) version 1.0" stylesheets from https://github.com/NCBITools/JATSPreviewStylesheets
The JATS preview stylesheets made a good place to start since:
- JATS is in wide use as the medium of exchange, and of archiving, for published scientific journal articles (and more)
- It has the Goldilocks factor of not being too large (it's not as large as DocBook or TEI) nor too small (it's also not a toy)
- There's lots of sample data available
- There's existing XSLT 1.0 stylesheets
- The existing stylesheets are in the public domain
- There's a quick win in just adding XSLT 2.0-isms to the XSLT 1.0 stylesheets
- Trial - and make prior art for - different techniques for using XSLT 3.0
- Get an early start for developing the patterns and idioms for using XSLT 3.0 that many of us will be using for years to come
- Standalone XSLT 3.0
xsl:packagefor transforming XHTML tables to XSL-FO and/or HTML
xsl:packageis new in XSLT 3.0
- (X)HTML tables are used with many document types
- A stable, reusable module for formatting tables will be a good thing
- The single best way of doing anything
- Since this is a testbed it's okay for it to try different ways of achieving the same result
- The definitive XSLT 3.0 testbed
- This project is on GitHub because it's easy to fork Git projects and develop your own flavour of them
- Pull requests are encouraged, but if you want to make your own version of this, that's more than fine, too
- Complete stylesheets for all of JATS
- JATS gives the work a focus, but it isn't the focus of the work
- The original XSLT 1.0 stylesheets don't cover all of JATS to begin with
The idea is to eventually handle the following scenarios:
- Transform JATS to (X)HTML(5) for display/EPUB/print
- With and without display of metadata
- Transform JATS to XSL-FO for pagination
- Single column
- Two column
- With and without presentation of metadata
There's undoubtedly many things to try out, but a starter list of things to look at includes:
- How will XSLT 3.0 features make it easier to:
- Customise the output?
- Modularise stylesheets?
- Re-use modules between HTML and XSL-FO output?
- Will higher-order functions, anonymous function, partial function application, and/or dynamic XPath evaluation improve upon
LICENSE- Just so you know that it's public domain
README.md- This file
fo- XSL-FO files generated from XML in
html- HTML filse generated from XML in
jats- Original JATS processing files, included for reference
xml- XML source files. Each source file and any associated graphics, etc., is in a separate subdirectory
xslt- XSLT 3.0 stylesheets
- The National Library of Medicine (NLM) published the original "NISO Journal Article Tag Suite (JATS) version 1.0" stylesheets, but neither this project nor Mentea has any affiliation with NLM
- Mentea (http://www.mentea.net/) started the testbed.
- Collaborators and contributors will be acknowledged here, too
This work is in the public domain and may be reproduced, published or otherwise used without the permission of Mentea or of the National Library of Medicine (NLM).
Forks are encouraged (but so are pull requests).
For the "NISO Journal Article Tag Suite (JATS) version 1.0" stylesheets, NML request only that the NLM is cited as the source of the work.