Cliquez ici.
Accueil
 chercher             Plan du site             Info (English version) 
L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.Les listes de discussions XMLfr sont à votre disposition pour réagir sur nos articles ou simplement poser une question.Si vous ètes passionnée(e) par XML, pourquoi ne pas en faire votre métier ?XMLfr n'est heureusement pas le seul site où l'on parle de XML. Découvrez les autres grâce à XMLfr et à l'ODP.Les partenaires grâce auxquels XMLfr peut se développer.Pour tout savoir sur XMLfr.XMLfr sans fil, c'est possible !Pour ceux qui veulent vraiment en savoir plus sur XML.L'index du site.
 Commentaires et questions non techniques.Commentaires et questions techniques.

 
Cliquez ici.

xml tech : Technologies XML

[xml-tech] Re: XML To HTML

[xml-tech] Re: XML To HTML

Auteur: PENNEC Vincent <vincent.pennec@brest-metropole-oceane.fr>
Date: 05/12/2005 - 11:50

Bonjour,

Quel est exactement l'objectif recherché ?

>Je ne sais pas encore si ce sera possible, car le but est de faire un
>tableau HTML avec une ligne d'entête.

Qu'est-ce que vous entendez par ligne d'entête ?

> NoeudRoot
> NoeudMulti
> Valeur1
> Valeur2
> Valeur3
> NoeudMulti11
> Valeur1
> Valeur2
> NoeudMulti12
> Valeur1
> Valeur2
> ....
>
>J'ai du mal à pouvoir recreer les lignes du style
>NoeudMulti|Valeur1|Valeur2|Valeur3|NoeudMulti11|Valeur1|Valeur2

Pouvez-vous donner le résultat attendu pour les premières lignes ? Y compris le code html parce qu'on (je) ne saisit pas si le | symbolise un <td> ou une concaténation des différents name() pour aboutir à un "identifiant".

