docbook / xslTNG

DocBook xslTNG Stylesheets
https://xsltng.docbook.org
MIT License
43 stars 22 forks source link

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

Open tomschr opened 1 year ago

tomschr commented 1 year ago

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:

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!

ndw commented 1 year ago

I think this is a great idea, but I haven't looked at or thought about the 1.0 stylesheets in maybe a decade or 15 years. I'd be very happy to answer questions and make suggestions, but I think we'd need someone else to volunteer to take on the task.

tomschr commented 1 year ago

Thank you Norm for your answer, much appreciated.

I have a very basic understanding yet, but once I get more familiar with the new stylesheets and get some experience I'm happy to write something for you. However, it can take some time.

frank-steimke commented 1 year ago

The xref/@xrefstyle attribute is not supported by the xslTNG Stylesheets. There are two more or less sophisticated techniques for the use of this attribute with the select: or the template: keyword, see Customizing cross references in the XSL 1.0 Guide from Bob Stayton.

If the xslTNG Stylesheets won't support this attribute in the Future, then this would be a subject for a migration Guide. @tomschr, did you start with the guide? Maybe i can contribute?

tomschr commented 1 year ago

Hi @frank-steimke, :wave:

I haven't started with such a guide yet. Thanks for the reminder! So I've started the above PR #405 as a playground. It doesn't contain anything useful yet apart from the first skeleton and the comment of all ideas. The "guide" is basically an appendix for the time being.

If you like, we can add your ideas in the migration.xml file that is mentioned in the PR.

Would that work?

frank-steimke commented 1 year ago

Hi Tom,

sure, i am happy to contribute if i can.

I think the first section in the guid should be: why should we need a migration guide?

DocBook is just a markup language, why can't you switch the stylesheet to product HTML or PDF in a minute? Where are the differences, what does migration really mean?