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

  FORUM HardWare.fr
  Programmation

  [XML/XSL] un<br/> dans le fichier XML, comment avoir <br> en html ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[XML/XSL] un<br/> dans le fichier XML, comment avoir <br> en html ?

n°38471
rotoutou
Across member
Posté le 10-06-2001 à 01:42:51  profilanswer
 

salut j'ai ça :
 
dans a.XML :
 
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="a.xsl"?>
 
<a>
coucou<br/>
les gars
</a>
 
 
dans a.xsl :
 
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/a">
    <html>
      <head>
        <xsl:value-of select="a"/>
      </head>
    </html>
  </xsl:template>
</xsl:stylesheet>
 
et j'obtiens
 
<html>
  <head>
   coucou les gars
  </head>
</html>
 
à la place de :
 
<html>
  <head>
   coucou <br> les gars
  </head>
</html>
 
j'ai pensé mettre un <xsl:apply-templates/> au debut du fichier XSL et ça dans la liste des templates :
 
<xsl:template match="br">
  <br><xsl:apply-templates/></br>
</xsl:template>
 
mais ça marche pas :/
 
qqun a une idée ?
 
pareil pour les <ul></li> :)
 
a+


---------------
Reckless inferior depraved repentant ruinous foul-mouthed revered master Rotoutou the great.
mood
Publicité
Posté le 10-06-2001 à 01:42:51  profilanswer
 

n°38473
youdontcar​e
Posté le 10-06-2001 à 03:48:01  profilanswer
 

à la place de ton xsl:value-of, utilises xsl:copy-of qui lui fait une copie brute.
 
<xsl:copy-of select="." />
 
question : il marche vraiment ton xsl ? tu matches "/a", et dans cette sélection tu demandes value-of "a" ... ce qui donne un xpath /a/a. tu t'es planté en recopiant ou c'est ton parseur qui bugge ? :)

n°38475
rotoutou
Across member
Posté le 10-06-2001 à 04:47:22  profilanswer
 

ouah !!! merci tu viens de me sauver ma nuit là ... (encore qu'il est ouh là là 5h30 !)
 
pour l'erreur c'est pas mon parseur, je me suis gourré en réduisant mon .xsl de 200 lignes pour faire plus simple :)
 
j'avais pas testé l'exemple fourni, sorry :/
 
et encore merci ! :jap:


---------------
Reckless inferior depraved repentant ruinous foul-mouthed revered master Rotoutou the great.
n°38477
rotoutou
Across member
Posté le 10-06-2001 à 04:49:02  profilanswer
 

merde il etait 4h30, faudrait jamais devoir coder à ces heures, apres on s'etonnes de faire plein de conneries, j'espere que j'arriverai à relire mon code demain ;)
 
a+


---------------
Reckless inferior depraved repentant ruinous foul-mouthed revered master Rotoutou the great.
n°38478
rotoutou
Across member
Posté le 10-06-2001 à 06:06:41  profilanswer
 

aille, le :
 
<p><xsl:copy-of select="A"/></p>
 
me donne :
 
<p>
  <A>
     blabla<br>blabla
  </A>
</p>
 
tout mon texte est en couleur anchor !! :/
 
et apparement y a pas d'option à xsl:copy-of pour lui dire de ne pas inclure tout le node mais seulement le contenu de ce node :/
pour avoir :
 
<p>
  blabla<br>blabla
</p>
 
 
bon je vais me coucher, si qqun a une idée, je prends :D
 
A+


---------------
Reckless inferior depraved repentant ruinous foul-mouthed revered master Rotoutou the great.
n°38479
youdontcar​e
Posté le 10-06-2001 à 06:40:15  profilanswer
 

mauvaise heure pour coder ... ? :D
 
tu peux sélectionner les nodes et afficher leur contenu : tu sélectionnes le chemin (a/) et affiches le contenu avec "."
 
avec un foreach ...
<xsl:for-each select="A">
<xsl:copy-of select="." />  
</xsl:for-each>
 
