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 :
- <!ELEMENT Cours (nom_concepteur, date, titre, cours, schema+) >
- <!ELEMENT nom_concepteur (#PCDATA) >
- <!ELEMENT date (#PCDATA) >
- <!ELEMENT titre (#PCDATA) >
- <!ELEMENT cours (partie+) >
- <!ELEMENT partie (titre, texte)>
- <!ATTLIST partie titre CDATA #REQUIRED>
- <!ELEMENT texte (#PCDATA)>
- <!ELEMENT schema (hauteur, largeur, chemin) >
- <!ELEMENT hauteur (#PCDATA) >
- <!ELEMENT largeur (#PCDATA) >
- <!ELEMENT chemin (#PCDATA) >
|
le xsl :
Code :
- <?xml version="1.0"?>
- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
- <xsl:output method="html" version="4.0" indent="yes" doctype-public="-//W3C/DTD HTML 4.0/EN" />
- <xsl:template match="Cours">
- <HTML>
- <HEAD>
- <TITLE>
- </TITLE>
- </HEAD>
- <BODY>
- <H1><xsl:value-of select="titre" /> ecrit par <xsl:value-of select="nom_concepteur" /> le <xsl:value-of select="date" /></H1>
- <xsl:for-each select="partie" >
- <OL>
- <xsl:apply-templates select="part" />
- </OL>
- </xsl:for-each>
- </BODY>
- </HTML>
- </xsl:template>
- <xsl:template match="part" >
- <U><xsl:value-of select="titre_partie" /></U>
- <xsl:for-each select="sous-partie" >
- <OL>
- <xsl:apply-templates select="sous-part" />
- </OL>
- </xsl:for-each>
- </xsl:template>
- <xsl:template match="sous-part" >
- <OL>
- <U><xsl:value-of select="titre_ss-partie" /></U>
- <xsl:value-of select="texte" />
- </OL>
- </xsl:template>
- </xsl:stylesheet>
|
le xml :
Code :
- <?xml version="1.0"?>
- <?xml-stylesheet type="text/xsl" href="file://A:\elearning.xsl"?>
- <!DOCTYPE Cours SYSTEM "elearning.dtd">
- <Cours>
- <nom_concepteur>Mat</nom_concepteur>
- <date>02/05/2003</date>
- <titre>Mon Premier Cours</titre>
- <partie titre_partie="Partie 1">
- <sous-partie titre_ss-partie="sous partie 1">
- <texte>bla bla</texte>
- </sous-partie>
- </partie>
- </Cours>
|
et le fichier html obtenu :
Code :
- <!DOCTYPE html
- PUBLIC "-//W3C/DTD HTML 4.0/EN">
- <HTML>
- <HEAD>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-
- <TITLE></TITLE>
- </HEAD>
- <BODY>
- <H1>Mon Premier Cours ecrit par Mat le 02/05/2003</H1>
- <OL></OL>
- </BODY>
- </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