IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

[débutant] éléments en ligne


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Par défaut [débutant] éléments en ligne
    bonjour,
    je fais du docbook, et je cherche a créer des xsl pour mettre mon xml au format html.( d'ailleurs si y'en a des toutes faites ca m'arrangerait mais la n'est pas ma question )

    bref : j'ai un xml de la forme (un extrait)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
             <para> Les elements suivants obeissent "en gros" a une loi de Poisson :
                <itemizedlist>
                   <listitem>
                      <para> arrivees de vehicules sur une autoroute</para>
                   </listitem>
                </itemizedlist>
             </para>
    et bon je sais pas comment faire en xsl pour traiter un élément "en ligne" cad
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <balise1> machin
                                           <balise2>truc</balise2>
                            </balise1>
    parce que si je fais ca, il me m'affiche " machin truc truc" ,
    en gros le contenu de la balise 1 est "machin + truc" donc il m'affiche ca avant de traiter le contenu de l'autre balise donc j'ai de l'affichage en double ....
    Je sais qu'en général la structure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <b1>text<b2>gggg</b2></b1>
    semble pas tres correcte ( pas de texte au niveau d'un noeud avec des enfants mais docbook marche comme ca )

    quelqu'un a-t-il une idée ?
    merci d'avance

  2. #2
    Expert confirmé
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Tu peux t'inspirer des feuilles de style de Norman Walsh pour transformer du Docbook en HTML :

    http://wiki.docbook.org/topic/DocBookXslStylesheets

    Le problème de la balise <para> vient du fait qu'elle imbrique des éléments inline (<emphasis>) et des éléments blocs (<itemizedlist>). Je te conseille, pour de la publication HTML, d'utiliser la balise <simpara> qui ne comprend que des éléments inline. Ca ne pose alors généralement pas de problème, tout dépend de la façon dont tu écris tes feuilles de style. Un petit exemple (simplifié) :

    Fichier XML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <article>
      <simpara>Ceci est un texte ayant un seul <emphasis>mot</emphasis> en gras</simpara>
    </article>
    Feuille de style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     
    <xsl:template match="/">
      <html>
        <head>
          <title>Test texte inline</title>
        </head>
        <xsl:apply-templates select="article"/>
    </html>
    </xsl:template>
     
    <xsl:template match="article">
      <body>
        <xsl:apply-templates/>		
      </body>	
    </xsl:template>
     
    <xsl:template match="simpara">
      <p><xsl:apply-templates/></p>
    </xsl:template>	
     
    <xsl:template match="emphasis">
      <b><xsl:apply-templates/></b>
    </xsl:template>	
     
    </xsl:stylesheet>
    Résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <html>
      <head>
        <title>Test</title>
      </head>
      <body>
        <p>Ceci est un texte ayant un seul <b>mot</b> en gras</p>
      </body>
    </html>
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Membre chevronné Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Par défaut
    merci pour ton coup de main. Bon je sais pas pourquoi mais ca implique que je change toutes mes feuilles de style ... ( apparemment j'utilisais pas les memes references pour les stylesheets)

    Je sais que je peux m'inspirer des feuilles de Norman Walsh .....
    j'essaye meme de les reutiliser mais il veut pas ..... ca plante tout le temps ..... et il me dit qu'il y a une erreur dans un de ses fichiers .....

    Mais bon si je pouvais les reutiliser ca me ferait plaisir parce que j'ai pas envie de tout remettre a la main ....

Discussions similaires

  1. [Débutant] Récupération de lignes
    Par wizardman dans le forum C++
    Réponses: 8
    Dernier message: 30/05/2006, 07h53
  2. [WD9] [Etats][Débutant] Ajouter des lignes à un tableau
    Par EpOnYmE187 dans le forum WinDev
    Réponses: 7
    Dernier message: 20/12/2005, 12h20
  3. [xml][débutant] élément ou attributs...
    Par celestin dans le forum XML/XSL et SOAP
    Réponses: 8
    Dernier message: 24/10/2005, 14h54
  4. [CSS][Débutant] Rollover sur ligne d'un tableau
    Par Nyx de Tours dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 12/07/2005, 09h25
  5. [HTML][débutant] saut de ligne ou interligne
    Par MatMeuh dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 13/10/2004, 15h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo