From: Erwan Dion (erwandion@yahoo.fr)
Date: 05/02/2003 - 14:52
Bonjour.
J'utilise le parser MSXML4 intégré dans un projet en C++.
J'ai repris l'example donnée sur le site de Microsoft. Ca fonctionne très bien avec leur fichier XML et XSL.
Par contre, dès que je veux utiliser un de mes fichiers, le fichier HTML résultant est vide...
Voici le code du XSL :
<?xml version="1.0"?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:es="http://www.EcoInvent.org/EcoSpold01Impact">
<xsl:template match="es:flowData">
<xsl:call-template name="es:emitExchanges"/>
</xsl:template>
<xsl:template name="es:emitExchanges">
<table width="100%">
<tr>
<td class="ttc3" width="40">Number</td>
<td class="ttc3">Name</td>
<td class="ttc3" width="120">Mean value</td>
<td class="ttc3" width="50">Unit</td>
</tr>
<xsl:for-each select="es:exchange">
<xsl:sort data-type="text" order="ascending" select="@category"/>
<xsl:sort data-type="text" order="ascending" select="@subCategory"/>
<xsl:sort data-type="text" order="ascending" select="@name"/>
<xsl:call-template name="es:emitExchange"/>
</xsl:for-each>
</table>
</xsl:template>
<xsl:template name="es:emitExchange">
<xsl:variable name="prevCategory">
<xsl:call-template name="es:prevCat">
<xsl:with-param name="pos"><xsl:value-of select="position() - 1"/></xsl:with-param>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="prevSubCategory">
<xsl:call-template name="es:prevCat">
<xsl:with-param name="pos"><xsl:value-of select="position() - 1"/></xsl:with-param>
<xsl:with-param name="subcategory">true</xsl:with-param>
</xsl:call-template>
</xsl:variable>
<xsl:if test="(@category != '') and ((position() = 1) or (@category != $prevCategory) or (@subCategory != $prevSubCategory))">
<tr>
<td class="ttl4" colspan="8">
<xsl:value-of select="@category"/><xsl:if test="@subCategory">/<xsl:value-of select="@subCategory"/></xsl:if>
</td>
</tr>
</xsl:if>
<tr>
<td class="ttc4">
<a><xsl:attribute name="href">#dataset<xsl:value-of select="ancestor::es:dataset/@number"/>exchange<xsl:value-of select="@number"/></xsl:attribute><xsl:value-of select="@number"/></a>
</td>
<td class="ttl4"><xsl:value-of select="@name"/></td>
<td class="ttr4"><xsl:value-of select="@meanValue"/></td>
<td class="ttl4"><xsl:value-of select="../../es:metaInformation/es:processInformation/es:referenceFunction/@unit"/>/<xsl:value-of select="@unit"/></td>
</tr>
</xsl:template>
<xsl:template name="es:prevCat">
<xsl:param name="pos"/>
<xsl:param name="subcategory">false</xsl:param>
<xsl:if test="$pos > 0">
<xsl:for-each select="ancestor::es:flowData/es:exchange">
<xsl:sort data-type="text" order="ascending" select="@category"/>
<xsl:sort data-type="text" order="ascending" select="@subCategory"/>
<xsl:sort data-type="text" order="ascending" select="@name"/>
<xsl:if test="position() = $pos">
<xsl:if test="$subcategory = 'false'">
<xsl:value-of select="@category"/>
</xsl:if>
<xsl:if test="$subcategory = 'true'">
<xsl:value-of select="@subCategory"/>
</xsl:if>
</xsl:if>
</xsl:for-each>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Je ne sais pas du tout d'ou peut venir le problème. Si quelqu'un peut m'aider...(remarque, quand je lis le XML par IE, il n'y a pas de pbs)
Merci d'avance.
Erwan
---------------------------------
Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français !
Testez le nouveau Yahoo! Mail
--
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
|