Hello,
Alors je débute en xml transformation en html et .net et en c# mais bon j'ai un job à faire et je l'ai fait mais là je flanche.
Ma page web se dessine et exécute correctement ce que je lui demande mais le code source est très bizarre.

Ma feuille xsl:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >

  <xsl:param name="self"></xsl:param>
  <xsl:param name="view"></xsl:param>
  <xsl:variable name="cfu_number">000</xsl:variable>
  <xsl:param name="user"></xsl:param>
  <xsl:param name="loc"></xsl:param>
  <xsl:param name="sort"></xsl:param>
  <xsl:param name="referer"></xsl:param>
  <xsl:variable name="mode">normal</xsl:variable>
  <xsl:param name="previousPath"></xsl:param>
  
  <xsl:template match="/">
    <title>PBX User Edit</title>
    <link rel="stylesheet" type="text/css" href="ehc.css"/>
        <center>
          <h1>Central Telephonique EMS Les Paquis &amp; EMS Nelty</h1>
        </center>

        <xsl:apply-templates select="show"/>
  </xsl:template>

 <xsl:template match="show">
    <center>
      <form name="form" action="{$self}" method="POST">
        <input type="hidden" name="myBack" value="locBack" />
        <input type="hidden" name="action" value="update"/>
        
        <table border="0" cellspacing="2" cellpadding="2">
          <tr>
            <td colspan="2" align="left" bgcolor="#cccccc">
              <b>Utilsateur</b>
            </td>
          </tr>

          <xsl:apply-templates select="user" />

          <tr>
            <td colspan="2" height="20">
            </td>
          </tr>
          <xsl:choose>
            <xsl:when test="$mode='advanced'">
              <tr>
                <td colspan="2" align="left" bgcolor="#cccccc">
                  <b>Group Membership</b>
                </td>
              </tr>

              <xsl:apply-templates select="user/grp">
                <xsl:sort select="@name" data-type="text"/>
              </xsl:apply-templates>

              <tr>
                <td colspan="2" height="20">
                </td>
              </tr>
            </xsl:when>
            <xsl:otherwise>
              <tr>
                <td colspan="2" height="20">
                  <xsl:apply-templates select="user/grp"/>
                </td>
                <td colspan="2" height="20">
                  <xsl:apply-templates select="user/gw"/>
                </td>
              </tr>
            </xsl:otherwise>
          </xsl:choose>

          <tr>
            <td colspan="2" align="center">
              
              <input type="submit" name="submit" value="Back" />
              <input type="submit" name="submit" value="Update" />
            </td>
          </tr>
        </table>
      </form>
    </center>
  </xsl:template>

  <xsl:template match="user">
    <xsl:if test="@cn=$user">
      <tr>
        <td>
          NOM Prenom:
        </td>
        <td>
          <input type="textbox" size="20" name="newname" value="{@cn}" />
          <input type="hidden" name="oldname" value="{@cn}" />
          <input type="hidden" name="e164" value="{@e164}" />
          <input type="hidden" name="guid" value="{@guid}" />
          <input type="hidden" name="h323" value="{@h323}" />
          <input type="hidden" name="loc" value="{@loc}" />
          <input type="hidden" name="cfnr" value="{@cfnr}" />
          <input type="hidden" name="busy-out" value="{@busy-out}" />
          <input type="hidden" name="sort" value="{$sort}" />
          <input type="hidden" name="hw-id" value="{@hw-id}" />
          <input type="hidden" name="type" value="{@type}" />
          <input type="hidden" name="filter" value="{@filter}" /> 
          <input type="hidden" name="cd-filter" value="{@cd-filter}" />
          <xsl:value-of select="cd-filter"/>
          <input type="hidden" name="referer" value="{$self}" />
        </td>
      </tr>
      <tr>
        <td>
          Chambres:
        </td>
        <td>
          <xsl:value-of select="substring(@h323,12)"/>
        </td>
      </tr>
      <tr>
        <td>
          Numero:
        </td>
        <td>
          <xsl:value-of select="@e164"/>
        </td>
      </tr>
      <tr>
        <td>
          Filter sortie:
        </td>
        <td>
          <xsl:variable name="filter_active">
            <xsl:value-of select="@filter"/>
          </xsl:variable>
            <xsl:for-each select="document('pbxglobal.xml')//show/filter">
              <xsl:if test="@name!='normal' and @name!='unknown'">
              <input type="radio" name="filter">
                <xsl:attribute name="value">
                  <xsl:value-of select="@name"/>
                </xsl:attribute>
                <xsl:if test="@name=$filter_active">
                  <xsl:attribute name="checked" />
                </xsl:if>
              </input>
              <xsl:value-of select="@name"/>
              <br/>
            </xsl:if>
          </xsl:for-each>
          <xsl:apply-templates select="cd" />
        
        </td>
      </tr>
    </xsl:if>
  </xsl:template>

  <xsl:template match="grp">
    <xsl:if test="not(@name=following::grp/@name)">
      <xsl:choose>
        <xsl:when test="$mode='advanced'">
          <tr>
            <xsl:if test="0 mod 2 = 0">
              <xsl:attribute name="style">background-color: #eeeeee</xsl:attribute>
            </xsl:if>
            <td align="center">
              <xsl:if test="@name=//show/user[@cn=$user]/grp/@name">
                <input type="hidden" name="oldgroup">
                  <xsl:attribute name="value">
                    <xsl:value-of select="@name"/>
                  </xsl:attribute>
                </input>
              </xsl:if>
              <input type="checkbox" name="newgroup">
                <xsl:attribute name="value">
                  <xsl:value-of select="@name"/>
                </xsl:attribute>
                <xsl:if test="@name=//show/user[@cn=$user]/grp/@name">
                  <xsl:attribute name="checked" />
                </xsl:if>
              </input>
            </td>
            <td>
              <xsl:value-of select="@name"/>
            </td>
          </tr>
        </xsl:when>
        <xsl:otherwise>
          <xsl:if test="@name=//show/user[@cn=$user]/grp/@name">
            <input type="hidden" name="oldgroup">
              <xsl:attribute name="value">
                <xsl:value-of select="@name"/>
              </xsl:attribute>
            </input>
          </xsl:if>
          <xsl:if test="@name=//show/user[@cn=$user]/grp/@name">
            <input type="hidden" name="newgroup">
              <xsl:attribute name="value">
                <xsl:value-of select="@name"/>
              </xsl:attribute>
            </input>
          </xsl:if>
        </xsl:otherwise>
      </xsl:choose>
    </xsl:if>
  </xsl:template>

  <xsl:template match="cd">
    <xsl:if test="@type='cfnr'">
      <input type="hidden" name="cd_cfnr_exist" value="on" />
      <input type="hidden" name="cd_cfnr">
        <xsl:attribute name="value">
          <xsl:value-of select="ep/@e164" />
        </xsl:attribute>
      </input>
    </xsl:if>
    <xsl:if test="@type='cfb'">
      <input type="hidden" name="cd_cfb_exist" value="on" />
      <input type="hidden" name="cd_cfb">
        <xsl:attribute name="value">
          <xsl:value-of select="ep/@e164" />
        </xsl:attribute>
      </input>
    </xsl:if>
    <xsl:if test="@type='cfu'">
      <input type="hidden" name="cd_cfu_exist" value="on" />
      <input type="hidden" name="cd_cfu">
        <xsl:attribute name="value">
          <xsl:value-of select="ep/@e164" />
        </xsl:attribute>
      </input>
    </xsl:if>
  </xsl:template>

  <xsl:template match="gw">
    <xsl:if test="not(@name=following::gw/@name)">
          <xsl:if test="@name=//show/user[@cn=$user]/gw/@name">
              <input type="hidden" name="dectName">
              <xsl:attribute name="value">
                <xsl:value-of select="@name"/>
              </xsl:attribute>
              </input>
              <input type="hidden" name="dectDisplay">
              <xsl:attribute name="value">
                <xsl:value-of select="@dsp"/>
              </xsl:attribute>
              </input>
              <input type="hidden" name="dectIpei">
              <xsl:attribute name="value">
                <xsl:value-of select="@ipei"/>
              </xsl:attribute>
              </input>
              <input type="hidden" name="dectAC">
                <xsl:attribute name="value">
                  <xsl:value-of select="@AC"/>
                </xsl:attribute>
              </input>
          </xsl:if>
    </xsl:if>
  </xsl:template>
