diff options
Diffstat (limited to 'qemu/roms/openbios/config/xml/xinclude.xsl')
-rw-r--r-- | qemu/roms/openbios/config/xml/xinclude.xsl | 43 |
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> |