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 |