Fichier XML non lu en entier et xsl qui ne semble pas s'appliquer
Bonjour,
Déjà désolée si la question a déjà été posée mais je n'ai pas trouvé de réponse.
J'ai besoin de lire un fichier xml, de lui appliquer son xsl pour avoir une belle mise en page et enfin d'afficher le tout dans ma page asp codée en vbscript.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
Dim xmlLogToDisplay, rootChildNodes, strReturn, xmlStyleSheet, oCryptoApi, nodeTemp
'-- Lire un document XML
Set xmlLogToDisplay = CreateObject("Microsoft.XMLDOM")
Set xmlStyleSheet = CreateObject("Microsoft.XMLDOM")
'La desactivation du mode asynchrone permet de charger entièrement le document en mémoire avant le traitement
xmlLogToDisplay.async = "false"
xmlStyleSheet.async = "false"
'Charger le document en mémoire
If xmlLogToDisplay.Load("MonSite/styles/log_xml.xml") Then
xmlStyleSheet.Load("MonSite/styles/log_xml.xsl")
strReturn = xmlLogToDisplay.documentElement.transformNode(xmlStyleSheet.documentElement)
Set xmlStyleSheet = Nothing
Set xmlLogToDisplay = Nothing
Else
strReturn = "Le document n'a pas pu être chargé !"
End If
response.write strReturn |
Dans le résultat affiché par la dernière ligne, je n'ai pas tout mon fichier XML : en fait dès qu'il y a une ligne avec un attribut, elle n'est plus affichée.
(Tout ce qui est "forme" ne s'affiche pas :cry:)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type='text/xsl' href='MonSite\log_xml.xsl'?>
<fichier_log xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<log>
<connexion>
<date_heure>2010-04-20 09:39:58</date_heure>
<IP>127.0.0.1</IP>
<login>guest</login>
</connexion>
<demande>
<forme method="GET">
<parametre name="strModule"/>
<parametre name="strAction"/>
<parametre name="strPw" value="monPass"/>
</forme>
<texte>home : access denied</texte>
</demande>
</log>
</fichier_log> |
Et voilà le xsl que je veux appliquer :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="2.0"
xmlns:html="http://www.w3.org/TR/REC-html40"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">
<html>
<head>
</head>
<body>
<table border="1" width="1200px" style="font-family:Arial; font-size:9pt; border-collapse:collapse; border-spacing:0;">
<tr>
<th colspan="7">Connexion</th>
<th colspan="3">Demande</th>
</tr>
<tr>
<th>Date</th>
<th>IP</th>
<th>Login</th>
<th>Paramètres<br />(nom = valeur)</th>
<th>Texte</th>
</tr>
<xsl:for-each select="fichier_log/log">
<tr>
<td><xsl:value-of select="connexion/date_heure" /></td>
<td align="center"><xsl:value-of select="connexion/IP" /></td>
<td align="center"><xsl:value-of select="connexion/login" /></td>
<td align="center"><xsl:value-of select="demande/forme/@method" /></td>
<td>
<xsl:for-each select="demande/forme/parametre">
<span><xsl:value-of select="@name" /></span> = <span><xsl:value-of select="@value" /></span><br />
</xsl:for-each>
</td>
<td><xsl:value-of select="demande/texte" /></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet> |
Par contre le xsl ne s'applique pas non plus :cry: toutes les valeurs du xml sont collées les unes aux autres...
Voilà, alors si vous voyez d'où provient mon problème je suis preneuse !!
Merci par avance