Un présentation arborescente ne suffit-elle pas pour votre besoin ?
Si dessous une (mauvaise) adaptation du code de MR pour une présentation verticale.

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output method="html" encoding="Windows-1252"/>

        <xsl:template match="/*">
                <html>

                <style type="text/css">
                .FERME {background-color:#BBBBCC; font-family: Verdana; font-size: 8pt; cursor:pointer;}
                .OUVERT { background-color:#EEF3FB; font-style:blod;font-family: Verdana;
font-size: 8pt; cursor:pointer;}
                .DERNIER { font-style:blod;font-family: Verdana; font-size: 8pt;}
                .VALEURNOEUD { background-color:#FFFFCC; font-family: Verdana; font-size:
8pt;}
                .ATTRIBUT {color:#999999;}
                </style>

                <script language="javascript">
                        function affiche_cache(objet){
                        ObjetCible=objet.parentNode.nextSibling;
                        if (ObjetCible.style.display=="none"){
                            ObjetCible.style.display="block";
                            objet.className="OUVERT";
                              }
                        else{
                            ObjetCible.style.display="none";
                            objet.className="FERME";
                            }
                        }
                </script>

                        <body>
                                <xsl:apply-templates select="*"/>
                        </body>
                </html>
        </xsl:template>

        <xsl:template match="*">
                <table border='1' style="margin-left:15px">
                <tr>
                <td><b> <xsl:value-of select="name()"/></b>
                                                                 (<span class="ATTRIBUT"><xsl:for-each select="@*"><b><xsl:value-of select="name()"/></b> : <i><xsl:value-of
select="."/></i>&#160;&#160;</xsl:for-each></span>)
                </td>
                </tr>

                <xsl:if test="*">
                <tr>
                <td>
                        <xsl:apply-templates select="*"/>
                </td>
                </tr>
                </xsl:if>
                </table>
        </xsl:template>
</xsl:stylesheet>

-----Message d'origine-----
De : Lasserre Lionel [mailto:llasserre@gfi.fr]
Envoyé : vendredi 2 décembre 2005 17:16
À : xml-tech@xmlfr.org
Objet : [xml-tech] XML To HTML

Merci de l'aide, j'avance doucement, car effectivement il ne semble pas simple de présenter les éléments verticalement.
j'ai reussit à faire un tableau avec un XML simple style NoeudRoot
    NoeudMulti
          Valeur1
          Valeur2
          Valeur3
qui devient
    NoeudMulti|Valeur1|Valeur2|Valeur3

Par contre si je me retrouve avec
 NoeudRoot
    NoeudMulti
          Valeur1
          Valeur2
          Valeur3
          NoeudMulti11
             Valeur1
             Valeur2
          NoeudMulti12
             Valeur1
             Valeur2
          ....

J'ai du mal à pouvoir recreer les lignes du style
NoeudMulti|Valeur1|Valeur2|Valeur3|NoeudMulti11|Valeur1|Valeur2
NoeudMulti|Valeur1|Valeur2|Valeur3|NoeudMulti12|Valeur1|Valeur2

Car je n'arrive à a recuperer les differentes valeur des ancètres de NoeudMulti1?, Je recherche une solution et vous informes de la suite ...

Cdt
Lionel

Matthieu Ricaud a écrit :

>Bonjour,
>
>J'ai déjà eu l'occasion de faire cela, la xsl suivante est générique et
>affiche n'importe quel fichier xml sous la forme d'un tableau HTML avec
>en prime les attributs. Les cellules sont cliquables pour afficher les
>sous-noeud (c'est du javascript).
>
><?xml version="1.0"?>
>...</xsl:stylesheet>
>
>Il n'affiche pas les commentaires, ni les "processing-instructions" et
>puis ce serait peut être mieux que le tableau présente les élément
>verticalement plutôt qu'horizontalement...
>
>si vous l'améliorez, n'hésitez pas à en faire part :)
>
>Cordialement,
>
>Matthieu
>
>-----Message d'origine-----
>De : xml-tech-bounce@xmlfr.org [mailto:xml-tech-bounce@xmlfr.org]De la
>part de Lasserre Lionel Envoyé : mercredi 23 novembre 2005 15:36 À :
>xml-tech@xmlfr.org Objet : [xml-tech] XML To HTML
>
>
>Bonjour à tous,
>
>je cherche à transformer un fichier XML en tableau HTLM par XSLT, en
>tentant tant que faire se peut, de faire une XSLT générique (applicable
>à tous mes xml).
>
>Je ne sais pas encore si ce sera possible, car le but est de faire un
>tableau HTML avec une ligne d'entête.
>
>D'ou ma première question :)
>est il possible d'extraire le nom des noeuds et non pas leur valeur ?
>
>le but etant en partant d'un xml de type :
>
><root>
> <Exercice>
> ValeurExercice
> <Noeud1>
> ValeurNoeud1
> <SousNoeud1>ValeurSousNoeud1</SousNoeud1>
> <SousNoeud2>ValeurSousNoeud2</SousNoeud2>
> ...
> </Noeud1>
> ...
> </Exercice>
> ...
></root>
>
>de générer un Tableau html du type :
><table>
> <tr>
> <td>Noeud1</td><td>SousNoeud1</td><td>SousNoeud2</td> ...
> </tr>
> <tr>
>
><td>ValeurNoeud1</td><td>ValeurSousNoeud1</td><td>ValeurSousNoeud2</td> ...
> </tr>
> ...
></table>
>
>Si vous connaissais une xslt dejà existante .... ;>
>
>
>Merci d'avance .
>
>Lionel
>
>

--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de 
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant 
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Received on Mon Dec 5 12:50:07 2005

Archive générée par hypermail 2.1.8 le 01/01/2006 - 21:42 UTC

webmaster@xmlfr.org

 

xml tech

Discussions techniques au sujet de XML.

Cette liste est à votre disposition pour discuter en français de tout sujet technique lié à XML.



Devenez rédacteur <XML>fr et contribuez au développement du xml francophone !
Les documents publiés sur ce site le sont sous licence "Open Content"
Conception graphique
  l.henriot@online.fr  

Conception, réalisation et hébergement