Bonjour,
Le vendredi 18 novembre 2005 à 11:36 +0100, Markus (datz.free.fr) a
écrit :
> Bonjour à tous :-)
>
> > Si dans les (...) vous générez des noeuds texte et/ou des éléments, vous
> > ne pouvez donc pas déplacer ce bloc pour le mettre avant la génération
> > des attributs!
>
> Le processeur XSLT doit croire que l' output des attributs est fini à la
> sortie d'u <xsl:if> !
Non, ce n'est pas par rapport au source XSLT mais par rapport à son
effet sur l'arbre résultat. Vous pouvez donc insérer un if si il ne
génère que des attributs.
> > PS: vous apprenez très vite pour un débutant en XSLT!
>
> C' est gentil de votre part :-)
> Qu' est ce que vous me conseilleriez comme livre de chevet pour XSL SVP?
En anglais, celui de Mike Kay sans hésiter... C'est un livre de
référence que je ne conseillerais pas à un débutant "complet mais
d'après les exemples que vous soumettez, il ne devrait pas vous poser de
problème.
> La, je me heurte a un probleme en construisant des URL:
> <xsl:element name="a">
> <xsl:attribute name="href">
> <xsl:value-of select="$page_name?param='1'"/>
> </xsl:attribute>
>
> Je crois que le "?" est un caractere est réservé.
Pas en XPath/XSLT.
Par contre, $page_name?param=1 n'est pas correcte en XPath. Si vous
voulez concaténer le contenu de $page_name et la chaîne de caractère
"?param=1", il faut le dire :-) :
<xsl:value-of select="concat($page_name, '?param=1')"/>
> J' ai contourné avec
> <xsl:value-of select="$page_name"/>
> <xsl:text>?g_skin="skin1"</xsl:text>
> Mais c' est pas tres elegant.
Question de goût :-) ...
> En cherchant, je suis tombé sur cet article
> http://www.xml.com/pub/a/2002/02/27/q-and-a.html
>
> J' aime bien cette regle de construction:
> <xsl:template match="link">
> Click Here
> </xsl:template>
Oui, c'est plus concis.
> Le problème c' est que je n' ai pas de "noeud" a selectionné a cet endroit.
> Je voulais traité en "inline".
Que voulez-vous dire?
Vous pouvez remplacer :
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="$page_name?param='1'"/>
</xsl:attribute>
par :
<a href="{$page_name}?param=1">
...
C'est à la fois plus concis et plus lisible (à mon avis)!
> J' espere que ca va bien chez vous :-)
Ca va!
Cordialement,
Eric van der Vlist
> Cordialement
> Marc Abiven
>
>
>
> ----- Original Message -----
> From: "Eric van der Vlist" <vdv@dyomedea.com>
> To: <xml-tech@xmlfr.org>
> Sent: Thursday, November 17, 2005 8:01 AM
> Subject: [xml-tech] Re: evaluation erratique d'un attribute par rapport a un
> if
>
>
> > Bonjour,
> >
> > Le jeudi 17 novembre 2005 à 02:11 +0100, Markus (locations-ventes.net) a
> > écrit :
> >> Bonjour a Tous
> >> J' essaye de mettre au point une feuille XSL de modification d' un
> >> fichier XHTML.
> >> Le but est de completer certains attributs qui peuvent etre manquant.
> >> En l' occurence: les "title" sur les <a> et aussi reformater les url en
> >> url "Absolues" (avec http://)
> >>
> >> Je me heurte a un comportement complement étrange juste en déplacant un
> >> <xsl:attribute> avant ou apres un <xsl:if>
> >>
> >> avant: tout est OK ma fonction en PHP est appelée
> >> apres: aucun appel fait, c est comme si le <xsl:attribute> était ignoré.
> >>
> >> MARCHE:
> >> <xsl:when test="name()='a'">
> >> <xsl:copy>
> >> <xsl:attribute name="href">
> >> <xsl:value-of
> >> select="php:functionString('page_format_href_absolute',@href)"/>
> >> </xsl:attribute>
> >> <xsl:if test="not(normalize-space(@title))">
> >> (....)
> >> </xsl:if>
> >>
> >> MARCHE PAS:
> >> <xsl:when test="name()='a'">
> >> <xsl:copy>
> >> <xsl:if test="not(normalize-space(@title))">
> >> (....)
> >> </xsl:if>
> >> <xsl:attribute name="href">
> >> <xsl:value-of
> >> select="php:functionString('page_format_href_absolute',@href)"/>
> >> </xsl:attribute>
> >>
> >>
> >> C' est comme si apres le <xsl:if>, l' atribut "href" était
> >> "read-only".
> >
> > Non, le document de sortie est toujours en "append only"...
> >
> > C'est d'ailleurs sans doute la raison de vos problèmes : une des
> > conséquences d'être en "append only" est qu'il faut écrire d'abord tous
> > les attributs puis ensuite seulement les noeuds texte et éléments.
> >
> > Si dans les (...) vous générez des noeuds texte et/ou des éléments, vous
> > ne pouvez donc pas déplacer ce bloc pour le mettre avant la génération
> > des attributs!
> >
> > Cordialement,
> >
> > Eric van der Vlist
> >
> > PS: vous apprenez très vite pour un débutant en XSLT!
> > --
> > Freelance consulting and training.
> > http://dyomedea.com/english/
> > ------------------------------------------------------------------------
> > Eric van der Vlist http://xmlfr.org http://dyomedea.com
> > (ISO) RELAX NG ISBN:0-596-00421-4 http://oreilly.com/catalog/relax
> > (W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
> > ------------------------------------------------------------------------
> >
> >
> > --
> > 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)
>
>
--
Le premier annuaire des apiculteurs 100% XML!
http://apiculteurs.info/
------------------------------------------------------------------------
Eric van der Vlist http://xmlfr.org http://dyomedea.com
(ISO) RELAX NG ISBN:0-596-00421-4 http://oreilly.com/catalog/relax
(W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
------------------------------------------------------------------------
--
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)
Received on Fri Nov 18 11:46:52 2005