Skip to content

Consider a migration guide from XSLT 1.0 -> 3.0 #212

@tomschr

Description

@tomschr

Situation

I brought up this idea in the docbook-apps mailinglist. Not sure if this is the appropriate place as docbook/docbook is solely for the schema. Feel free to move it or close it.

DocBook and the DocBook XSLT 1.0 stylesheets are mature systems. Over time, possibly a lot of people created customization layers to adapt the output to their needs. However, although the DocBook schema got updated, the XSLT 1.0 stylesheets were written for DocBook 4 in mind. Although they support DocBook 5 as well, some features are still missing.

The xslTNG stylesheets are a great project to get a more modern approach and to support more features of DocBook 5. If this is the future, we probably should tell our users how to migrate from an existing XSLT 1.0 code base to the new 3.0 stylesheets.

Possible solutions

I kindly ask for some kind of "migration guide". If this could be a chapter in an existing guide, a separate guide, or just a checklist is to be defined. I could anticipate that such a "guide" could cover the following topics:

  • The benefits of moving to the new stylesheets (that's probably mostly covered in this project already)
  • Target groups (probably developers that already wrote customization layers?)
  • Requirements:
    • Skills needed (certainly some XSLT/XPath 3.0 would be useful)
    • Software (perhaps Saxon9-12. Other XSLT 3.0 processors aren't available at the moment, right?)
    • System (the necessary dependencies, Docker images, or other requirements etc.)
  • Migration considerations
  • Tips and recommendations
  • Best practices
  • Traps or things to avoid (for example, how to migrate extension elements/functions from other XSLT processors, like exsl:node-set)
  • Testing
    The xslTNG stylesheets contains test cases which is really great! How can we use this for a migration project?
  • Costs
    Not so from a financial aspect, but more about:
    • Speed (is it slower/faster than the DocBook XSLT 1.0 stylesheets with xsltproc? By what factor? What can we do to speed up things?)
    • Time (how much effort is it to move an existing code base? I know, that's hard to answer, but maybe there are some experiences?)
    • Complete rewrite? (when it is useful to just throw away the existing code base and start from scratch? Any experience?)

So these are just some ideas that came into my mind. I think, this would answer a lot of questions that someone might have and ease the migration.

Thank you!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions