Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
6862 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  bizare bizare, une sortie innatendue

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

bizare bizare, une sortie innatendue

n°1352290
amiga56
Posté le 23-04-2006 à 18:26:41  profilanswer
 

a partir du xml suivant :
 
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!-- Created with Catalogue version 4.2.3 [Soft Experience] -->
<involume name="DATA2" filesystem="NTFS" dategeneration = "23 Avril 2006 18:12">
<dir>
<id>1</id><name>dir</name><fullname>l:\Temp\Temp\test\dir</fullname>
<dir>
<id>2</id><name>dir1</name><fullname>l:\Temp\Temp\test\dir\dir1</fullname>
<file>
<id>3</id>
<extension>xml</extension>
<name>Catalogue.xml</name>
<fullname>l:\Temp\Temp\test\dir\dir1\Catalogue.xml</fullname>
</file>
</dir>
<dir>
<id>4</id><name>dir2</name><fullname>l:\Temp\Temp\test\dir\dir2</fullname>
<dir>
<id>5</id><name>dir21</name><fullname>l:\Temp\Temp\test\dir\dir2\dir21</fullname>
<file>
<id>6</id>
<extension>xsl</extension>
<name>liste imbriquée.xsl</name>
<fullname>l:\Temp\Temp\test\dir\dir2\dir21\liste%20imbriquée.xsl</fullname>
</file>
<file>
<id>7</id>
<extension>xsl</extension>
<name>liste simple.xsl</name>
<fullname>l:\Temp\Temp\test\dir\dir2\dir21\liste%20simple.xsl</fullname>
</file>
</dir>
<dir>
<id>8</id><name>dir22</name><fullname>l:\Temp\Temp\test\dir\dir2\dir22</fullname>
<file>
<id>9</id>
<extension>htm</extension>
<name>accueil.htm</name>
<fullname>l:\Temp\Temp\test\dir\dir2\dir22\accueil.htm</fullname>
<html><title>Document sans nom</title></html>
</file>
<file>
<id>10</id>
<extension>htm</extension>
<name>index.htm</name>
<fullname>l:\Temp\Temp\test\dir\dir2\dir22\index.htm</fullname>
<html><title>Document sans nom</title></html>
</file>
<file>
<id>11</id>
<extension>htm</extension>
<name>menu.htm</name>
<fullname>l:\Temp\Temp\test\dir\dir2\dir22\menu.htm</fullname>
<html><title>Test de menu dynamique</title></html>
</file>
<file>
<id>12</id>
<extension>htm</extension>
<name>titre.htm</name>
<fullname>l:\Temp\Temp\test\dir\dir2\dir22\titre.htm</fullname>
<html><title>Document sans nom</title></html>
</file>
</dir>
</dir>
<dir>
<id>13</id><name>dir3</name><fullname>l:\Temp\Temp\test\dir\dir3</fullname>
<file>
<id>14</id>
<extension>class</extension>
<name>Outline.class</name>
<fullname>l:\Temp\Temp\test\dir\dir3\Outline.class</fullname>
</file>
</dir>
</dir>
</involume>
 
et du xsl suivant :
 
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
<xsl:output method="xml" indent="yes" omit-xml-declaration ="yes" encoding="ISO-8859-1"/>  
 
<xsl:template match="dir">  
 <LI>menu
   <UL>  
  <xsl:for-each select="file">  
  <LI>  
  </LI>  
  </xsl:for-each>  
   <xsl:if test="dir"><xsl:apply-templates /></xsl:if>  
   </UL>  
 </LI>  
</xsl:template>  
</xsl:stylesheet>
 
J'ai le fichier html suivant :
 
<LI>menu
   <UL>1dirl:\Temp\Temp\test\dir<LI>menu
   <UL>
<LI></LI>
</UL>
</LI>
<LI>menu
   <UL>4dir2l:\Temp\Temp\test\dir\dir2<LI>menu
   <UL>
<LI></LI>
<LI></LI>
</UL>
</LI>
<LI>menu
   <UL>
<LI></LI>
<LI></LI>
<LI></LI>
<LI></LI>
</UL>
</LI>
</UL>
</LI>
<LI>menu
   <UL>
<LI></LI>
</UL>
</LI>
</UL>
</LI>
 
ce qui m'étonne ce sont les lignes du type : 1dirl:\Temp\Temp\test\dir ; 4dir2l:\Temp\Temp\test\dir\dir2
 
je ne m'attend pas a les voir dans ma sortie !
 
quelqu'un peut m'eclairer ?

mood
Publicité
Posté le 23-04-2006 à 18:26:41  profilanswer
 

n°1352513
avander
Posté le 24-04-2006 à 10:00:16  profilanswer
 

Le moteur XSLT offre un nombre de 'services' par défaut notemment ( de mémoire fatiguée) il va te balancer le contenu ( le texte) des balises si tu lui donne pas assez d'info sur la transformation... et c'est ce que tu retrouve dans ton résultat. Les deux for-each ne font pas grand chose a mon avis.
 
Ce serait mieux de nous donner un exemple de l'output que tu voudrais obtenir.  
 
 

n°1352623
amiga56
Posté le 24-04-2006 à 12:26:22  profilanswer
 

en effet tu etais sur la bonne piste, jai changé <xsl:apply-templates/> en <xsl:apply-templates select="dir"/> et je n'ai plus ses sorties bizarres
 
le fichier que je voulais obtenir est le html
 
En fait à partir du fichier xml ( sortie de metadata miner catalog) qui contient une partie de l'arborescence de mon disque dur, je crée un menu vertical sur une page html, ce qui me permet d'accéder trés vite a tous mes fichier et ensuite de fournir ce type de page html pour mes élèves avec l'accés rapide a certains document (script en applet java dispo pour qui le demande)
 
Merci  
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  bizare bizare, une sortie innatendue

 

Sujets relatifs
Explication d'une "bonne" règle de programmation (points de sortie)Définir un répertoire de sortie
Redirection de sortie[Java 1.5] Process : afficher le flux de sortie
[VHDL] entrée et sortie en meme tempsrequete bizare
Récupérer l'état d'une socket en sortie d'un select()Récuperer sortie (tous mes cout) de mon programme pour faire un log !!
trie de fichier et sortie video avi avec MSDNAppend de la sortie standard sans retour a la ligne
Plus de sujets relatifs à : bizare bizare, une sortie innatendue


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)