blob: 67d70b9f572f9f8e6ec300e2a2964b9683636c24 [file] [log] [blame]
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2004/07/xpath-functions" xmlns:xdt="http://www.w3.org/2004/07/xpath-datatypes" exclude-result-prefixes="xs fn xdt">
<xsl:param name="version"/>
<xsl:param name="versionnext" />
<xsl:template match="lifeCycle/required[@name='org.eclipse.jdt.feature.group' and @greedy='false']">
<xsl:copy>
<xsl:attribute name="namespace"><xsl:value-of select="@namespace" /></xsl:attribute>
<xsl:attribute name="name">org.eclipse.jdt.core</xsl:attribute>
<xsl:attribute name="range">0.0.0</xsl:attribute>
<xsl:attribute name="greedy"><xsl:value-of select="@greedy" /></xsl:attribute>
</xsl:copy>
</xsl:template>
<xsl:template match="@range[../@name='org.eclipse.jdt.feature.group']">
<xsl:choose>
<!-- cannot use "concat('[',$version)" inside match predicate, so choose now: -->
<xsl:when test="starts-with(.,concat('[',$version))">
<xsl:attribute name="range"><xsl:value-of select="concat('[',$version,',',$versionnext,')')" /></xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="range"><xsl:value-of select="."/></xsl:attribute>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- Whenever you match any node or any attribute -->
<xsl:template match="node()|@*">
<!-- Copy the current node -->
<xsl:copy>
<!-- Including any attributes it has and any child nodes -->
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>