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 :

[XSLT] Passage d'une architecture plane à une architecture en profondeur


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre actif Avatar de Sebou77
    Inscrit en
    Mars 2006
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2006
    Messages : 212
    Points : 223
    Points
    223
    Par défaut [XSLT] Passage d'une architecture plane à une architecture en profondeur
    Bonjour à tous

    Alors voilà j'ai un petit problème en xslt

    J'ai un fichier XHTML qui contient ceci par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <h1>Titre</h1>
    <h2>Sous Titre</h2>
    <p>blabla</p>
    Je voudrais obtenir ceci en xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <section level="1" id="Titre">
        		<section level="2" id="Sous Titre">
        		      <paragraph>
        		            blabla
        	              </paragraph>
        	        </section>
    </section>
    Mais pour l'instant la seule chose que j'obtiens c'est ça :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <section level="1" id="Titre"></section>
    <section level="2" id="Sous Titre"></section>
    <paragraph>
        	blabla
    </paragraph>
    En fait je ne vois pas du tout comment imbriquer mes sections

    Est ce vraiment possible ?

    Pour info, un bous de mon code xsl :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <xsl:template match="h1">
        	<xsl:variable name="chap" select="translate(substring-after(a/@name,'chap_'),'_','.')"/>
        	<section level="1" id="{$chap}">
        		<title>
    	    		<xsl:apply-templates/>
    	    	</title>
        	</section>
        </xsl:template>
    Je comprends pourquoi j'obtiens ça, mais ne sais pas du tout résoudre mon problème :'(
    Merci à tous

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Tu pourrais peut-être essayer de t'inspirer d'un de ces deux codes : http://xml.developpez.com/sources/?p...bo#IV_position

    [plutôt le premier à priori ]

  3. #3
    Membre actif Avatar de Sebou77
    Inscrit en
    Mars 2006
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2006
    Messages : 212
    Points : 223
    Points
    223
    Par défaut
    Merci beaucoup !
    Je ne savais pas que ça correspondait à ça !

    Merci pour avoir renommer le titre aussi

  4. #4
    Membre actif Avatar de Sebou77
    Inscrit en
    Mars 2006
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2006
    Messages : 212
    Points : 223
    Points
    223
    Par défaut
    Heu c'est encore moi

    Enfin de compte j'y arrive vraiment pas

    J'ai essayé d'adapté le code donné dans le lien mais ça ne donne vraiment rien

    Je trouve ça vraiment étonnant qu'on trouve pas le net un code déja éxistant par rapport à des balises tel que h1, h2 ... pour imbriqué des sections, et pourtant j'ai cherché !

  5. #5
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    Citation Envoyé par Sebou77
    Je trouve ça vraiment étonnant qu'on trouve pas le net un code déja éxistant par rapport à des balises tel que h1, h2 ... pour imbriqué des sections, et pourtant j'ai cherché !
    Le lien que t'a donné Swöog correspond parfaitement à ce cas de figure.

    Il faut juste adapter un petit peu : remplace les éléments <section> et <texte> par tes <h1>, <h2>, etc. et <p>. Dans le code source, le niveau est contenu dans l'attribut niveau, tandis que dans ton cas le niveau est le nombre figurant après la lettre h dans <h1>, <h2>, etc. Il faut donc l'extraire à partir du noeud courant, avec une expression XPath du style :

Discussions similaires

  1. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  2. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  3. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  4. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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