From: Jean-Marie Hoornaert (xml@h2o.be)
Date: 09/12/2003 - 13:30
Bonjour,
J'ai sur un site dont je suis webmaster, une publication de "brèves".
La base de données est un document xml, un document xsl transforme le
tout en "xhtml", enfin pas tout à fait.
Par exemple, les <br /> deviennent <br> dans mon document final.
[j'utilise les fonctions DOM XML de php sur le site]
Voici donc un extrait du document xml et le document xsl en complet.
Si quelqu'un a le temps d'y jeter un oeil.
Pour le problème cité et pour quelques conseils si le document xsl
et/ou xml sont perfectible.
<?xml version="1.0" encoding="UTF-8"?>
<breves>
<breve>
<date>26.11.03</date>
<titre>40.000 tonnes à évacuer</titre>
<contenu>Il y a sur le territoire wallon pas loin de 100 dépôts
représentant un total de
40.000 tonnes de pneus. Sur ces 100 sites, (<a
href="http://www.lesoir.be/"
target="_blank">Le Soir</a>)une quarantaine sont
considérés comme importants (de 100
à 5.000 tonnes). <br/> Mieux, en affinant les données, le
cabinet
<personne>Foret</personne> estime que 87 % de ces 40.000
tonnes se retrouvent sur sites
qualifiés de «majeurs» situés quasiment tous dans la
périphérie de Charleroi.</contenu>
<nom>Le Soir</nom>
<url>http://www.regions.be/Regions/Wallonie/page_4776_169647.shtml
url>
</breve>
</breves>
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output encoding="iso-8859-1" indent="yes" method="xml"/>
<xsl:param name="mini"/>
<xsl:param name="maxi"/>
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="breves">
<xsl:apply-templates select="breve"/>
</xsl:template>
<xsl:template match="breve">
<xsl:if test="position() >= $mini">
<xsl:if test="position() <= $maxi">
<div class="breve">
<div class="breveentete">
<xsl:apply-templates select="date"/>
<xsl:apply-templates select="titre"/>
</div>
<xsl:apply-templates select="contenu"/>
</div>
</xsl:if>
</xsl:if>
</xsl:template>
<xsl:template match="date">
<span class="date">
<xsl:apply-templates/> : </span>
</xsl:template>
<xsl:template match="titre">
<span class="brevetitre">
<xsl:apply-templates/>
</span>
</xsl:template>
<xsl:template match="contenu">
<div class="contenu">
<xsl:apply-templates/>
<xsl:if test="../url != ''"> (<xsl:apply-templates
select="../url"/>) </xsl:if>
</div>
</xsl:template>
<xsl:template match="personne">
<span class="nom">
<xsl:apply-templates/>
</span>
</xsl:template>
<xsl:template match="br">
<xsl:apply-templates/>
<br/>
</xsl:template>
<xsl:template match="i">
<i>
<xsl:apply-templates/>
</i>
</xsl:template>
<xsl:template match="b">
<b>
<xsl:apply-templates/>
</b>
</xsl:template>
<xsl:template match="a">
<a href="{@href}" target="_blank">
<xsl:apply-templates/>
</a>
</xsl:template>
<xsl:template match="url">
<a href="{.}" target="_blank">
<xsl:value-of select="../nom"/>
</a>
</xsl:template>
</xsl:stylesheet>
--
Cordialement.
Jean-Marie -HOO;-)
____________________
Jean-Marie Hoornaert
Courriel : jmh@h2o.be
PPsP* : http://www.h2o.be
Newsletter : abonnement@h2o.be?subject=abonnement_h2o
* Page Personnelle sans Prétention
* pour AppleScripter FileMaker
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC
webmaster@xmlfr.org
|