|
|
1.1 ! root 1: <?xml version="1.0" encoding="ISO-8859-15" ?> ! 2: ! 3: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> ! 4: ! 5: <!-- get-dirname: get directory part of file $path--> ! 6: ! 7: <!-- call me with: ! 8: <xsl:param name="path"> ! 9: <xsl:for-each select="ancestor::build"> ! 10: <xsl:call-template name="get-dirname"> ! 11: <xsl:with-param select="@base" name="path"/> ! 12: </xsl:call-template> ! 13: </xsl:for-each> ! 14: </xsl:param> ! 15: --> ! 16: ! 17: <xsl:template name="get-dirname"> ! 18: <xsl:param name="path"/> ! 19: <xsl:choose> ! 20: <xsl:when test="contains($path, '/')"> ! 21: <xsl:choose> ! 22: <xsl:when test="substring($path, string-length($path)) != '/'"> ! 23: <xsl:call-template name="get-dirname"> ! 24: <xsl:with-param select="substring($path, 1, string-length($path)-1)" name="path"/> ! 25: </xsl:call-template> ! 26: </xsl:when> ! 27: <xsl:otherwise> ! 28: <xsl:value-of select="$path"/> ! 29: </xsl:otherwise> ! 30: </xsl:choose> ! 31: </xsl:when> ! 32: <xsl:otherwise> ! 33: <xsl:message terminate="yes"> ! 34: No valid relative path ! 35: </xsl:message> ! 36: </xsl:otherwise> ! 37: </xsl:choose> ! 38: </xsl:template> ! 39: ! 40: <!-- return value: 0=found, 1=not found --> ! 41: <xsl:template name="resolve-condition"> ! 42: <xsl:param name="expression"/> ! 43: <xsl:param name="confexpr">CONFIG_<xsl:value-of select="$expression"/></xsl:param> ! 44: ! 45: <xsl:choose> ! 46: <xsl:when test="$expression!=''"> ! 47: <xsl:variable name="value"><xsl:value-of select="document('config.xml',.)//option[@name=$confexpr]/attribute::value"/></xsl:variable> ! 48: <xsl:variable name="type"><xsl:value-of select="document('config.xml',.)//option[@name=$confexpr]/attribute::type"/></xsl:variable> ! 49: <xsl:choose> ! 50: <xsl:when test="$type='boolean'"> ! 51: <xsl:choose> ! 52: <xsl:when test="$value='true'"><xsl:text>0</xsl:text></xsl:when> ! 53: <xsl:when test="$value='false'"><xsl:text>1</xsl:text></xsl:when> ! 54: <!-- boolean but no value is false --> ! 55: <xsl:when test="$value=''"><xsl:text>1</xsl:text></xsl:when> ! 56: <xsl:otherwise> ! 57: <xsl:message terminate="yes">Error:<xsl:value-of select="$confexpr"/> has no valid value '<xsl:value-of select="$value"/>'.</xsl:message> ! 58: </xsl:otherwise> ! 59: ! 60: </xsl:choose> ! 61: </xsl:when> ! 62: <!-- if it doesn't exist, it is false --> ! 63: <xsl:when test="$type=''"><xsl:text>1</xsl:text></xsl:when> ! 64: <xsl:otherwise> ! 65: <xsl:message terminate="yes">Error:<xsl:value-of select="$confexpr"/> is not a boolean value ('<xsl:value-of select="$type"/>').</xsl:message> ! 66: </xsl:otherwise> ! 67: </xsl:choose> ! 68: <!-- debug - -> ! 69: <xsl:message> ! 70: <xsl:value-of select="$confexpr"/> = <xsl:value-of select="$value"/> ! 71: </xsl:message> ! 72: <!- - --> ! 73: </xsl:when> ! 74: <!-- if no expression is there we return true --> ! 75: <xsl:otherwise>0</xsl:otherwise> ! 76: </xsl:choose> ! 77: </xsl:template> ! 78: ! 79: ! 80: </xsl:stylesheet>
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.