From: Eric van der Vlist (vdv@dyomedea.com)
Date: 21/09/2000 - 10:12
Bonjour Pierre,
Pierre Attar wrote:
>
> Quelqu'un pourrait-il m'explique pourquoi cela ne marche pas ?
>
> J'essaye d'utiliser des attributs prédéfinis pour formatter des blocks
> (fo:block) et n'arrive pas à adresser une variable dans un QName :
C'est normal, c'est interdit ;=)
Lorsque la spécification XSLT indique qu'une valeur (comme c'est la cas
pour les "attribute-sets" est un QNAME, c'est que XSLT attend une chaine
de caractères qui soit elle même un QNAME (c'est à dire un nom au sens
XML) donc une constante.
(voir http://www.w3.org/TR/xslt#attribute-sets
et http://www.w3.org/TR/REC-xml-names/#NT-QName)
> <fo:block xsl:use-attribute-set="{$attrSet}">.
Ici tu lui donne "{$attrSet}" qui n'est pas un QNAME puisqu'il contient
"{", "$" et "}".
Il est donc impossible d'avoir un nom de "attribute-set" qui soit une
variable (comme il est impossible que le nom d'un template soit une
variable).
Cordialement,
Eric
>
> Voici la partie intéressante du code :
>
> <xsl:attribute-set name="S1-para-att">
> <xsl:attribute name="font-size">12pt</xsl:attribute>
> </xsl:attribute-set>
> <xsl:attribute-set name="S2-para-att">
> <xsl:attribute name="font-size">12pt</xsl:attribute>
> </xsl:attribute-set>
>
> <xsl:template match="S1|S2">
> <xsl:variable name="attrSet" select="concat(name(),'-para-att')"/>
> <!-- ca marche .... -->
> <xsl:message>
> <xsl:value-of select="$attrSet"/>
> </xsl:message>
> <!-- ca marche PAS .... -->
> <fo:block xsl:use-attribute-set="{$attrSet}">
> <xsl:apply-templates />
> </fo:block>
> </xsl:template>
>
> Note: j'utilise Xalan pour faire la transformation.
>
> Merci,
>
> Pierre
>
> --
> 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)
--
------------------------------------------------------------------------
Eric van der Vlist Dyomedea http://dyomedea.com
http://xmlfr.org http://4xt.org http://ducotede.com
------------------------------------------------------------------------
--
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
|