... ou par templates : tu mettras un <xsl:apply-templates /> ... je sais pas où, vu ton exemple.
 
<xsl:template match="A">
<xsl:copy-of select="." />
</xsl:template>

n°38503
rotoutou
Across member
Posté le 10-06-2001 à 13:56:41  profilanswer
 

arghh ! pareil, le xsl:copy-of ajoute le nom du node :/
 
(j'ai essayé la methode du template, je pense que le for-each va donner pareil :/)
 
bon je donne une partie du xml et le xsl, si ça interesse qqun de jeter un coup d'oeil pour m'aider (c'est pas pour moi ni pour mon boulot, j'aide pour le site de la team Folding@Home)
 
xml :
 
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="FAQ.xsl"?>
 
<FAQ Name="La FAQ">
 
  <Section Name="Généralités sur le projet" Link="WHATIS">
   
    <SubSection Link="WHATIS0" ToPrev="WHATIS" ToNext="WHATIS1">
      <Q>Folding ? ça veut dire quoi ça ?</Q>
      <A>On peut traduire le terme "folding" par repliement, du verbe "to fold" : plier.
      </A>      
    </SubSection>
 
    <SubSection Link="WHATIS1" ToPrev="WHATIS0" ToNext="TOP">
      <Q>Le but du projet Folding@Home</Q>
      <A>Le but du projet Folding@Home est de resoudre le probleme du repliement des protéines. <br/><br/>
      Ce probleme est le saint graal de la biophysique moléculaire moderne, mais sa résolution  
      implique d'enormes quantités de calculs.<br/><br/>
      Le projet lancé par l'université de Stanford se sert de la technologie des ordinateurs distribué  
      pour arriver à résoudre ce probleme.
      </A>      
    </SubSection>
  </Section>
</FAQ>
 
xsl : (y a un <!--c est ici que ça chie grave--> où ça chie grave :D )
 
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
 
  <xsl:template match="/">
    <html>
      <head>
        <title><xsl:value-of select="FAQ/@Name"/></title>
        <link rel="stylesheet" type="text/css" href="./Sheet.css"/>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
      </head>
      <body bgcolor="White" topmargin="0">
        <xsl:apply-templates/>
      </body>
    </html>
  </xsl:template>        
         
  <xsl:template match="/FAQ">
    <a name="TOP"></a>
    <p align="center"><img src="./title3.jpg" WIDTH="304" HEIGHT="73"/></p>
    <h1><xsl:value-of select="@Name"/></h1>
    <!-- start menu -->
    <ul>
      <xsl:for-each select="Section">
      <p>
        <li>
          <a href="#{@Link}"><xsl:value-of select="@Name"/></a>
        </li>
        <ul>
          <xsl:for-each select="SubSection">
            <li>
              <a href="#{@Link}"><xsl:value-of select="Q"/></a>
            </li>
          </xsl:for-each>
        </ul>
      </p>
      </xsl:for-each>
    </ul>
    <!-- end menu -->
    <br/><br/>
    <xsl:for-each select="Section">
      <!-- start section -->
      <a name="#{@Link}"></a>
      <br/><br/>
      <H1><xsl:value-of select="@Name"/></H1>
      <!-- end section -->
      <br/>
      <xsl:for-each select="SubSection">
      <!-- start subsection -->
      <p>
        <table border="0" width="100%">
          <tr>
            <td width="90%">
              <a name="#{@Link}"></a>                    
              <H2><xsl:value-of select="Q"/></H2>
            </td>
            <td width="9%" valign="top">
              <a href="#TOP"><img alt="Top" src="./top.gif" border="0" WIDTH="17" HEIGHT="17"/></a>
              <a href="/"><img alt="Accueil" src="./home.gif" border="0" WIDTH="17" HEIGHT="17"/></a>
              <a href="#{@ToPrev}"><img alt="Précédant" src="./previous.gif" border="0" WIDTH="17" HEIGHT="17"/></a>
              <a href="#{@ToNext}"><img alt="Suivant" src="./next.gif" border="0" WIDTH="17" HEIGHT="17"/></a>
            </td>
          </tr>
        </table>
        <!--c est ici que ça chie grave-->
        <p><xsl:apply-templates select="./A" /></p>
        <!--<p><xsl:copy-of select="A"/></p>-->
      </p>
      </xsl:for-each>
    </xsl:for-each>
  </xsl:template>
   
  <xsl:template match="A">
    <xsl:copy-of select="." />
  </xsl:template>  
   
</xsl:stylesheet>
 
 
oui je sais c'est le pire .xsl que vous ayez vu, mais ... :D

 

[edit]--Message édité par rotoutou--[/edit]


---------------
Reckless inferior depraved repentant ruinous foul-mouthed revered master Rotoutou the great.
n°38521
rotoutou
Across member
Posté le 10-06-2001 à 16:49:16  profilanswer
 

bon j'ai mis une grosse rustine :
 
  <xsl:template match="A">
    <xsl:for-each select="*|text()">
      <xsl:choose>
        <xsl:when test="not(node())">
        </xsl:when>
        <xsl:otherwise >
          <xsl:copy-of select="."/>
        </xsl:otherwise>
      </xsl:choose>
    </xsl:for-each>
  </xsl:template>
 
si le node A est déclaré comme ça : <A><p> textes avec balises html</p></A> ça marche
 
bizarrement si y a pas les <p></p> (<A>textes avec balises html</A> ) ça marche pas :/
 
merci quand meme pour l'aide :hello:


---------------
Reckless inferior depraved repentant ruinous foul-mouthed revered master Rotoutou the great.
n°38528
youdontcar​e
Posté le 10-06-2001 à 17:22:12  profilanswer
 

au temps pour moi ... je teste avec ie, donc je n'ai pas la source générée ... :(
 
essaye avec cette template, ça devrait être bon :
 
<xsl:template match="A">
<xsl:for-each select="node()">
<xsl:copy-of select=".">
</xsl:for-each>
</xsl:template>

n°38610
rotoutou
Across member
Posté le 10-06-2001 à 23:42:29  profilanswer
 

youdontcare a écrit a écrit :

au temps pour moi ... je teste avec ie, donc je n'ai pas la source générée ... :(
 
essaye avec cette template, ça devrait être bon :
 
<xsl:template match="A">
<xsl:for-each select="node()">
<xsl:copy-of select=".">
</xsl:for-each>
</xsl:template>




 
yes ça a l'air de marcher, plus besoin du <p> juste apres le <A> et tout cas ...
 
merci beaucoup ! :jap: :)
 