</xsl:stylesheet>


le code source au final:
<?xml version="1.0" encoding="utf-8"?><title>PBX User Edit</title><link rel="stylesheet" type="text/css" href="ehc.css" /><center><h1>Central Telephonique EMS Les Paquis &amp; EMS Nelty</h1></center><center><form name="form" action="/Site/default.aspx" method="POST"><input type="hidden" name="myBack" value="locBack" /><input type="hidden" name="action" value="update" /><table border="0" cellspacing="2" cellpadding="2"><tr><td colspan="2" align="left" bgcolor="#cccccc"><b>Utilsateur</b></td></tr><tr><td>
          NOM Prenom:
        </td><td><input type="textbox" size="20" name="newname" value="Carsten Buchenau" /><input type="hidden" name="oldname" value="Carsten Buchenau" /><input type="hidden" name="e164" value="211" /><input type="hidden" name="guid" value="ea1453a6e909d311bd6d0090330606c4" /><input type="hidden" name="h323" value="Carsten" /><input type="hidden" name="loc" value="Flon" /><input type="hidden" name="cfnr" value="" /><input type="hidden" name="busy-out" value="" /><input type="hidden" name="sort" value="" /><input type="hidden" name="hw-id" value="IP200-03-33-c0" /><input type="hidden" name="type" value="ep" /><input type="hidden" name="filter" value="normal" /><input type="hidden" name="cd-filter" value="normal" /><input type="hidden" name="referer" value="/Site/default.aspx" /></td></tr><tr><td>
          Chambres:
        </td><td></td></tr><tr><td>
          Numero:
        </td><td>211</td></tr><tr><td>
          Filter sortie:
        </td><td><input type="radio" name="filter" value="no_dialout"></input>no_dialout<br /><input type="radio" name="filter" value="2_test"></input>2_test<br /><input type="radio" name="filter" value="1_test"></input>1_test<br /></td></tr><tr><td colspan="2" height="20"></td></tr><tr><td colspan="2" height="20"><input type="hidden" name="oldgroup" value="Reception"></input><input type="hidden" name="newgroup" value="Reception"></input><input type="hidden" name="oldgroup" value="ec-3127671"></input><input type="hidden" name="newgroup" value="ec-3127671"></input><input type="hidden" name="oldgroup" value="ec-3127674"></input><input type="hidden" name="newgroup" value="ec-3127674"></input><input type="hidden" name="oldgroup" value="edifice-com"></input><input type="hidden" name="newgroup" value="edifice-com"></input><input type="hidden" name="oldgroup" value="tapi"></input><input type="hidden" name="newgroup" value="tapi"></input></td><td colspan="2" height="20"><input type="hidden" name="dectName" value="GW-DECT"></input><input type="hidden" name="dectDisplay" value="Carsten     211"></input><input type="hidden" name="dectIpei" value="00077 0788580"></input><input type="hidden" name="dectAC" value=""></input></td></tr><tr><td colspan="2" align="center"><input type="submit" name="submit" value="Back" /><input type="submit" name="submit" value="Update" /></td></tr></table></form></center>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
  <title>PBX Admin Interface</title>
  <link rel="stylesheet" type="text/css" href="ehc.css"/>
  <!-- <link rel="stylesheet" type="text/css" href="default.css" /> -->
