From: Arnaud Malguy (Arnaud.Malguy@xps-pro.com)
Date: 22/08/2001 - 12:43
J'ai vu deux réponses qui n'ont rien à voir avec la mienne, alors je ne sais
plus si j'ai bien compris.
Enfin voila, j'ai compris que tu voulais insérer des éléments XML à l'intérieur
du texte d'entrée et
seulement autour de certains mots.
Pour cela il faut faire un template nommé qui scanne récursivement le texte en
considérant que les
mots sont séparés par des espaces. Cela peut paraitre compliqué mais j'ai déja
eu à faire ce genre
de transfos et cela marche. On obtient un template du genre :
<xsl:template match="text()">
<xsl:call-template name="text">
<xsl:with-param name="text" select ="."/>
</xsl:call-template>
</xsl:template>
<xsl:template name="text">
<xsl:param name="text"/>
<xsl:variable name="token" select="substring-after($text, ' ')"/>
<xsl:variable name="text_right" select="substring-after($text, ' ')/>
<xsl:choose>
<xsl:when test="$token='Evenement'><a ... /></xsl-when>
...
<xsl:otherwise><xsl:value-of select="$text"/></xsl:otherwise>
</xsl:choose>
<!-- Ne pas oublier l'espace -->
<xsl:text> <xsl:text>
<!-- Relancer le traitement sur la suite du texte -->
<xsl:call-template name="text">
<xsl:with-param name="text" select ="$text_right"/>
</xsl:call-template>
</xsl:template>
Stéphanie Alexandre wrote:
> Bonjour
>
> Débutante en XML, je me trouve face à un petit souci .. :
> voici un bout du XML
>
> <paragraphe>
> <question>
> Où puis-je trouver plus d'informations sur XML ?
> </question>
> <reponse>
> <item>
> Choisissez un Evénement,nous serions ravi de vous rencontrer.
> </item>
> <item>
> Vous pouvez aussi visiter des sites sur Internet ......
> </item>
> </paragraphe>
>
> il y a biensur plusieurs paragraphes
>
> et voici un bout du XSL :
>
> <xsl:template name="paragraphe-list">
> <xsl:for-each select="paragraphe">
> <tr><td> </td>
> <td>
> <span class="noir-12"><b><xsl:value-of select="question"
> /></b></span>
> </td>
> </tr>
> <tr><td><img src="/images/espaceur.gif" height="5"></img></td></tr>
> <xsl:call-template name="reponses-list"/>
> <tr>
> <td ><img src="/images/espaceur.gif" height="20"></img></td>
> </tr>
> </xsl:for-each>
> </xsl:template>
>
>
> <xsl:template name="reponses-list">
> <xsl:for-each select="reponse/item">
> <tr><td> </td>
> <td>
> <span class="noir-12"><xsl:copy-of select="text()" /></span>
> </td>
> </tr>
> <tr><td><img src="/images/espaceur.gif" height="5"></img></td></tr>
> </xsl:for-each>
> </xsl:template>
>
> le problème est que sur certains mot dans le XML je dois faire un lien, ce
> qui me donnerait un truc du genre :
>
> Choisissez un Evénement,nous serions ravi de vous
> rencontrer.
>
> J'éspère que vous avez compris mon problème...merci d'avance
>
> Stéphanie
> --
> 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:06 UTC
webmaster@xmlfr.org
|