🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: une BD xml avec plusieurs xsl ???

#9766
From: Alain Ketterlin
Date: Fri, 02 Feb 2001 16:12
52 lines
2704 bytes
Christophe <gaba2@chez.com> writes:

> bon, apparemment il n'existe pas de solution simple d'inclure un fichier xml
> dans un fichier xsl...

La seule chose qui soit standard c'est <?xml-stylesheet href=... ?>
Pour le reste, chaque systeme fait comme il veut. Tu as eu un exemple
Microsoft, voila ce qui se passe avec Cocoon : on peut pas. Alors on
ruse. En voici une : faire un fichier xml bidon qui inclut le "vrai"
(par une entite) mais a la "bonne" pi xml-stylesheet. Par exemple :

<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet href="feuille.xsl" type="text/xsl"?>
<!DOCTYPE wrap [
<!ENTITY data SYSTEM "data.xml">
]>
<wrap>&data</wrap>

mais la feuille ne recoit plus le meme element racine.

Cocoon2 aura un fichier sitemap pour regler ce probleme.

Si le transport est fait par HTTP, on peut utiliser les parametres
pour passer le nom du fichier de donnees, et laisser XSL charger
le document a la volee, par document(), ou alors meme :

<?xml version="1.0"?>
<?xml-stylesheet href="x.xsl" type="text/xsl"?>
<pipo/>

et x.xsl :

<xsl:stylesheet ...>
  <xsl:param name="xml"/>
  <xsl:param name="xsl"/>
  <xsl:template match="/">
    <xsl:processing-instruction name="xml-stylesheet">
      href=<xsl:value-of select="$xsl"/>
    </xsl:processing-instruction>
    <xsl:copy-of select="document($xml)"/>
  <xsl:template>
</xsl:stylesheet>

(avec surement une ou deux autres pi selon les cas). Dans ce cas une
URL de la forme pipo.xml?xml=data.xml&xsl=style.xsl fera ce qu'il
faut.

Dans le cas general la plupart des moteurs XSLT necessitent deux
parametres, le fichier XML et la feuille XSLT. <?xml-stylesheet ...?>
n'est qu'une facilite.

-- Alain.
Technical Details
Message-ID: <wy3ddxcbdu.fsf@polya.u-strasbg.fr>
Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-02!supernews.com!news.tele.dk!212.43.194.69!fr.clara.net!heighliner.fr.clara.net!grolier!ciril.fr!news.u-strasbg.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-7-bit
X-Google-Thread: 114f60,701b5ccef8d34985
X-Google-Attributes: gid114f60,public
X-Google-ArrivalTime: 2001-02-02 08:13:40 PST
Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-02!supernews.com!news.tele.dk!212.43.194.69!fr.clara.net!heighliner.fr.clara.net!grolier!ciril.fr!news.u-strasbg.fr!not-for-mail
From: Alain Ketterlin <alain@dpt-info.u-strasbg.fr>
Newsgroups: fr.comp.text.xml
Subject: Re: une BD xml avec plusieurs xsl ???
Date: 02 Feb 2001 17:12:13 +0100
Organization: CRC - Universite Louis Pasteur Strasbourg France
Lines: 52
Message-ID: <wy3ddxcbdu.fsf@polya.u-strasbg.fr>
References: <3A79E0F4.F19D6D8F@chez.com> <3a7a91c6$1@news.euriware> <3A7AD1C5.913B628B@chez.com>
NNTP-Posting-Host: polya.u-strasbg.fr
X-Trace: news.u-strasbg.fr 981134735 19243 130.79.6.19 (2 Feb 2001 17:25:35 GMT)
X-Complaints-To: usenet@u-strasbg.fr
NNTP-Posting-Date: 2 Feb 2001 17:25:35 GMT
X-Newsreader: Gnus v5.6.45/XEmacs 21.1 - "Capitol Reef"