<?xml version="1.0"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml"
              indent="yes"
              media-type="application/xhtml+xml"
              omit-xml-declaration="no"
              encoding="utf-8"
              version="1.0"
              doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
              doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" />
  
  <!--basic xhtml structure-->
  <xsl:template match="/html">
    <xsl:element name="html" namespace="http://www.w3.org/1999/xhtml">
      <xsl:copy-of select="@*" />
      <xsl:attribute name="xml:lang" namespace="http://www.w3.org/XML/1998/namespace">en</xsl:attribute>
      <xsl:apply-templates/>
    </xsl:element>    
  </xsl:template>

  <!-- all tags -->
  <xsl:template match="//*">
    <xsl:element name="{name()}" namespace="http://www.w3.org/1999/xhtml">
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates/>
    </xsl:element>
  </xsl:template>

  <!-- BOLD tag -->
  <xsl:template match="//bold">
    <xsl:element name="strong" namespace="http://www.w3.org/1999/xhtml">
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates/>
    </xsl:element>
  </xsl:template>

  <!-- LIEN tag -->
  <xsl:template match="//lien">
    <xsl:element name="a" namespace="http://www.w3.org/1999/xhtml">
      
      <xsl:if test ="@vers">
        <xsl:attribute name="href">
          <xsl:value-of select="@vers"/>
        </xsl:attribute>
      </xsl:if>
      <xsl:if test ="@titre">
        <xsl:attribute name="title">
          <xsl:value-of select="@titre"/>
        </xsl:attribute>
      </xsl:if>
      <xsl:if test ="@nom">
        <xsl:attribute name="name">
          <xsl:value-of select="@nom"/>
        </xsl:attribute>
      </xsl:if>

      <xsl:if test ="@id | @class">
        <xsl:copy-of select="@id | @class"/>
      </xsl:if>
      
      <xsl:apply-templates/>
    </xsl:element>
  </xsl:template>

  <!-- FAQLIST tag -->
  <xsl:template match="//faqlist">
    <xsl:element name="div" namespace="http://www.w3.org/1999/xhtml">
      <xsl:copy-of select="@*"/>
      <xsl:attribute name="class">faqlist</xsl:attribute>
      <xsl:element name="h2" namespace="http://www.w3.org/1999/xhtml">
        <xsl:element name="acronym" namespace="http://www.w3.org/1999/xhtml">
          <xsl:attribute name="title">Frequently Answered Questions</xsl:attribute>
          <xsl:text>FAQ</xsl:text>
        </xsl:element>        
      </xsl:element>
      <xsl:for-each select="faq">
        <xsl:element name="dl" namespace="http://www.w3.org/1999/xhtml">
          <xsl:attribute name="class">faq</xsl:attribute>
          <xsl:element name="dt" namespace="http://www.w3.org/1999/xhtml">
            <xsl:attribute name="class">question</xsl:attribute>
            <xsl:apply-templates select="question/node()"/>
          </xsl:element>
          <xsl:element name="dd" namespace="http://www.w3.org/1999/xhtml">
            <xsl:attribute name="class">answer</xsl:attribute>
            <xsl:apply-templates select="answer/node()"/>
          </xsl:element>
        </xsl:element>
      </xsl:for-each>
    </xsl:element>
  </xsl:template>

</xsl:stylesheet>
