<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output method="xml" indent="yes" encoding="UTF-8"/>
  
  <!-- Variables -->
  <xsl:variable name="process-alias" select="true()" />
  <xsl:variable name="alias-arrow" select="true()" />
  <xsl:variable name="default-folded" select="true" /> <!-- A implémenter -->
  
  <xsl:template match="/">
    <map version="0.7.1">
      <!-- L'élément Root est nomé "xbel" -->
      <xsl:apply-templates select="xbel" />
    </map>
  </xsl:template>
  
  <xsl:template match="xbel|folder|bookmark" mode="identified-item">
    <!-- Titre -->
    <xsl:attribute name="TEXT">
      <xsl:value-of select="title"/>
    </xsl:attribute>
      
    <!-- Id -->
    <xsl:if test="@id">
      <xsl:attribute name="ID">
        <xsl:value-of select="@id"/>
      </xsl:attribute>
    </xsl:if>
  </xsl:template>
  
  <xsl:template match="xbel|folder">
      <node>
        <!-- Couleurs -->
        <xsl:if test="name()='folder'">
          <xsl:attribute name="COLOR">#006699</xsl:attribute>
        </xsl:if>
        <xsl:if test="name()='xbel'">
          <xsl:attribute name="COLOR">#006633</xsl:attribute>
        </xsl:if>
        
        <!-- Titre et Id -->
        <xsl:apply-templates select="." mode="identified-item"/>
        
        <!-- Folded ? -->
        <xsl:if test="@folded='yes'">
          <xsl:attribute name="FOLDED">true</xsl:attribute>
        </xsl:if>
        <xsl:if test="@folded='no'">
          <xsl:attribute name="FOLDED">false</xsl:attribute>
        </xsl:if>
        
        <!-- Décendants -->
        <xsl:apply-templates select="folder" />
        <xsl:apply-templates select="bookmark" />
        <xsl:if test="$process-alias">
          <xsl:apply-templates select="alias" />
        </xsl:if>
        
        <!-- icone -->
        <xsl:if test="name()='xbel'">
          <icon BUILTIN="gohome" />
        </xsl:if>
      </node>
  </xsl:template>
  
  <xsl:template match="bookmark">
      <node COLOR="#0000FF">
        <xsl:apply-templates select="." mode="identified-item"/>
        <!-- Lien -->
        <xsl:attribute name="LINK">
          <xsl:value-of select="@href"/>
        </xsl:attribute>
      </node>
  </xsl:template>
  
  <xsl:template match="alias">
    <node COLOR="#999999">
      <!-- Titre -->
      <xsl:attribute name="TEXT">Alias pour <xsl:value-of select="(/xbel//folder|/xbel//bookmark|/xbel)[@id=current()/@ref]/title"/></xsl:attribute>
      
      <!-- Flèche -->
      <xsl:if test="$alias-arrow">
        <arrowlink ENDARROW="Default">
          <!-- Cible du lien -->
          <xsl:attribute name="DESTINATION">
            <xsl:value-of select="@ref"/>
          </xsl:attribute>
        </arrowlink>
      </xsl:if>
      
      <!-- Police -->
      <font NAME="Default" SIZE="10"/>
    </node>
  </xsl:template>
</xsl:stylesheet>