XSLT: Paramètre de Test pour savoir si elle a été définie

J'ai une situation où le paramètre ne sera pas réglé, mais mes tentatives de capture & gérer la sitation ne sont pas de travail.

Je suis en utilisant les suivantes:

<xsl:template match="xs:complexType">
  <xsl:param name="prefix" />

  <xsl:variable name="prefix-no-core">
    <xsl:choose>
      <!-- if no value, default to 'AcRec' -->
      <xsl:when test="not($prefix)"> 
        <xsl:value-of select="'AcRec'" />
      </xsl:when>
      <!-- if 'core', leave as empty string -->
      <xsl:when test="$prefix = 'core'">
      </xsl:when>
      <!-- if 'AcRec', set the value -->
      <xsl:when test="$prefix = 'AcRec'">
        <xsl:value-of select="$prefix" />
      </xsl:when>               
    </xsl:choose>
  </xsl:variable>

  <xs:complexType name="{concat($prefix-no-core, @name)}">
  ...
</xsl:template>

J'ai aussi essayé de $prefix=" dans le premier test - ni travail. mais si j'utilise:

<xsl:value-of select="not($prefix)" />

... la valeur imprime comme vrai. Mais dans mon xsl:choisissez ne produit pas de sortie.

OriginalL'auteur OMG Ponies | 2009-07-13