Cliquez ici.
Accueil
 chercher             Plan du site             Info (English version) 
L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.Les listes de discussions XMLfr sont à votre disposition pour réagir sur nos articles ou simplement poser une question.Si vous ètes passionnée(e) par XML, pourquoi ne pas en faire votre métier ?XMLfr n'est heureusement pas le seul site où l'on parle de XML. Découvrez les autres grâce à XMLfr et à l'ODP.Les partenaires grâce auxquels XMLfr peut se développer.Pour tout savoir sur XMLfr.XMLfr sans fil, c'est possible !Pour ceux qui veulent vraiment en savoir plus sur XML.L'index du site.
 Commentaires et questions non techniques.Commentaires et questions techniques.

 
Cliquez ici.

From: Alexandre Arcouteil (lex@free.fr)
Date: 18/03/2004 - 13:37


Olivier Devue wrote:

> Bonjour,

Bonjour,

Dans votre cas, si j'ai bien compris, le noeud de départ du decompte
(pour la numerotation) n'est pas toujours le même. C'est un fils de
"Noeud", dont on ne connait pas le nom à priori : Noeud1a puis Noeud1b,
etc...

Il vous faut donc appeler 'number' en lui passant en parametre le nom du
nouvel element de depart du decompte à chaque fois que vous parcourez
des fils d'un nouveau Noeud1 (dans l'exemple, la numerotation obtenue
est inseree sous forme d'attribut 'num'):

<!-- pour Noeud, pas de decompte -->
<xsl:template match="Noeud" priority="1">
  <xsl:copy>
          <xsl:apply-templates />
  </xsl:copy>
</xsl:template>

<!-- pour chaque fils de Noeud, on recupere son nom qui servira de
reference pour la numerotation de ses noeuds fils -->
<xsl:template match="Noeud/*" priority="1">
<xsl:variable name="depart" select="name()"/>
  <xsl:copy>
<!-- <xsl:attribute name="num"><xsl:number level="any" count="*"
from="*[name()=$depart]"/> </xsl:attribute>-->
          <xsl:apply-templates>
          <xsl:with-param name="borneRef" select="$depart"/>
          </xsl:apply-templates>
  </xsl:copy>
</xsl:template>

<!-- traitement par defaut des noeud pour numerotation -->
<xsl:template match="*">
<xsl:param name="borneRef">Noeud</xsl:param>
  <xsl:copy>
          <xsl:attribute name="num"><xsl:number level="any" count="*"
from="*[name()=$borneRef]"/></xsl:attribute>
          <xsl:apply-templates>
          <xsl:with-param name="borneRef" select="$borneRef"/>
          </xsl:apply-templates>
  </xsl:copy>
</xsl:template>

Ou alors je n'ai rien compris avotre probleme 8-}

alex

> J'aurais simplement besoin de numéroter
> séquentiellement les noeuds depuis le Noeud1 et recommencer à 1
> chaque fois que je rencontre un nouveau Noeud1

> <Noeud>
> <Noeud1a> <!-- N° 1 -->
> <Noeud2a> <!-- N° 2 -->
> </Noeud2a>
> <Noeud2b> <!-- N° 3 -->
> <Noeud3a> <!-- N° 4 -->
> <Noeud4a> <!-- N° 5 -->
> </Noeud4a>
> <Noeud4b> <!-- N° 6 -->
> <Noeud5a> <!-- N° 7 -->
> </Noeud5a>
> </Noeud4b>
> </Noeud3a>
> <Noeud3b> <!-- N° 8 -->
> <Noeud4a> <!-- N° 9 -->
> </Noeud4a>
> <Noeud4b> <!-- N° 10 -->
> </Noeud4b>
> </Noeud3b>
> </Noeud2b>
> </Noeud1a>
> <Noeud1b>
> <Noeud2a> <!-- N° 1 -->
> </Noeud2a>
> <Noeud2a> <!-- N° 2 -->
> <Noeud3b> <!-- N° 3 -->
> </Noeud3b>
> </Noeud2a>
> </Noeud1b>
> </Noeud>
>
> J'ai exploré 2 pistes : xsl:number et count()
> Mais je n'y arrive pas !
>
> --
> Devenez redacteur <XML>fr et contribuez au developpement du
> xml francophone (http://xmlfr.org/infos/redacteurs/) !
>
> Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
>
> Cette liste est a votre disposition pour discuter en francais de
> tout sujet technique lie a XML.
>
> Pour resilier votre abonnement, envoyez un message contenant
> la commande "unsubscribe" a xml-tech-request@xmlfr.org
> (mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
>
>
>

--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !

Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).

Cette liste est a votre disposition pour discuter en francais de tout sujet technique lie a XML.

Pour resilier votre abonnement, envoyez un message contenant la commande "unsubscribe" a xml-tech-request@xmlfr.org (mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)



Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:05 UTC

webmaster@xmlfr.org

 

xml tech

Discussions techniques au sujet de XML.

Cette liste est à votre disposition pour discuter en français de tout sujet technique lié à XML.



Devenez rédacteur <XML>fr et contribuez au développement du xml francophone !
Les documents publiés sur ce site le sont sous licence "Open Content"
Conception graphique
  l.henriot@online.fr  

Conception, réalisation et hébergement