Article View: fr.comp.text.xml
Article #10672Re: Questions de gros debutant sur xls
From: Xavier Cazin
Date: Fri, 25 Aug 2000 00:00
Date: Fri, 25 Aug 2000 00:00
81 lines
3615 bytes
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-mailReferences:
<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