43 lines
1.2 KiB
XML
43 lines
1.2 KiB
XML
<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>
|