Re: [xsl] Conditional xslt inclusions

Subject: Re: [xsl] Conditional xslt inclusions
From: Michael Kay <mike@xxxxxxxxxxxx>
Date: Wed, 27 Oct 2010 08:34:02 +0100
xsl:include is a compile-time facility, it is done long before your stylesheet gets anywhere near a source document, so you can't make it conditional on the document content.

What you appear to need is a processing pipeline (implemented say using XProc, but there are many other possible vehicles) that looks at the document and decides which of 6 stylesheets to apply based on its content.

You could put all the logic into one stylesheet (e.g. using multiple modes) and then despatch at run-time based on the document content, but I think that would make your application less maintainable.

Michael Kay

On 27/10/2010 08:17, Siddhi Thakkar wrote:
Dear Experts,

I have 6 types of documents and their corresponding 6 xslts. What I want to do is create one main xslt and based on one of the attribute values of input, I want to give an xslt name that is to be included. For example, if the root element of input is<root a="1"> then I want to include 'one.xsl'. Similarly, if the root element is<root a="2"> then 'two.xsl'. I am using version 1.0 and Saxon/JDOM as xslt processor.

Please give your inputs on this problem.

Thanks very much,

Current Thread