summaryrefslogtreecommitdiffstats
path: root/qemu/roms/openbios/config/xml/xinclude.xsl
diff options
context:
space:
mode:
Diffstat (limited to 'qemu/roms/openbios/config/xml/xinclude.xsl')
-rw-r--r--qemu/roms/openbios/config/xml/xinclude.xsl43
1 files changed, 43 insertions, 0 deletions
diff --git a/qemu/roms/openbios/config/xml/xinclude.xsl b/qemu/roms/openbios/config/xml/xinclude.xsl
new file mode 100644
index 000000000..5bcbf535e
--- /dev/null
+++ b/qemu/roms/openbios/config/xml/xinclude.xsl
@@ -0,0 +1,43 @@
+<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>