Article View: fr.comp.text.xml
Article #9766Re: une BD xml avec plusieurs xsl ???
From: Alain Ketterlin
Date: Fri, 02 Feb 2001 16:12
Date: Fri, 02 Feb 2001 16:12
52 lines
2704 bytes
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-mailReferences:
<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"