🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Questions de gros debutant sur xls

#10671
From: Doeni
Date: Fri, 25 Aug 2000 00:00
101 lines
3877 bytes
Eric Jacoboni <jaco@titine.fr.eu.org> writes:

> 
> 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>

<xsl:template match="url">
  <a href="{@lien}"><xsl:value-of select="@nom"/></a>
</xsl:template>

> 
> mais je me fais jeter grave ;-)
> 
> Il y a t-il donc un moyen de r�gler �a ?
> 
> 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>...

Pour tester si un �l�ment existe :
<xsl:if test="liste">
  ...
</xsl:if>

ou l'autre variante :
<xsl:choose>
  <xsl:when test="liste">
    ...
  </xsl:when>
  ...
</xsl:choose>

> 
> 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 ?

C'est la d�finition du namespace (le xsl: devant les commandes)
(note c'est bien xsl et non xls)

> 
> <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 :

Avec XSL tu peux faire la transformation � la vol�e :
- Soit sur le serveur Web (par exemple avec Cocoon) tu inclue un
stylesheet dans ton fichier XML et ton fichier s'affichera sous forme
HTML (ou autre). Voici un exemple :
<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="index.xsl"?>
<?cocoon-process type="xslt"?>

- Soit sur le client, et dans ce cas le serveur envoie du XML et
chaque client fait la transformation ad�quate (HTML pour Netscape,
texte pour un browser texte, WML pour un client WAP ...)


> 
> sub url {
>     my ($p, $balise, %attribs) = @_;
>     print "<a href=$attribs{'lien'}>$attribs{'nom'}"; 
> }
> 
> sub url_ {
>     print "</a>";
> }
> 
> idem pour <liste>...
> 
> </interrogation>
> 
> 
> -- 
> ---------------------------------------------------------
> �ric Jacoboni       � No sport, cigars! �  (W. Churchill)
> ---------------------------------------------------------

-- 
I am not listed on the United States Department of Treasury lists of
Specially Designated Nationals, Specially Designated Terrorists, and
Specially Designated Narcotic Traffickers, nor am I listed on the
United States Department of Commerce Table of Denial Orders. 
Technical Details
Message-ID: <87aee112u0.fsf@dinosaur.evhr.net>
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: Doeni <doeni@evhr.net>
Subject: Re: Questions de gros debutant sur xls
Date: 2000/08/25
Message-ID: <87aee112u0.fsf@dinosaur.evhr.net>
X-Deja-AN: 662508366
Content-Transfer-Encoding: 8bit
References: <87d7ixgl96.fsf@titine.fr.eu.org>
Content-Type: text/plain; charset=iso-8859-1
X-Complaints-To: abuse@fr.uu.net
X-Trace: reader1.fr.uu.net 967237388 20799 212.94.195.234 (25 Aug 2000 21:03:08 GMT)
Organization: Ni dieu ni b�te
Mime-Version: 1.0
User-Agent: Gnus/5.0807 (Gnus v5.8.7) XEmacs/21.1 (Carlsbad Caverns)
NNTP-Posting-Date: 25 Aug 2000 21:03:08 GMT
Newsgroups: fr.comp.text.xml