1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/examples/Common/Configurator/Resources/config_filter.xsl Mon Oct 03 19:12:41 2005 +0000
1.3 @@ -0,0 +1,52 @@
1.4 +<?xml version="1.0" encoding="utf-8"?>
1.5 +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
1.6 + version="1.0">
1.7 +
1.8 + <!-- Find out some additional information. -->
1.9 +
1.10 + <xsl:variable name="cpu-socket" select="configuration/details/base-system/base-system-enum[@value = ../@value]/@cpu-socket"/>
1.11 + <xsl:variable name="interface" select="configuration/details/base-system/base-system-enum[@value = ../@value]/@interface"/>
1.12 + <xsl:variable name="storage" select="configuration/storage/storage-unit/@value"/>
1.13 +
1.14 +
1.15 +
1.16 + <!-- Descend into the document, including only relevant elements. -->
1.17 +
1.18 + <xsl:template match="cpu-enum">
1.19 + <xsl:if test="@cpu-socket = $cpu-socket or not(@cpu-socket)">
1.20 + <cpu-enum>
1.21 + <xsl:apply-templates select="@*"/>
1.22 + <xsl:apply-templates select="*"/>
1.23 + </cpu-enum>
1.24 + </xsl:if>
1.25 + </xsl:template>
1.26 +
1.27 + <xsl:template match="hard-disk-enum">
1.28 + <xsl:if test="@interface = $interface or not(@interface)">
1.29 + <hard-disk-enum>
1.30 + <xsl:apply-templates select="@*"/>
1.31 + <xsl:apply-templates select="*"/>
1.32 + </hard-disk-enum>
1.33 + </xsl:if>
1.34 + </xsl:template>
1.35 +
1.36 + <xsl:template match="accessory-enum">
1.37 + <xsl:if test="$storage[string() = current()/@storage] or not(@storage)">
1.38 + <accessory-enum>
1.39 + <xsl:apply-templates select="@*"/>
1.40 + <xsl:apply-templates select="*"/>
1.41 + </accessory-enum>
1.42 + </xsl:if>
1.43 + </xsl:template>
1.44 +
1.45 +
1.46 +
1.47 + <!-- Replicate unknown elements. -->
1.48 +
1.49 + <xsl:template match="@*|node()">
1.50 + <xsl:copy>
1.51 + <xsl:apply-templates select="@*|node()"/>
1.52 + </xsl:copy>
1.53 + </xsl:template>
1.54 +
1.55 +</xsl:stylesheet>