</head>

<body>
    <form name="form1" method="post" action="default.aspx?action=edit&amp;loc=Flon&amp;user=Carsten+Buchenau" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTEzNDA3MDMyNjVkZHsImHy5K6Zt2bGvsCdb+273kE5z" />
</div>

      <div>
        &nbsp; &nbsp; &nbsp; &nbsp;
        </div>
        &nbsp;
        
      </form>
</body>
</html>
Bonjour!

Lorsque tu écris <xsl:template match="/">, cela signifie que ce qui est dans cet élément va remplacer l'élément-racine de ton fichier XML initial.

Or l'élément racine est le premier qui est rencontré par le parser XSL... et donc il ajoute en début de sortie ton <title>PBX User Edit</title> etc.

Pour plus d'infos sur les feuilles de style:
* Introduction à XSL
* Les éléments de XSL (voir par exemple l'utilisation de <xsl:output>).
Donc si je veux éviter ça je fais comment? car si je supprime <xsl:template match="/"> plus rien ne fonctionne.
Juste après ta déclaration de feuille de style (<xsl:stylesheet...>) utilise l'élément <xsl:output> comme je te l'ai signalé.

Puis

<xsl:template match="/">
    <html lang="fr">
        <head>
            <title>(le titre de ta page)</title>
            <meta /> diverses (pas la peine de spécifier ici l'encodage de caractère: si tu as correctment utilisé <xsl:output>, cela devrait se faire tout seul.
        </head>
        <body>
ce que tu veux mettre dans ta page
        </body>
    </html>
</xsl:template>


Je te conseille de regarder les (nombreux) exemples de feuilles de style qui se trouvent dans les ressources que j'ai citées plus haut. Tu devrais comprendre beaucoup de choses Smiley smile