[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3-wpkg/sources/www/ -> associer-client.xsl (source)

   1  <?xml version="1.0" encoding="iso-8859-1"?>
   2  <xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
   3     <xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes" />
   4      <!-- Ajoute ou retire une application d'un profile
   5              S'applique à wpkg.xml 
   6              Est utilisé par le client pour mettre à jour wpkg.xml
   7              
   8          ## $Id: associer-client.xsl 2558 2007-11-04 00:04:23Z jlebail $ ##
   9      -->
  10      <xsl:param name="debug">0</xsl:param>
  11      <xsl:param name="operation"></xsl:param>
  12      <xsl:param name="idPackage"></xsl:param>
  13      <xsl:param name="idProfile"></xsl:param>
  14      
  15      <xsl:key name="ProfileFromId" match="/wpkg/profiles/profile" use="@id" />
  16      
  17      <xsl:variable name="PROFILES" select="/wpkg/profiles"/>
  18      <xsl:variable name="dependParcs" select="key('ProfileFromId', $idProfile)/depends/@profile-id"/>
  19      
  20      <xsl:template match="*">
  21          <!-- recopie le noeud -->
  22          <xsl:copy>
  23              <xsl:apply-templates select="@*" />
  24              <xsl:apply-templates select="comment()|processing-instruction()" />
  25              <xsl:apply-templates select="*"/>
  26          </xsl:copy>
  27      </xsl:template>
  28  
  29      <xsl:template match="@*">
  30          <!-- recopie les attributs -->
  31          <xsl:copy />
  32      </xsl:template>
  33  
  34      <xsl:template match="comment()|processing-instruction()">
  35          <xsl:copy />
  36      </xsl:template>
  37  
  38      <xsl:template match="/wpkg/profiles/profile">
  39          <xsl:choose>
  40              <xsl:when test="@id = $idProfile">
  41                  <!-- recupère les packages associés depuis profiles.xml -->
  42                  <xsl:element name="profile">
  43                      <xsl:apply-templates select="@*" />
  44                      <xsl:apply-templates select="comment()|processing-instruction()" />
  45                      <xsl:for-each select="*">
  46                          <xsl:if test="not(@package-id = $idPackage)">
  47                              <xsl:copy-of select="." />
  48                          </xsl:if>
  49                      </xsl:for-each>
  50                      <xsl:if test="$operation = 'Associer'" >
  51                          <package package-id="{$idPackage}" />
  52                      </xsl:if>
  53                  </xsl:element>
  54              </xsl:when>
  55              <xsl:otherwise>
  56                  <xsl:copy-of select="." />
  57              </xsl:otherwise>
  58          </xsl:choose>
  59      </xsl:template>
  60  
  61  </xsl:stylesheet>


Generated: Tue Mar 17 22:47:18 2015 Cross-referenced by PHPXref 0.7.1