Re: [xsl] including multiple files

Subject: Re: [xsl] including multiple files
From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 2 Oct 2015 22:25:00 -0000
You need to write a transformation that generates the stylesheet containing
the variable number of includes.

<xsl:namespace-alias stylesheet-prefix=btb result-prefix=bxslb/>
<xsl:template name=bgen-includesb>
  <t:stylesheet version=b2.0b>
  <xsl:for-each select=buri-collection(bsome-dir?select=*.xslb)b>
    <t:include href=b{.}b/>
  </xsl:for-each>
 </t:stylesheet>
</xsl:template>

Michael Kay
Saxonica

> On 2 Oct 2015, at 23:15, Birnbaum, David J djbpitt@xxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> Dear XSL-list,
>
> I fear that this may be a blind spot, or perhaps just a Bad Idea, but I'm
> developing an XSLT application that I'd like to modularize by creating a
> series of smaller stylesheets that I can include with <xsl:include>. There
> will eventually be several dozen of them, the exact inventory will change
> over the course of development, and I didn't want to have to list them all
> individually, with separate <xsl:include> statements for each one. I
> thought it should be possible to simplify the process by putting all of
> the subsidiary stylesheets into a subdirectory, addressing it from within
> the main one with collection(), and iterating over the members of that
> collection to pass the URL of each one to <xsl:include
> href="somethingOrOther"/>. In this way, each time the transformation was
> run, the main stylesheet would include whatever it found in the
> subdirectory at run time.
>
> I'm stumbling, though, because 1) <xsl:include> must be top-level and 2) I
> can't iterate with <xsl:for-each> at the top level.
>
> Can anyone point to a strategy that would let me <xsl:include> multiple
> smaller stylesheets into a larger one without having to create a separate
> explicit <xsl:include> element for each of them?
>
> Thanks,
>
> David
> djbpitt@xxxxxxxxx

Current Thread