[xsl] XSLT use cases; data-centric to document-centric transformations

Subject: [xsl] XSLT use cases; data-centric to document-centric transformations
From: Peter Gerstbach <peter@xxxxxxxxxxxx>
Date: Mon, 07 Feb 2005 18:23:40 +0100

recently I've evaluated some XSLT WYSIWYG-editors, with focus on the code they create. While comparing the tools, I identified three common use cases, how XSLT can be used (of course there are more use cases possible):
1) document to document transformations
2) data to data transformations
3) data to document transformations

A good example for 1) might be DocBook: there is a well structured XML and a (very complex) XSLT which creates the result XML (e.g. FO).

Use case 2) is more about conversion between two different data formats: for example, there exist a whole bunch of schemas representing a person. So XSLT can map between two of these formats. There are some implementations out there, like Altova MapForce.

But use case 3) has a problem: in my opinion XSLT is not really intended to transform data-centric XML into a document-centric XML. Of course it can be done, but the programming style is more imperative (for-each) than template based (apply-template). There are a lot of tools, which try to solve this data-document-transformation e.g. Altova StlyeVision or StylusStudio XSLT Designer. But I think they don't succeed because the generated code is mainly inside only one very big template with imperative statements.

Coming to an end, I have two questions:
- Does anybody agree/disagree to my classification?
- How can I handle use case 3)? To my mind it would be best to convert a data-centric XML into a well structured documen-centric XML and then apply a XSLT stylesheet.

Best regards, Peter Gerstbach

Current Thread