From: GAGNAIRE THIERRY (thierry.gagnaire@sgam.com)
Date: 05/11/2001 - 18:48
Je ne vois pas le problème,
les blocs for-each doivent marcher.
NB: les règles (blocs templates) sont plus naturels en XSL ;
avec un appel par <xsl:apply-templates select="PERSON" />
ou bien (infos complémentaires de mémoire):
1)a)
<xsl:apply-templates select="MANAGER[boolean(PERSON)]" />
si on souhaite selectionner les MANAGER qui ont une/des PERSON
b) idem dans un test plus classique:
<xsl:if test="boolean(PERSON)">
...
</xsl:if>
2) Je crois qu'on peut savoir si un noeud est le dernier:
<xsl:if test="position()=last()">...
3) Dans ce cas compter peut être plus simple:
<xsl:variable name="nb_person">
<xsl:value-of select="count(PERSON)" />
</xsl:variable>
...
A+
Thierry G.
-----Message d'origine-----
De : Beaudoin, Laurent [mailto:LBeaudoin@EssilorUSA.com]
Envoyé : lundi 5 novembre 2001 19:06
À : Xml-Tech (E-mail)
Objet : [xml-tech] Last() ?
Bonjour a tous,
encore une fois, je vous expose un probleme. J'utilise du XML pour
representer un orgranigramme hierarchique. En voici un partie :
<TREE>
<MANAGER FIRSTNAME="Dan" LASTNAME="Jennings" TITLE="Oracle
Application/DBA" IDPERS="DJennings" />
</TREE>
<TREE>
<MANAGER FIRSTNAME="Steve" LASTNAME="Morris" TITLE="Director"
IDPERS="SMorris" />
<PERSON FIRSTNAME="Tina" LASTNAME="Barfield" TITLE="Developer-Cold
Fusion" IDPERS="TBarfield" />
<PERSON FIRSTNAME="Leon" LASTNAME="Booker" TITLE="MIS - Project Leader"
IDPERS="LBooker" />
<PERSON FIRSTNAME="Lucy" LASTNAME="Grant" TITLE="Sr. Data Warehouse
Ana" />
</TREE>
Est t'il possible de determinier que le premier manger (<MANAGER>) n'a
personne qui lui rapporte (<PERSON>), alors que le second en a (je n'ai pas
besoin de connaitre le nombre) ?
J'ai tente d'utiliser last, mais sans succes. Voici un extrait de mon
fichier xsl :
<xsl:for-each select="TREE">
<A><xsl:attribute name="HREF">ShowPersonDetails.asp?id=<xsl:value-of
select="MANAGER/@IDPERS" /></xsl:attribute>
<B><xsl:value-of select="MANAGER/@FIRSTNAME" /> <xsl:value-of
select="MANAGER/@LASTNAME" /></B></A>
<A><xsl:attribute name="HREF">OrgChartXML.asp?id=<xsl:value-of
select="MANAGER/@IDPERS" /></xsl:attribute><IMG
SRC="images/SmallOrgChart.gif" alt="Display Organisation Chart" width="20"
height="14" border="0" /></A>
<BR />
<xsl:value-of select="MANAGER/@TITLE" />
<BR />
<xsl:for-each select="PERSON">
<A><xsl:attribute
name="HREF">ShowPersonDetails.asp?id=<xsl:value-of select="@IDPERS"
/></xsl:attribute>
<B><xsl:value-of select="@FIRSTNAME" /> <xsl:value-of
select="@LASTNAME" /></B></A>
<BR />
<xsl:value-of select="@TITLE" />
<BR />
</xsl:for-each>
</xsl:for-each>
Donc, si je peux determiner si il y a des personnes en dessous du manager,
ce serait cool !
Dites moi si le modele xml vous semble bien, et pareil pour le fichier XSL.
Merci a tous, et bravo pour cette super liste !
Laurent
--
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)
*************************************************************************
Ce message et toutes les pieces jointes (ci-apres le "message") sont
confidentiels et etablis a l'intention exclusive de ses destinataires.
Toute utilisation ou diffusion non autorisee est interdite.
Tout message electronique est susceptible d'alteration.
SG Asset Management et ses filiales declinent toute responsabilite au titre
de ce message s'il a ete altere, deforme ou falsifie.
Découvrez l'offre et les services de SG Asset Management sur le site
www.sgam.fr
********
This message and any attachments (the "message") are confidential and
intended solely for the addressees.
Any unauthorised use or dissemination is prohibited.
E-mails are susceptible to alteration.
Neither SG Asset Management nor any of its subsidiaries or affiliates shall
be liable for the message if altered, changed or falsified.
*************************************************************************
--
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:06 UTC
webmaster@xmlfr.org
|