|
Subject: Re: [xsl] Partial Implementation of XInclude include element From: "W. Eliot Kimber" <eliot@xxxxxxxxxx> Date: Tue, 24 Sep 2002 10:14:09 -0500 |
"W. Eliot Kimber" wrote:
> Hmm. What doesn't happen when I use this improved code is copying of the
> namespace nodes from the xsl:stylesheet document, as happens in normal
> output (that is, if I don't go through this initial xinclude step).
Double hmm--it works fine now. Not sure what I was doing.
Here's my revised code. In addition to Jeni's changes, I added a check
to look for include elements in the top-level document and therefore
avoid extra processing if nothing is actually included:
<xsl:template match="/">
<xsl:choose>
<xsl:when test="//xi:include">
<xsl:variable name="resolved-doc">
<xsl:apply-templates mode="xinclude"/>
</xsl:variable>
<xsl:apply-templates select="$resolved-doc" mode="normal"/>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="/" mode="normal">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="node() | @*" mode="xinclude">
<xsl:copy>
<xsl:apply-templates select="@* | node()" mode="xinclude" />
</xsl:copy>
</xsl:template>
<xsl:template match="xi:include" mode="xinclude">
<xsl:variable name="xpath" select="@xi:href"/>
<xsl:choose>
<xsl:when test="$xpath != ''">
<xsl:message>Including <xsl:value-of
select="$xpath"/></xsl:message>
<xsl:apply-templates select="document($xpath)" mode="xinclude"/>
</xsl:when>
<xsl:otherwise>
<xsl:message>Xinclude: Failed to get a value for the xi:href=
attribute of xi:include element.</xsl:message>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
--
W. Eliot Kimber, eliot@xxxxxxxxxx
Consultant, ISOGEN International
1016 La Posada Dr., Suite 240
Austin, TX 78752 Phone: 512.656.4139
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Partial Implementation of, W. Eliot Kimber | Thread | Re: [xsl] Partial Implementation of, Jeni Tennison |
| Re: [xsl] How do I capture the text, Jeni Tennison | Date | Re: [xsl] Partial Implementation of, Jeni Tennison |
| Month |