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

  FORUM HardWare.fr
  Programmation
  XML/XSL

  [XML/XSL] pk ça marche po ??

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[XML/XSL] pk ça marche po ??

n°392164
matlu
Posté le 13-05-2003 à 15:53:50  profilanswer
 

voilà, je vous explique le truc : ds le cadre de mes études, je dois faire une plateforme d'elearning. Dc g décidé de stocker mes cours sous forme de HTML et de créer ces cours grâce à XML+XSL, via saxon.exe (je suppose ke vos connaissez...)
 
mais malheureusement, le fichier HTML ne correspond pas à ce ke j'aurai voulu.
enfin voilà, je vous mets le code, ce sera plus parlant !!
 
le DTD :

Code :
  1. <!ELEMENT Cours (nom_concepteur, date, titre, cours, schema+) >
  2. <!ELEMENT nom_concepteur (#PCDATA) >
  3. <!ELEMENT date (#PCDATA) >
  4. <!ELEMENT titre (#PCDATA) >
  5. <!ELEMENT cours (partie+) >
  6. <!ELEMENT partie (titre, texte)>
  7. <!ATTLIST partie titre CDATA #REQUIRED>
  8. <!ELEMENT texte (#PCDATA)>
  9. <!ELEMENT schema (hauteur, largeur, chemin) >
  10. <!ELEMENT hauteur (#PCDATA) >
  11. <!ELEMENT largeur (#PCDATA) >
  12. <!ELEMENT chemin (#PCDATA) >


 
le xsl :

Code :
  1. <?xml version="1.0"?>
  2. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  version="2.0">
  3. <xsl:output method="html" version="4.0" indent="yes" doctype-public="-//W3C/DTD HTML 4.0/EN" />
  4. <xsl:template match="Cours">
  5. <HTML>
  6. <HEAD>
  7. <TITLE>
  8. </TITLE>
  9. </HEAD>
  10. <BODY>
  11.  <H1><xsl:value-of select="titre" /> ecrit par <xsl:value-of select="nom_concepteur" /> le <xsl:value-of select="date" /></H1>
  12.   <xsl:for-each select="partie" >
  13.   <OL>
  14.   <xsl:apply-templates select="part" />
  15.   </OL>
  16.   </xsl:for-each>
  17. </BODY>
  18. </HTML>
  19. </xsl:template>
  20. <xsl:template match="part" >
  21. <U><xsl:value-of select="titre_partie" /></U>
  22. <xsl:for-each select="sous-partie" >
  23. <OL>
  24. <xsl:apply-templates select="sous-part" />
  25. </OL>
  26. </xsl:for-each>
  27. </xsl:template>
  28. <xsl:template match="sous-part" >
  29. <OL>
  30. <U><xsl:value-of select="titre_ss-partie" /></U>
  31. <xsl:value-of select="texte" />
  32. </OL>
  33. </xsl:template>
  34. </xsl:stylesheet>


 
le xml :

Code :
  1. <?xml version="1.0"?>
  2. <?xml-stylesheet type="text/xsl" href="file://A:\elearning.xsl"?>
  3. <!DOCTYPE Cours SYSTEM "elearning.dtd">
  4. <Cours>
  5. <nom_concepteur>Mat</nom_concepteur>
  6. <date>02/05/2003</date>
  7. <titre>Mon Premier Cours</titre>
  8.  <partie titre_partie="Partie 1">
  9.   <sous-partie titre_ss-partie="sous partie 1">
  10.    <texte>bla bla</texte>
  11.   </sous-partie>
  12.  </partie>
  13. </Cours>


 
et le fichier html obtenu :

Code :
  1. <!DOCTYPE html
  2.   PUBLIC "-//W3C/DTD HTML 4.0/EN">
  3. <HTML>
  4.    <HEAD>
  5.       <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6.  
  7.       <TITLE></TITLE>
  8.    </HEAD>
  9.    <BODY>
  10.       <H1>Mon Premier Cours ecrit par Mat le 02/05/2003</H1>
  11.       <OL></OL>
  12.    </BODY>
  13. </HTML>


 
 
et donc, pas de trace du titre de ma sous-partie, ni de celui de ma partie...
 
est-ce que qqn pourrait m'expliquer pk ?
 


Message édité par matlu le 13-05-2003 à 15:56:48
mood
Publicité
Posté le 13-05-2003 à 15:53:50  profilanswer
 

n°392277
youdontcar​e
Posté le 13-05-2003 à 16:37:34  profilanswer
 

Tu ne sors pas la variable que tu déclares ...
 
xml
 <sous-partie titre_ss-partie="sous partie 1">  
xsl
 <xsl:template match="sous-part" >  
 
et tu cherches une node au lieu d'un attribut
 <xsl:value-of select="titre_ss-partie" />

n°392348
matlu
Posté le 13-05-2003 à 17:14:44  profilanswer
 

youdontcare a écrit :

Tu ne sors pas la variable que tu déclares ...
 
xml
 <sous-partie titre_ss-partie="sous partie 1">  
xsl
 <xsl:template match="sous-part" >  
 
et tu cherches une node au lieu d'un attribut
 <xsl:value-of select="titre_ss-partie" />
 


 
g essayé ce que tu me dis, ça marche po...

n°396659
avander
Posté le 16-05-2003 à 12:19:15  profilanswer
 

Pour moi c'est un attribut et donc :  


<xsl:value-of select="@titre_ss-partie" />  


 
A+


---------------
A thing of beauty is a joy forever (John Keats)
n°397720
matlu
Posté le 17-05-2003 à 00:12:56  profilanswer
 

Avander a écrit :

Pour moi c'est un attribut et donc :  


<xsl:value-of select="@titre_ss-partie" />  


 
A+


 
exact, merci !!
chuis vraiment une grosse merde en XML !!


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

  [XML/XSL] pk ça marche po ??

 

Sujets relatifs
[PHP] Chmod avec free qui marche pasAide pour mon stage > Grande reflexion needed (part II) > XML ?
Marche pas le REFERENCES !!!!ma feuille de style toute bête ne marche pas! pourquoi??
[DOCS] Le MP3 comment ca marche ?kkun pourrait m'expliker comment marche cette fonction kbhit ?
XML : caractères hexa dans un schema ?Comment ça marche le timer dans Visual Basic 6 [ newbie inside ]
Cherche bon tutoriels sur XML/XLSWWW-Authenticate sur Free... marche pô ??
Plus de sujets relatifs à : [XML/XSL] pk ça marche po ??


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