summaryrefslogtreecommitdiffstats
path: root/qemu/roms/openbios/config/xml/xinclude.xsl
blob: 5bcbf535e749bfedb105050aae002b7425f78f49 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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>