]> git.pld-linux.org Git - packages/rpm.git/blobdiff - eclipse-feature.xslt
- drop static packages
[packages/rpm.git] / eclipse-feature.xslt
index dd9fb9235d20ea04135b601382bda2d4cb91823a..d48df0374cc0a70efe05405b1e4f76b356468f1c 100644 (file)
@@ -4,30 +4,76 @@
 
 <!-- we match from root, not to left anything to default template -->
 <xsl:template match="/">
+       <xsl:apply-templates select="feature"/>
+</xsl:template>
+
+<xsl:template match="feature">
        <!-- process provides -->
        <xsl:if test="$mode = 'provides'">
-       <xsl:text>eclipse(</xsl:text>
-               <xsl:value-of select="//feature/@id"/>
-               <xsl:text>) = </xsl:text>
-               <xsl:value-of select="//feature/@version"/>
-       <xsl:text>&#10;</xsl:text>
+               <!-- include root tag of feature -->
+               <xsl:text>eclipse(</xsl:text>
+                       <xsl:value-of select="@id"/>
+                       <xsl:text>) = </xsl:text>
+                       <xsl:value-of select="@version"/>
+               <xsl:text>&#10;</xsl:text>
+
+               <!-- is feature and plugin any way different? -->
+               <!-- process feature/plugin -->
+               <xsl:for-each select="plugin">
+                       <xsl:text>eclipse(</xsl:text>
+                               <xsl:value-of select="@id"/>
+                               <xsl:text>) = </xsl:text>
+                               <xsl:value-of select="@version"/>
+                       <xsl:text>&#10;</xsl:text>
+               </xsl:for-each>
+               <!-- process feature/includes -->
+               <xsl:for-each select="includes">
+                       <xsl:text>eclipse(</xsl:text>
+                               <xsl:value-of select="@id"/>
+                               <xsl:text>) = </xsl:text>
+                               <xsl:value-of select="@version"/>
+                       <xsl:text>&#10;</xsl:text>
+               </xsl:for-each>
        </xsl:if>
 
        <!-- process requires -->
        <xsl:if test="$mode = 'requires'">
-       <xsl:for-each select="feature/requires/import">
-               <xsl:text>eclipse(</xsl:text>
-                       <xsl:value-of select="@plugin"/>
-               <xsl:text>)</xsl:text>
+               <xsl:for-each select="requires/import">
+                       <xsl:text>eclipse(</xsl:text>
+                               <!-- match plugin or feature -->
+                               <xsl:if test="@plugin != ''">
+                                       <xsl:value-of select="@plugin"/>
+                               </xsl:if>
+                               <xsl:if test="@feature != ''">
+                                       <xsl:value-of select="@feature"/>
+                               </xsl:if>
+                       <xsl:text>)</xsl:text>
 
-               <!-- handle match="perfect" (probably means: same version as us) -->
-                       <xsl:if test="@match = 'perfect'">
-                               <xsl:text> = </xsl:text>
-                               <xsl:value-of select="//feature/@version"/>
-                       </xsl:if>
+                       <!-- handle match="perfect" (probably means: same version as us) -->
+                               <xsl:if test="@match = 'perfect'">
+                                       <xsl:text> = </xsl:text>
+                                       <xsl:value-of select="//feature/@version"/>
+                               </xsl:if>
 
-               <xsl:text>&#10;</xsl:text>
-       </xsl:for-each>
+                               <xsl:if test="@match = 'compatible'">
+                                       <xsl:text> >= </xsl:text>
+                                       <xsl:value-of select="@version"/>
+                               </xsl:if>
+
+                               <!-- apparently: base ver or greater -->
+                               <xsl:if test="@match = 'equivalent'">
+                                       <xsl:text> >= </xsl:text>
+                                       <xsl:value-of select="@version"/>
+                               </xsl:if>
+
+                               <!-- no qualifier, assume any? -->
+                               <xsl:if test="@match = ''">
+                                       <xsl:text> >= </xsl:text>
+                                       <xsl:value-of select="@version"/>
+                               </xsl:if>
+
+                       <xsl:text>&#10;</xsl:text>
+               </xsl:for-each>
        </xsl:if>
 
 </xsl:template>
This page took 0.026065 seconds and 4 git commands to generate.