tu as pas les extension du shell "xml validator" et "view xsl output" ?
 
INDISPENSABLE !
 
http://msdn.microsoft.com/msdn-fil [...] xmltls.exe
 
tu installes dans un repertoire bidon, clic droit sur les deux .inf, installer et zou ça te rajoute un des extensions dans ton clic droit pour voir l'html produit par ton xsl et de valider le xml
 
 
a+


---------------
Reckless inferior depraved repentant ruinous foul-mouthed revered master Rotoutou the great.
mood
Publicité
Posté le 10-06-2001 à 23:42:29  profilanswer
 

n°38611
youdontcar​e
Posté le 11-06-2001 à 00:59:50  profilanswer
 

excellent ! à mon tour de te remercier :jap:
 
j'avais tenté des générateurs xsl->html comme lotusxsl, mais c'était un merdier incroyable.  
 
bon je vais moins galérer maintenant :D

n°38612
rotoutou
Across member
Posté le 11-06-2001 à 01:13:36  profilanswer
 

youdontcare a écrit a écrit :

excellent ! à mon tour de te remercier :jap:
 
j'avais tenté des générateurs xsl->html comme lotusxsl, mais c'était un merdier incroyable.  
 
bon je vais moins galérer maintenant :D




 
c clair que sans voir ta sortie HTML produite par le xsl tu es pas dans la merde, surtout quand tu est mauvais comme moi, ça permet de mettre des petits trucs de débogage dans la xsl pour savoir par où tu passe dans l'arbre par exemple, ou de reperer les <p></p> vides qui trainent partout à cause d'un mauvais apply-templates :)
 
