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: Karen Lease (klease@vftis.com)
Date: 24/11/2000 - 10:03


Je vois que vous avez déjà trouvé (avec xsl:include), mais sans savoir
exactement pourquoi.
Une idée... (moi non plus, je n'aime pas les solutions sans
explications)
 xsl:import doit être le premier élément dans le xsl:stylesheet
appelant; alors qu'un xsl:include peut être n'importe où. Peut-être que
cela explique votre expérience?

Salutations,
Karen Lease

P.S. Technique intéressante; merci Eric!
/* =====================================
Karen Lease
SPX Valley Forge Technical Information Services
SPX France SA
147 avenue Paul Doumer
92500 Rueil-Malmaision France
Tel.: +33 (0)14751-1751
Fax: +33 (0)14751-8714
eMail: klease@vftis.com

visit us on the web at http://www.vftis.com
======================================*/

On Thursday, November 23, 2000 4:15 PM, Pierre Attar
[SMTP:patt@tireme.fr] wrote:
> Bonjour,
>
> J'ai assisté à une présentaton merveilleuse de Eric Van Der Vlist sur
> XSLT
> à XML Forum.
>
> En gros, et pour fair vite, son idée est qu'il faut essayer, dans une
>
> génération de fichiers HTML, de différencier les parties code de
> transformation de celles purement présentation contenant du code
HTML.
>
>
> Pour ce faire, il suffit de créer des "templates" html, contenant
tout
> le
> code html et des éléments perso. Par exemple :
>
> <html>
> <head>
> <title><mutu-title/></title>
> </head>
> <body>
> <mutu-body/>
> </body>
> </html>
>
> Ceci fait, dans le fichier XSLT, on charge le document HTML et on le
> parcourre.
> Quand on rencontre des balises perso, on agit dessus.
>
> Par exemple :
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> version="1.0" xmlns:lxslt="http://xml.apache.org/xslt"
> xmlns:redirect="org.apache.xalan.xslt.extensions.Redirect"
> extension-element-prefixes="redirect">
> <xsl:variable name="style" select="document
> ('template.html')/html"/>
> <xsl:variable name="globalTemplateTopNode"
> select="document('globalHtmlLayout.xml')/html"/>
> <xsl:output method="html" indent="yes" version="4.0"
> omit-xml-declaration="no" doctype-public="-//W3C//DTD HTML 4.0
> Frameset//EN" doctype-system="http://www.w3.org/TR/REC-
> html40/frameset.dtd"/>
> <xsl:template match="/">
> <xsl:apply-templates select=".//ARTICLE"/>
> </xsl:template>
> <xsl:template match="ARTICLE">
> <xsl:variable name="filename">
> <xsl:value-of select="'art-'"/>
> <xsl:value-of select="position(.)"/>
> <xsl:value-of select="'.html'"/>
> </xsl:variable>
> <redirect:open select="$filename"/>
> <redirect:write select="$filename">
> <xsl:message>Creating <xsl:value-of
> select="$filename"/>
> </xsl:message>
> <xsl:apply-templates select="$style">
> <xsl:with-param name="headNode"
> select="."/>
> </xsl:apply-templates>
> </redirect:write>
> <redirect:close select="$filename"/>
> </xsl:template>
> <xsl:template match="mutu-title">
> <xsl:param name="headNode"/>
> <xsl:text>coucou, article </xsl:text>
> <xsl:value-of select="$headNode/TITRE"/>
> </xsl:template>
> <xsl:template match="mutu-body">
> <xsl:param name="headNode"/>
> <xsl:text>coucou, du body de article </xsl:text>
> <xsl:apply-templates select="$headNode/BODY"/>
> </xsl:template>
> <xsl:template match="@*|*">
> <xsl:param name="headNode"/>
> <xsl:copy>
> <xsl:apply-templates select="@*|node()">
> <xsl:with-param name="headNode"
> select="$headNode"/>
> </xsl:apply-templates>
> </xsl:copy>
> </xsl:template>
> <xsl:template match="BODY">
> <ul>
> <xsl:apply-templates/>
> </ul>
> </xsl:template>
> <xsl:template match="P">
> <li>
> <xsl:apply-templates/>
> </li>
> </xsl:template>
> </xsl:stylesheet>
>
> Et ca marche fort bien, même lorsque l'on souhaite faire de la
> fragmentation ... ici en uitlisant Xalan.
>
> Fichier de test :
> <?xml version="1.0" encoding="UTF-8"?>
> <DOCS>
> <ARTICLE>
> <TITRE>Premier article</TITRE>
> <BODY>
> <P>Du texte</P>
> </BODY>
> </ARTICLE>
> <ARTICLE>
> <TITRE>Second article</TITRE>
> <BODY>
> <P>Du texte</P>
> <P>Encore du texte</P>
> </BODY>
> </ARTICLE>
> </DOCS>
>
>
>
> Maintenant passons enfin à mon problème :
>
> - Je prend dans le fichier XSLT les déclarations de P et BODY et les
> mets
> dans un autre fichier nommé include.xsl
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> xmlns:fo="http://www.w3.org/1999/XSL/Format">
> <xsl:template match="BODY">
> <ul>
> <xsl:apply-templates/>
> </ul>
> </xsl:template>
> <xsl:template match="P">
> <li>
> <xsl:apply-templates/>
> </li>
> </xsl:template>
> </xsl:stylesheet>
>
> - dans le fichier xsl principal, je met un import :
> <xsl:import href="./include.xsl"/>
>
>
> Et là, plus rien ne marche, les templates BODY et P ne sont jamais
> utilisés
> et c'est toujours la transformation par défaut qui est prise en
> compte.
> Et alors ? ... je m'arrache les cheveux. Est-ce un problème de Xalan,
> ou y
> a-t-il une restricxtion dans xsl:import qui fait que je me trompe ?
>
> Toute réponse est la bienvenue ... et merçi encore à Eric pour cette
> méthode ... dès que cela marchera, ce sera fantastique...
>
>
>
>
>
>
>
> ------------
> Pierre Attar (mailto:pattar@tireme.fr)
>
> Projet "Mutualiser l'effort de montée en compétences sur XML"
> http://www.mutu-xml.org/index.html
>
>
> --
> 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

--
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