🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fr.comp.text.xml
Article #9772

Re: une BD xml avec plusieurs xsl ???

#9772
From: Christophe
Date: Sat, 03 Feb 2001 18:53
93 lines
4983 bytes
hello
bien que j'ai parfaitement compris le principe que vous utilisez :
vous faites un template sur le tag <xsl:stylesheet> que vous interpreter par le
"chargement" (en fait, vous dites qu'il faut appliquer les templates sur les
tags rencontre dans le fichier source.xml)
ainsi, lorsque le xsl s'interprete lui-meme, il va voir le tag <xsl:stylesheet>
et donc "charger" le fichier source.xml qui sera interprete par les autres
templates definis dans le xsl...

bref, comme je n'ai pas reussi a m'en servir..., j'ai fait qq recherche pour
savoir pkoi cela ne marchait pas
G trouve deux raisons possibles (la premiere ne me semble pas logique, et la
seconde m'etonne bcp car vous avez l'air de savoir de koi vous parlez... perso,
j'en suis a mon premier fichier xml ;)... pas vous ;)))
- j'applique un template a la racine :
            <xsl:template match="/">
                 <xsl:apply-templates/>
            </xsl:template>
      peut-etre que cela pose des problemes, perso, je ne verrais pas pkoi,
mais C la seule chose que G trouve, et comme G pas teste ;))

- le tag <xsl:apply-templates> n'accepte pas de parametre match, comme me le
fait croire la page : http://xmlfr.org/w3c/TR/xslt/#element-syntax-summary qui
pretend que seul les param. select et mode sont definis!!!

ou alors ptet que chuis nul ;)), j y avais pas pense a cette solution....

encore merci pour votre premiere reponse, et desole pour le temps que je vous
fait eventuellement perdre ;))

++

"Tom." a �crit :

> In <3A7AD1C5.913B628B@chez.com>, Christophe wrote:
> > en clair, il est prevu d'inclure le xsl dans le xml, donc le fichier xsl
> > est alors utilise un fichier de mise en page utilisable par plusieurs
> > autres fichiers comme les css (normal ;))
> > mais il n est pas prevu d'utiliser le fichier xsl comme fichier en soit ?
> > (plusieurs vision sur la meme BD) de meme qu'on ferait avec un fichier en
> > php3 qui fait appelle a une BD qui est unique pour plusieurs pages
>
> Si.
> Une feuille de style est un document XML et on peut donc lui appliquer une
> feuille de style, et cette feuille de style peut �tre le document lui-m�me.
> Dans un feuille de style, on peut acc�der � un document externe via la
> fonction document().
>
> Exemple :
> <?xml-stylesheet type="text/xsl" href="#xslt"?>
> <xsl:stylesheet version="1.0" id="xslt"
>      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
>
> <!-- ici, mettre les templates ou les inclure (xsl:include) -->
>
> <!-- on ne fait rien de la feuille de style, on applique simplement les
>      templates au document source.xml -->
> <xsl:template match="xsl:stylesheet">
>   <xsl:apply-templates match="document('source.xml')"/>
> </xsl:template>
> </xsl:stylesheet>
>
> Quand tu appelles la feuille de style (le document XML qui la d�crit), elle
> s'applique � elle-m�me et a pour effet d'appliquer ses templates au
> document �source.xml�.
> On peut donc bien avoir plusieurs stylesheets pour un m�me document XML.
>
> Une autre solution est de n'avoir qu'une seule stylesheet, r�f�renc�e dans
> le document XML, qui r�agit diff�remment selon un param�tre.
> <xsl:stylesheet version="1.0"
>      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
>
> <!-- ici importer les diff�rentes feuilles de style -->
> <!-- chacune utilisera pour chacun de ses templates un mode sp�cifique -->
>
> <xsl:param name="mode"/>
>
> <xsl:template match="/">
> <xsl:choose>
>   <xsl:when test="$mode = 'vue1'">
>     <xsl:apply-templates select="." mode="vue1"/>
>   </xsl:when>
>   <xsl:when test="$mode = 'vue2'">
>     <xsl:apply-templates select="." mode="vue2"/>
>   </xsl:when>
>   <xsl:otherwise>
>     <xsl:message>Aucun param�tre !!!</xsl:message>
>   </xsl:otherwise>
> </xsl:choose>
> </xsl:template>
> </xsl:stylesheet>
>
> Tom.
Technical Details
Message-ID: <3A7C53B6.6C957A81@chez.com>
Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-02!supernews.com!news.tele.dk!193.251.151.101!opentransit.net!wanadoo.fr!not-for-mail
References: <3A79E0F4.F19D6D8F@chez.com> <3a7a91c6$1@news.euriware> <3A7AD1C5.913B628B@chez.com> <95ephu$ajg$1@wanadoo.fr>

Show Full Headers
Complete Article Headers
X-Google-Language: FRENCH,ASCII
X-Google-Thread: 114f60,701b5ccef8d34985
X-Google-Attributes: gid114f60,public
X-Google-ArrivalTime: 2001-02-03 10:51:43 PST
Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-02!supernews.com!news.tele.dk!193.251.151.101!opentransit.net!wanadoo.fr!not-for-mail
From: Christophe <gaba2@chez.com>
Newsgroups: fr.comp.text.xml
Subject: Re: une BD xml avec plusieurs xsl ???
Date: Sat, 03 Feb 2001 19:53:42 +0100
Organization: Wanadoo, l'internet avec France Telecom
Lines: 94
Message-ID: <3A7C53B6.6C957A81@chez.com>
References: <3A79E0F4.F19D6D8F@chez.com> <3a7a91c6$1@news.euriware> <3A7AD1C5.913B628B@chez.com> <95ephu$ajg$1@wanadoo.fr>
NNTP-Posting-Host: ca-ol-montpellier-4-158.abo.wanadoo.fr
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: wanadoo.fr 981226299 19808 213.56.43.158 (3 Feb 2001 18:51:39 GMT)
X-Complaints-To: abuse@wanadoo.fr
NNTP-Posting-Date: 3 Feb 2001 18:51:39 GMT
To: "Tom." <ptittom+news@free.fr>
X-Mailer: Mozilla 4.75 [fr] (Win98; U)
X-Accept-Language: fr