j'avais fait pas mal de XML/XSL etc y a un an, mais j'avais preque tout oublié et y a eu pas mal de changements durant cette periode :)
 
le site Folding@Home sera bientot en ligne, un petit peu (beaucoup de mon point de vue) grace à toi, merci beaucoup encore une fois :jap:
 
a+


---------------
Reckless inferior depraved repentant ruinous foul-mouthed revered master Rotoutou the great.
n°38616
youdontcar​e
Posté le 11-06-2001 à 01:52:16  profilanswer
 

clair c'est le bonheur de voir la source générée ! jusqu'à maintenant j'avançais à tatons ... d'un autre côté ça m'a permis d'apprendre à la dure :D
 
tu fileras l'adresse du site lorsqu'il sera prêt ? dans ce thread par ex ...
 
si tu veux qq très bon tutorials xsl pour te rafraîchir les idées (j'ai appris grâce à ceux-ci) :
 
http://www.w3schools.com/xsl/default.asp
http://zvon.org/xxl/XSLTutorial/Books/Book1/index.html
http://zvon.org/xxl/XPathTutorial/ [...] mples.html

n°38617
JWhy
je peux plier (héhé)
Posté le 11-06-2001 à 02:19:48  profilanswer
 

youdontcare> :jap: :love: :jap:
rotoutou> :jap: :love: :jap:
 
vous me simplifiez la vie, messieurs ... c'est du bonheur que de travailler avec vous... ;)
 :hello:


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°38618
rotoutou
Across member
Posté le 11-06-2001 à 02:21:28  profilanswer
 

merci pour les links, les miens d'il y a un an c'etait presque toujours "error 404" :D
 
les liens encore valides c'etait ceux de mes dernieres experiences en xml, quand je bossais sur apache-cocoon, un mix asp-xml avec ilots de données etc, tres cool mais je suis passé sur du developpement visual C++ alors ... :/
 
je poste dans le thread l'adresse du site dés que c'est online
par contre le merge du XML+XSL sera server-side (bah oui y a encore 50% des gens qui ont ie4.0 alors ...)
 
a+


---------------
Reckless inferior depraved repentant ruinous foul-mouthed revered master Rotoutou the great.
n°38619
rotoutou
Across member
Posté le 11-06-2001 à 02:24:12  profilanswer
 

>youdontcare : JWhy est le responsable de l'assemblage du site :)


---------------
Reckless inferior depraved repentant ruinous foul-mouthed revered master Rotoutou the great.
n°38649
duch
Posté le 11-06-2001 à 10:28:35  profilanswer
 

petite question bête au passage, vous utiliser quoi pour le "merge XML/XSL" côté serveur?
 
Moi j'utilise php sur un serveur apache mais c'est un peu galère.


---------------
Webmaster du site de l'Île-Saint-Denis : http://www.lile-saint-denis.fr

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

  [XML/XSL] un<br/> dans le fichier XML, comment avoir <br> en html ?

 

Sujets relatifs
probleme de redirection download (language html ou java)Cherche un hebergeur PHP permettant upload de fichier via formulaire
[html] équivalent Netscape de topmargin[PHP] Comment faire reference a un fichier php d'un autre site ???
[C++] Problème avec le chargement des données d'un fichier[XML] Utiliser un XSL qui soit en fait un JSP ?
[PHP Toujours] fin d'un fichierFichier texte et VB 6
question de HTML 
Plus de sujets relatifs à : [XML/XSL] un<br/> dans le fichier XML, comment avoir <br> en html ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR