🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: une BD xml avec plusieurs xsl ???

#9767
From: Tom.
Date: Fri, 02 Feb 2001 17:08
59 lines
3185 bytes
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: <95ephu$ajg$1@wanadoo.fr>
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>

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-02 09:08:16 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: Tom. <ptittom+news@free.fr>
Newsgroups: fr.comp.text.xml
Subject: Re: une BD xml avec plusieurs xsl ???
Date: Fri, 2 Feb 2001 18:08:49 +0100
Organization: -
Lines: 59
Message-ID: <95ephu$ajg$1@wanadoo.fr>
References: <3A79E0F4.F19D6D8F@chez.com> <3a7a91c6$1@news.euriware> <3A7AD1C5.913B628B@chez.com>
NNTP-Posting-Host: adijon-101-1-1-189.abo.wanadoo.fr
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8Bit
X-Trace: wanadoo.fr 981133694 10864 193.251.185.189 (2 Feb 2001 17:08:14 GMT)
X-Complaints-To: abuse@wanadoo.fr
NNTP-Posting-Date: 2 Feb 2001 17:08:14 GMT