🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Questions de gros debutant sur xls

#10678
From: Thierry Bezecourt
Date: Sat, 26 Aug 2000 00:47
44 lines
2954 bytes
Eric Jacoboni <jaco@titine.fr.eu.org> writes:

> (TOM)> Avec expat (utilis� avec PHP pour ma part ;o) , pas facile et
> (TOM)> surtout peu lisible, avec XSLT c'est un jeu d'enfant.
> 
> Mouais, il suffisait de d�clarer une variable pour m�moriser le titre
> de la section en cours, non ? Dans le m�me ordre d'id�e, g�n�rer une
> table des mati�res dans la transformation HTML est facile avec Expat,
> je tremble � l'id�e de le faire avec XSLT...

G�n�rer une table des mati�res ne me para�t pas si facile que cela
avec expat. Soit tu parses deux fois le document avec des handlers
diff�rents, une fois pour la table des mati�res, une autre fois pour
le corps du document. Soit tu parses une seule fois, et il faut que tu
te fasses ta structure de donn�es � toi pour stocker tout ce qu'il te
faut, avant de g�n�rer l'ensemble du HTML � la fin. Bref, avec expat
on finit souvent par se faire son propre mini-DOM, et il faut le
maintenir quand on fait �voluer le type du document.

Avec XSLT, c'est beaucoup plus propre, parce que le code qui g�n�re le
HTML reste au plus pr�s de celui-ci qui parcourt le document XML :

<!-- Docbook -->
<xsl:template match="book">
  <!-- TOC     -->  <xsl:call-template name="toc" />
  <!-- contenu -->  <xsl:call-template name="contenu" />
</xsl:template>

<xsl:template name="toc">
  <!-- s�lectionner chaque chapitre et afficher son titre -->
</xsl:template>  

<xsl:template name="contenu">
  <!-- appliquer un template "chapter" qui affiche le contenu de
  chaque chapitre en appelant les templates "section", etc... -->
</xsl:template>

Je n'aime pas la syntaxe de XSLT (<xsl:value-of select="@title" />,
c'est lourd...), mais la logique qui est derri�re (templates + XPath)
est vraiment s�duisante.


-- 
Thierry B�zecourt
Technical Details
Message-ID: <m166oo97c3.fsf@worldnet.fr>
Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-02!supernews.com!nntp-relay.ihug.net!ihug.co.nz!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!isdnet!isdnethub!not-for-mail
References: <87d7ixgl96.fsf@titine.fr.eu.org> <UdCp5.1477$bh4.3744927@nnrp2.proxad.net> <87n1i1eygo.fsf@titine.fr.eu.org>

Show Full Headers
Complete Article Headers
X-Google-Language: FRENCH,ASCII
X-Google-Thread: 114f60,a08f9144e078d452
X-Google-Attributes: gid114f60,public
X-Google-ArrivalTime: 2000-08-25 17:48:09 PST
Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-02!supernews.com!nntp-relay.ihug.net!ihug.co.nz!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!isdnet!isdnethub!not-for-mail
From: Thierry Bezecourt <thbz@thbz.cx>
Newsgroups: fr.comp.text.xml
Subject: Re: Questions de gros debutant sur xls
Date: 26 Aug 2000 02:47:24 +0200
Organization: Rubis Ltd
Lines: 44
Message-ID: <m166oo97c3.fsf@worldnet.fr>
References: <87d7ixgl96.fsf@titine.fr.eu.org> <UdCp5.1477$bh4.3744927@nnrp2.proxad.net> <87n1i1eygo.fsf@titine.fr.eu.org>
NNTP-Posting-Host: wn18-060.paris.worldnet.fr
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: news6.isdnet.net 967250858 21164 195.3.18.60 (26 Aug 2000 00:47:38 GMT)
X-Complaints-To: abuse@isdnet.net
NNTP-Posting-Date: 26 Aug 2000 00:47:38 GMT
Original-Sender: thbzcrt@worldnet.fr
User-Agent: Gnus/5.0803 (Gnus v5.8.3) Emacs/20.6