From: Cyril Balit (balit@igr.fr)
Date: 09/12/2002 - 10:20
Bonjour,
Je voudrais transformer un fichier HTML en fichier text. Les seules
informations de présentations que je désire garder sont le"gras" le
"souligné". Pour ces deux attributs je souhaiterais insérer en début de
texte les caractères $1G et $0G en fin de texte ($1S et $0S pour
souligné).Je désire aussi supprimer le titre de la page. J'ai fait la
feuille XSL suivante:
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:output method="text"/>
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="title"></xsl:template>
<xsl:template match="b">$1g<xsl:apply-templates/>$0g</xsl:template>
<xsl:template match="u">$1s<xsl:apply-templates/>$0s</xsl:template>
<xsl:template
match="p"><xsl:apply-templates/><xsl:text> </xsl:text></xsl:template>
</xsl:stylesheet>
sur un fichier HTML de ce type:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="Edit-Time-Data" href="./PR2002120600008_fichiers/editdata.mso" />
<title>titre</title>
</head>
<body>
<p ></a></a><b>TITRE1</b></p>
<p </p>
<p><b><u>TITRE2</u></b></p>
<p><a></a></p>
<p>texte1</p>
<p>texte2</p>
<p>texte3</p>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top">
<p> <a name="MarqueSvSignaturePourFusion"
id="MarqueSvSignaturePourFusion"></a></p></td>
<td valign="top"> </td></tr>
<tr>
<td valign="top"><b><u>TITRE3</u></b></td>
<td valign="top"><b><u>TITRE4</u></b></tr>
</table>
</html>
j'obtiens la ligne
suivante "titreTITRE1TITRE2texte1texte2texte3 TITRE3TITRE4"
J'avais écris un premier mail pour des problèmes de saut de pages avec la
feuille xsl suivante:
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:output method="text"/>
<xsl:template match="*">
<xsl:choose>
<xsl:when test="name()='title'"></xsl:when>
<xsl:when
test="name()='p'"><xsl:apply-templates/><xsl:text> </xsl:text></xsl:when>
<xsl:when
test="name()='b'">$1G<xsl:apply-templates/>$0G</xsl:when>
<xsl:when
test="name()='u'">$1S<xsl:apply-templates/>$0S</xsl:when>
<xsl:otherwise><xsl:apply-templates /></xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
Cette feuille me donne bien le résultat suivant:
$1GTITRE1$0G
$1G$1STITRE2$0S$0G
texte1
texte2
texte3
$1G$1STITRE3$0S$0G$1G$1STITRE4$0S$0G
Mais pour des raisons de performance on m'avait conseillé d'utiliser des
template match='b'......sans succès.
Merci d'avance pour votre aide.
------------------------------------------------------------------------
BALIT Cyril
D.S.I.
INSTITUT GUSTAVE ROUSSY
39 rue Camille Desmoulins
94805 Villejuif
Tel : 01 42 11 62 93
Fax : 01 42 11 52 69
E-mail : balit@igr.fr
------------------------------------------------------------------------
--
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
|