Article View: fr.comp.text.xml
Article #9767Re: une BD xml avec plusieurs xsl ???
From: Tom.
Date: Fri, 02 Feb 2001 17:08
Date: Fri, 02 Feb 2001 17:08
59 lines
3185 bytes
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-mailReferences:
<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