Cliquez ici.
Accueil
 chercher             Plan du site             Info (English version) 
L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.Les listes de discussions XMLfr sont à votre disposition pour réagir sur nos articles ou simplement poser une question.Si vous ètes passionnée(e) par XML, pourquoi ne pas en faire votre métier ?XMLfr n'est heureusement pas le seul site où l'on parle de XML. Découvrez les autres grâce à XMLfr et à l'ODP.Les partenaires grâce auxquels XMLfr peut se développer.Pour tout savoir sur XMLfr.XMLfr sans fil, c'est possible !Pour ceux qui veulent vraiment en savoir plus sur XML.L'index du site.
 Commentaires et questions non techniques.Commentaires et questions techniques.

 
Cliquez ici.

From: JANDIA Cyril (Cyril.Jandia@accorservices.com)
Date: 10/08/2004 - 15:06


Bonjour,

Je reproduis votre problème avec MSXML3 en effet :

-- Script de test (test.js) :
var xml = new ActiveXObject("Msxml2.FreeThreadedDOMDocument.3.0");
var xsl = new ActiveXObject("Msxml2.FreeThreadedDOMDocument.3.0");

xml.async = false;
xml.validateOnParse = false;
xml.load(WScript.Arguments(0));

xsl.async = false;
xsl.validateOnParse = false;
xsl.load(WScript.Arguments(1));

var result = xml.transformNode(xsl);

WScript.StdOut.Write(result);

-- Exécution :
C:\...>cscript //nologo test.js data.xml style.xsl > out.htm

-- Données (data.xml) :
<?xml version="1.0" encoding="iso-8859-1" ?>

<doc>

<liens>
  <lien id="lien1"
   path="http://www.quelquepart.com/site/le.chemin.référencé là-bas" />

  <lien id="lien2"
   path="file://C:/Mes Documents/le.chemin.référencé ici" />

  <lien id="lien3"
   path="ftp://ftp.ailleurs.com/documents/référencés là aussi" />
</liens>

</doc>

-- Transformation (style.xsl) :
<?xml version="1.0" encoding="iso-8859-1" ?>

<xsl:transform
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  version="1.0">

<xsl:output method="html" version="4.0" encoding="iso-8859-1" />

<xsl:template match="/">
<xsl:apply-templates />
</xsl:template>

<xsl:template match="doc">
<html>
<head><title>Test...</title></head>
<body>
<h1>Test...</h1>
<xsl:apply-templates />
</body>
</html>
</xsl:template>

<xsl:template match="liens">
<dl><xsl:apply-templates /></dl>
</xsl:template>

<xsl:template match="lien">
<dt><strong><xsl:value-of select="@id" /></strong></dt>
<dd>le lien</dd>
</xsl:template>

</xsl:transform>

-- Résultat (out.htm) :
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-16">
<title>Test...</title></head>
<body>
<h1>Test...</h1>
<dl><dt><strong>lien1</strong></dt>
<dd>le lien</dd>
<dt><strong>lien2</strong></dt>
<dd>le lien</dd>
<dt><strong>lien3</strong></dt>
<dd>le lien</dd>
</dl>
</body>
</html>

La solution ?

Dans cet exemple, on peut essayer de réécrire le dernier <xsl:template match="lien">... en ceci :

<xsl:template match="lien">
<dt><strong><xsl:value-of select="@id" /></strong></dt>
<dd><xsl:choose>
<xsl:when test="starts-with(@path, 'file://')"><xsl:text disable-output-escaping="yes">&lt;a href="</xsl:text>
<xsl:value-of select="@path" />
<xsl:text disable-output-escaping="yes">"&gt;le lien&lt;/a&gt;</xsl:text></xsl:when>
<xsl:otherwise>le lien</xsl:otherwise>
</xsl:choose></dd>
</xsl:template>

Ce qui donne :
-- Résultat (2) :
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-16">
<title>Test...</title></head>
<body>
<h1>Test...</h1>
<dl><dt><strong>lien1</strong></dt>
<dd>le lien</dd>
<dt><strong>lien2</strong></dt>
<dd>le lien</dd>
<dt><strong>lien3</strong></dt>
<dd>le lien</dd>
</dl>
</body>
</html>

En espérant que cela aide,

Cordialement,

Cyril Jandia

-----Original Message-----
From: xml-tech-bounce@xmlfr.org [mailto:xml-tech-bounce@xmlfr.org] On Behalf Of Verachten Bruno
Sent: mardi 10 août 2004 14:09
To: xml-tech@xmlfr.org
Subject: [xml-tech] [XSLT] Output en mode HTML et liens

Bonjour,

je cherche à générer un document HTML à partir d'un document XML par XSLT.
Jusque là, tout va bien.

Lorsqu'on cherche à générer des éléments a, l'attribut href se trouve
être URLEncodé.

Jusque là, tout va bien, les documents liés par le protocole "HTTP"
avec des accents dans leur URL sont remontés correctement.

Mon problème est le traitement des liens avec protocole "file": les
URLs sont également URLEncodées, et ça ne fonctionne pas (sous
Windows), le système n'arrivant pas à mettre la main sur des documents
dont le chemin est parsemé de %C3%A9%20.

J'ai regardé les archives XMLFR, et Google, mais pour l'instant, je ne
trouve rien.

Quelqu'un a-t'il déjà été confronté au problème?

Merci.

Bruno Verachten
[...]

__________________________________________________________________________________________________________________________________________________
This e-mail and any files transmitted with it are confidential and intended solely for the use of the individual to whom it is addressed.If you
have received this email in error please send it back to the person that sent it to you. Unauthorized publication, use, dissemination, forwarding,
printing or copying of this email and its associated attachments is strictly prohibited.

--
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 31/08/2004 - 11:12 UTC

webmaster@xmlfr.org

 

xml tech

Discussions techniques au sujet de XML.

Cette liste est à votre disposition pour discuter en français de tout sujet technique lié à XML.



Devenez rédacteur <XML>fr et contribuez au développement du xml francophone !
Les documents publiés sur ce site le sont sous licence "Open Content"
Conception graphique
  l.henriot@online.fr  

Conception, réalisation et hébergement