🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Questions de gros debutant sur xls

#10672
From: Xavier Cazin
Date: Fri, 25 Aug 2000 00:00
81 lines
3615 bytes
On Fri, 25 Aug 2000, jaco@titine.fr.eu.org wrote:

> J'ai r�cup�r� une tonne de docs, moult exemples, mais pas moyen de
> comprendre comment faire la m�me chose qu'une bonne vieille
> interpolation � la Perl :
> 
> soit la balise <url> d�finie dans ma DTD et utilisable ainsi :
> 
> <url nom="Ce fichier" lien="http://www.machin.org/fichier">
> 
> je veux qu'elle soit traduite en HTML ainsi :
> 
> <a href="http://www.machin.org/fichier">Ce fichier</a>
> 
> et je n'y arrive pas avec xls. � tout hasard (on peut r�ver...) j'ai
> essay� :
> 
> <xls:template match="url">
>   <a href=<xls:value-of select="@lien">>
>   <xls:value-of select="@nom"></a>
> </xls:template>

Il faut tout dire explicitement (et �crire xsl au lieu de xls, et fermer
ses �l�ments vides) :

<xsl:template match="url">
 <a><!-- ou <xsl:element name="a">, ce qui permettrait de cr�er des
         �l�ments calcul�s -->
  <xsl:attribute name="href"><!-- Le nom de l'attribut pourrait �tre
                                  calcul� et non constant -->
     <xsl:value-of select="@lien"/>
  <xsl:attribute/>
  <xsl:value-of select="@nom"/>
 </a>
<xsl:template/>

En tout cas, inutile d'essayer d'imbriquer un �l�ment dans un autre :
ton script XSLT doit rester du XML.

> La question se posera �galement pour ma balise <LISTE> qui admet un
> param�tre facultatif, 'type' pouvant valoir "simple" (le d�faut) et
> "enum". Pour produire le HTML correspondant, il faudra bien que
> j'effectue un test sur cette valeur pour produire soir un <UL> soit un
> <OL>...

Laiss� en exercice :-)

> Autre question subsidiaire : quel est l'int�r�t du
> xmlns:xsl='http://www.w3.org/1999/XSL/Transform' que l'on est oblig� de
> mettre dans l'ent�te, vu que je fais tout moi-m�me ?

Espace de noms. Si MS veut faire son XSL perso, au moins on saura qu'il
n'est pas standard.
 
> <interrogation mode="naif"> 
> 
> Et, euh, si j'osais... : quel est l'int�r�t de XSL quand on sait
> qu'avec Expat (ou assimil�) on peut faire la m�me chose sans devoir
> apprendre une nouvelle syntaxe ? Je veux dire par l� que l'exemple de
> ma balise <url> se r�glait en Perl en trois coup de cuill�re � pot :
> 
> sub url {
>     my ($p, $balise, %attribs) = @_;
>     print "<a href=$attribs{'lien'}>$attribs{'nom'}"; 
> }
> 
> sub url_ {
>     print "</a>";
> }
> 
> idem pour <liste>...
> 
> </interrogation>

XPATH me semble sup�rieur quand on doit aller r�cup�rer des donn�es dans
les profondeurs d'une for�t de documents, pour les combiner avec d'autres,
encore plus �loign�es. Dans l'exemple ci-dessous, imagine que tu aies �
faire au deuxi�me petit fils du grand-p�re de <url>. Cela dit, XML::XPath
est pratiquement termin� :-)

X.
Technical Details
Message-ID: <87ya1ljbpu.fsf@online.fr>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <87d7ixgl96.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
From: Xavier Cazin <cazinx@online.fr>
Subject: Re: Questions de gros debutant sur xls
Date: 2000/08/25
Message-ID: <87ya1ljbpu.fsf@online.fr>
X-Deja-AN: 662515096
Content-Transfer-Encoding: 8bit
Sender: xavier@zapatix
References: <87d7ixgl96.fsf@titine.fr.eu.org>
Content-Type: text/plain; charset=iso-8859-1
X-Complaints-To: abuse@proxad.net
X-Trace: nnrp6.proxad.net 967237898 212.27.41.182 (Fri, 25 Aug 2000 23:11:38 CEST)
Organization: Guest of ProXad - France
X-Attribution: XC
User-Agent: Gnus/5.0803 (Gnus v5.8.3) Emacs/20.7
MIME-Version: 1.0
NNTP-Posting-Date: Fri, 25 Aug 2000 23:11:38 CEST
Newsgroups: fr.comp.text.xml