STS4i

Standards Tag Suite XML for Interoperability

JATS-Con 2018

Gerrit Imsieke (@gimsieke), le-tex publishing services (@letexml)

STS4i

“STS4I (Standards Tag Suite XML for Interoperability) is a community-driven effort to provide tools and document best practices for creating and processing STS XML documents.”

La communauté, c’est moi.  

STS4i

  • Informal initiative, launched during a coffee break at JATS-Con 2017
  • Founding members from the NISO STS working group
  • Endorsement and support from ISO
  • 1 active member, doing stuff occasionally
  • Grand plans though:
  • Interesting, general-(XML-)purpose interoperability tool in the making

ISO Support

  • They made their HTML renderer and Schematron available (it was available before, but now with an Apache 2.0 license: Commercial, non-open derivatives permitted; patent policy)
  • They intend to contribute an ISO STS → NISO STS converter in the not-too-distant future
  • Collaborative development of the tools on GitHub (https://github.com/sts4i)

Comparison with JATS4R

Different:

  • STS4i: Smaller group, shorter history, less material
  • Fewer variants of legacy content at current STS users
  • Almost clean slate for new adopters
  • JATS4R’s logo is nicer

Similar (apart from the XML vocabulary):

  • One size might not fit all: Off-the-shelf recommendations for small/new adopters vs. customizations for large/established users
  • Some users do not want to disclose their customizations

Upcoming Interoperability Tool

  • Library of Schematron checking rules (in fact, layered libraries)
  • Import/override/deactivate mechanisms (boils down to Schematron <extends> for importing other Schematron files, and to Schematron phases)
  • Autocorrecting XSLT snippets (configurable per validation error code)
  • Available in Web browsers (Interactive configuration/​checking/​fixing! No upload of your secret standards documents to someone’s server!)
  • and as XProc pipelines (batch processing), maybe also as XQuery

Application: German Standards Baseline Profile

  • Joint initiative of DIN, VDE, DKE, Beuth Verlag, VDE Verlag
  • Aims: Common interoperability checking rules and
  • Intake of (N)ISO STS XML from ISO, IEC, CEN/CENELEC (directly as XML or converted from Word)
  • Behind closed doors (may change later)
  • The common German profile may then be extended towards organization-specific profiles, for ex. STS4i > German Baseline > DIN > Beuth Verlag

Private GitLab repo for German Baseline Profile

Gitlab private repo for the German baseline profile

Schematron Library Importing the Core STS4i Library

Configurator (using @sc:alternative-for)

XSLT Fixes

When a certain Schematron rule fires, a configurable XSLT can run to (hopefully) fix the input. Examples:

  • ISO ID naming scheme ↔ DIN ID naming scheme
  • <fn-group>s ↔ <fn>s in paragraphs (except in tables)
  • HTML tables ↔ OASIS tables
  • TBX ↔ term-display (terminology encoding vocabularies)
  • ISO/CEN figure keys (fig/table) ↔ DIN figure keys (fig/caption/p/def-list)
  • ISO’s migration tool can be implemented using checks&fixes!

Not everything is autocorrectable though.

Future Direction of STS4i

  • further development of the HTML renderer (together with ISO)
  • continuous integration tests for the HTML renderer and the XSLT fixes
  • otherwise, dependent on future participants
  • more XML coding examples at https://github.com/sts4i/sample-documents
  • maybe more documentation prose than “solutionist” tools

Thank you!

https://github.com/sts4i