<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> | |
<!-- | |
Stefans own xinclude implementation. | |
We really don't want to bother the users with namespaces | |
--> | |
<xsl:output method="xml" indent="yes"/> | |
<xsl:strip-space elements="*"/> | |
<xsl:template match="node() | @*"> | |
<xsl:copy> | |
<xsl:apply-templates select="@* | node()"/> | |
</xsl:copy> | |
</xsl:template> | |
<!-- <xsl:template match="xi:include" xmlns:xi="http://www.w3.org/2001/XInclude"> --> | |
<xsl:template match="include"> | |
<xsl:variable name="href"><xsl:value-of select="@href"/> | |
</xsl:variable> | |
<xsl:for-each select="document(@href)"> | |
<!-- | |
<xsl:copy><xsl:copy-of select="@*"/> | |
<xsl:attribute name="base"> | |
<xsl:value-of select="$href"/> | |
</xsl:attribute> | |
<xsl:apply-templates select="node()" /> | |
</xsl:copy> | |
--> | |
<xsl:element name="{local-name(*)}" namespace="{namespace-uri(..)}"> | |
<xsl:copy-of select="*/@*"/> | |
<xsl:attribute name="base"> | |
<xsl:value-of select="$href"/> | |
</xsl:attribute> | |
<xsl:for-each select="*"> | |
<xsl:apply-templates/> | |
</xsl:for-each> | |
</xsl:element> | |
</xsl:for-each> | |
</xsl:template> | |
</xsl:stylesheet> |