[XML / XSL] Comment formaté du texte contenu dans une balise xml ?

Comment formaté du texte contenu dans une balise xml ? [XML / XSL] - Programmation

Marsh Posté le 24-08-2002 à 14:17:10    

Je souhaiterais faire une faq sur mon intranet. Et bien sur je souhaite pouvoir rajouter de nouvelles questions sur cette faq régulièrement. De plus j'aimerais garder le contenu de cette faq dans un fichier plutot que de la stocké dans une base de donnée genre MySql.
 
J'ai donc pensé que XML pouvait peut-être correspondre à ce que je cherchais. Mais je n'ai encore jamais fait de XML. Donc je découvre lentement car j'ai du mal à trouver des tutorials qui répondent à mes questions...
 
Donc pour le moment j'ai fais un fichier xml tout simple qui contient mes données de faq :
 

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <?xml-stylesheet href="faq.xsl" type="text/xsl"?>
  3. <faq>
  4. <question>
  5.   <titre>Question 1 ?</titre>
  6.   <texte>Réponse à la question 1</texte>
  7. </question>
  8. <question>
  9.   <titre>Question 2 ?</titre>
  10.   <texte>Réponse à la question 2</texte>
  11. </question>
  12. </faq>
  13. </table>


 
et un fichier de présentation xsl pour présenter ma faq :
 

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl" result-ns="">
  3. <xsl:template match="/">
  4.  <HTML>
  5.         <HEAD>
  6.           <TITLE>Faq</TITLE>
  7.         </HEAD>
  8.         <BODY BGCOLOR="#FFFFFF">
  9.         <xsl:apply-templates select="faq/question"/>
  10.         </BODY>
  11.  </HTML>
  12. </xsl:template >
  13. <xsl:template match="faq/question">
  14.     <p>
  15.   <b><xsl:value-of select="titre"/></b>
  16.      <br/>
  17.     <xsl:value-of select="texte"/>
  18.     </p>
  19.  </xsl:template>
  20. </xsl:stylesheet>


 
J'ai plusieurs questions :  
 - Tout d'abord, es-ce qu'il est possible de mettre des balises html dans ma balise <texte> de ma faq. Parce que j'aimerai pouvoir sauter des lignes dans mon texte, mettre des elements en gras, mettre des balises <pre> autour d'exemple de source, etc...
J'ai bien essayer de mettre un  
"<texte>reponse avec du <b>gras</b> et <br/>un saut de ligne</texte>" mais quand j'ouvre mon xml avec ie, toutes mes balises HTML à l'intérieur du xml son ignorer... Alors comment faire ? Es-ce que c'est possible en XML ou es-ce que je fais fausse route.
 
- et un autre petite question simple : ou es-ce que je peux trouver un logiciel gratuit qui me permettrait de générer le source html décrit par mon xml. Parce que pour le moment j'ouvre le XML avec IE. Mais si j'avais un outils qui me générais un fichier html, ça serait plus sympa.
 
voila, pour les premières question d'un débutant en XML.
 
Leander


Message édité par leander le 24-08-2002 à 14:20:05
Reply

Marsh Posté le 24-08-2002 à 14:17:10   

Reply

Marsh Posté le 24-08-2002 à 15:49:28    

snif, personne peut m'aider ?
 
pour générer le html j'ai trouvé le logiciel de microsoft msxsl.exe.
 
Par contre, je n'arrive toujours pas à mettre des mot en gras ou à faire sauter des lignes dans un texte mis dans un XML... snif

Reply

Marsh Posté le 24-08-2002 à 16:28:25    

Comme ça ? :

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2.   <xsl:stylesheet version="1.0"
  3. xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  4.    <xsl:template match="/">
  5.     <HTML>
  6.           <HEAD>
  7.             <TITLE>Faq</TITLE>
  8.           </HEAD>
  9.           <BODY BGCOLOR="#FFFFFF">
  10.           <xsl:apply-templates select="faq/question"/>
  11.           </BODY>
  12.     </HTML>
  13.    </xsl:template >
  14.  
  15.    <xsl:template match="faq/question">
  16.       <p>
  17.      <b><xsl:value-of select="titre"/></b>
  18.        <br/>
  19.       <xsl:apply-templates select="texte" mode="copie"/>
  20.       </p>
  21.     </xsl:template>
  22.  
  23.   <xsl:template match="node()" mode="copie">
  24.     <xsl:copy>
  25.       <xsl:apply-templates select="node()" mode="copie"/>
  26.     </xsl:copy>
  27.   </xsl:template>
  28. </xsl:stylesheet>

Reply

Marsh Posté le 24-08-2002 à 16:44:20    

parfait merci !
 
Et sinon, c'est dur de définir soit même la correspondance de tag xml vers le html ?
 
par exemple dire que le tag <italique> doit être remplacer par <i> ou encore que le tag <code> soit remplacer par
<font ...>  etc... pour mon xsl qui génère le HTML ?
 
Histoire d'éviter de mettre du code html dans fichier xml. Mais de mettre mais propre balise qui me permettront de générer un fichier HTML, ou un fichier texte dans un autre format.

Reply

Marsh Posté le 24-08-2002 à 20:30:21    

Alors pas de connaisseurs d'XSL en cette après-midi pluvieux ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed