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

XML/XSL et SOAP Discussion :

Je cherche une instruction du genre collapse (XML)


Sujet :

XML/XSL et SOAP

  1. #1
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2016
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Je cherche une instruction du genre collapse (XML)
    Bonsoir,

    J'ai un problème d'affichage avec un fichier XML.
    Le fichier XML en question est le résultat d'un traitement.
    Un clic sur un bouton parcourt une base de données et envoie le fichier suivant, affiché tel que :

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?xml version="1.0" encoding="ISO-8859-1"?>
    - <annuaire>
    	- <fiche name="DUPONT Jean">
    		<nom>DUPONT</nom>
    		<prenom>Jean</prenom>
    		<adresse1>10 rue de la gare</adresse1>
    		<cpostal>04000</cpostal>
    		<ville>Digne-les-Bains</ville>
    		<pays>France</pays>
    		<telm>06 07 08 09 10</telm>
    		<telp>04 05 6 07 08</telp>
    		<mailp>jean.dupont@orange.fr</mailp>
    		<groupe>Amis</groupe>
    	  </fiche>
    	- <fiche name="DUVAL Isabelle">
    		<nom>DUVAL</nom>
    		<prenom>Isabelle</prenom>
    		<adresse1>1 rue Notre-Dame</adresse1>
    		<cpostal>75010</cpostal>
    		<ville>Paris</ville>
    		<pays>France</pays>
    		<telm>06 06 06 06 99</telm>
    		<groupe>Connaissances</groupe>
    	  </fiche>
    	- <fiche name="MARTIN Yseult">
    		<nom>MARTIN</nom>
    		<prenom>Yseult</prenom>
    		<adresse1>33 Place de le République</adresse1>
    		<cpostal>75010</cpostal>
    		<ville>Paris</ville>
    		<pays>France</pays>
    		<maild>ymartin@hotmail.com</maild>
    		<fb>https://www.facebook.com/yseult.martin</fb>
    		<tw>https://twitter.com/ymartin</tw>
    		<groupe>Famille</groupe>
    	  </fiche>
      </annuaire>
    Seulement le fichier est long et j'aimerais avoir, à l'ouverture du fichier l'affichage suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    - <annuaire>
    	+ <fiche name="DUPONT Jean">
    	+ <fiche name="DUVAL Isabelle">
    	+ <fiche name="MARTIN Yseult">
      </annuaire>
    Ce qui permettrait de n'ouvrir que les fiches voulues.

    Je galère comme un beau diable, je recherche un instruction de style du genre 'collapse' en xml ou en css.
    Avant de poser la question je voulais chercher et trouver par moi-même mais au bout de trois jours, je craque...

    Quelqu'un a-t-il une idée, une solution ?

    Merci d'avance.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 565
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 565
    Points : 21 630
    Points
    21 630
    Par défaut
    Hello,

    ça n'existe pas voyons.
    Si tu ajoutais quelque chose dans le XML, ça ferait partie des données XML, ça n'aurait aucun effet sur la manière de l'afficher.

    La seule chose que tu peux faire, c'est un programme qui sait comment afficher tes données XML d'une façon pratique, en lieu et place de Notepad.

  3. #3
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2016
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta réponse, mais dans les recherches que j'ai effectuées, j'avais trouvé qu'on pouvait définir une feuille de style juste après la déclaration d'un fichier xml comme ci-dessous mais je n'ai pas réussi à trouver le traitement approprié :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?xml version="1.0" encoding="ISO-8859-1"?>
     
    <xsl:stylesheet
         xmlns:xsl="http://www.w3.org/TR/WD-xsl"
         xmlns="http://www.w3.org/TR/REC-html40"
         result-ns="">
     
    	<xsl:template match="fiche" >
    		<!-- traitements à effectuer -->
    	</xsl:template >
    </xsl:stylesheet>
     
    <annuaire>
         <!-- etc... -->

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 565
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 565
    Points : 21 630
    Points
    21 630
    Par défaut
    Ma foi, une feuille de style est un moyen comme un autre de faire le programme dont j'ai parlé, mais tu te doutes bien que personne ne l'aura fait pour toi.

    Il va falloir tout apprendre et tout faire. Du coup, peut-être que ce n'est pas la solution idéale et qu'il vaut mieux songer à utiliser autre chose, comme un autre genre de programme ou faire un site web en PHP/Java/Python/whatever.

    Si tu veux quand même faire ça avec une feuille de style, le principe est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?xml version="1.0" encoding="ISO-8859-1"?>
     
    <?xml-stylesheet href="tafeuille.xslt"?>
     
    <annuaire>
         <!-- etc... -->
    Tu ne peux pas ajouter des balises à ton fichier XML et espérer que ça va aller comme sur des roulettes, les balises qu'il contient c'est censé être <annuaire> et ce qu'il y a dedans, rien de plus et rien de moins.

    Du coup il va falloir que la feuille soit dans un fichier séparé, probablement hébergée sur le même serveur web que le fichier XML.

  5. #5
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2016
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta réponse mais la feuille "mafeuille.xslt" à laquelle on fait référence sera forcément lue pour savoir comment présenter. Alors lire les instructions dans un fichier externe ou les lire directement dans la feuille elle-même, quelle est la différence ? Ça me semble pareil, comme lorsqu'on écrit une feuille de style à laquelle on fait référence ou qu'on écrit les styles directement dans la feuille PHP/HTML, ça fait le même effet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link rel="stylesheet" href="messtyles.css" type="text/css">
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <style type="text/css">
     ...
    </style>
    L'un ou l'autre produisent le même résultat. Non ?

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 565
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 565
    Points : 21 630
    Points
    21 630
    Par défaut
    La différence, c'est qu'il y en a un où c'est fait pour, et l'autre où c'est fait pour pas. En HTML, oui, tu peux faire l'un ou l'autre comme tu veux, et avec ton fichier à toi non, ça n'ira probablement pas.

    C'est une question d'usage. Fondamentalement le but de HTML est de transmettre un document web affichable. Étant donné l'importance de l'apparence d'une telle chose, ça allait un peu de soi de faire en sorte que le document décrive lui-même comment afficher ses données.

    Alors que ton fichier, là, qui est format XML, son but me semble être de transmettre un <annuaire>, avec des <fiche> dedans. Et pas du tout une feuille de style, je suppose qu'on est d'accord là-dessus ?
    Certes il peut arriver dans certains cas, qu'on veuille fournir ce fichier à un navigateur pour qu'il l'affiche à l'utilisateur. Mais au départ, l'idée était probablement de le fournir à d'autres programmes, des programmes qui savent quoi faire d'un <annuaire> et de <fiches>, mais qui ne s'attendent pas du tout à trouver une feuille de style comme un cheveu sur la soupe, mélangée aux données.

    Si ce n'est pas le cas, alors on peut, en effet songer à mélanger la feuille de style au document lui-même.
    Tout comme on peut se demander pourquoi ton fichier est en XML et non pas en HTML, où tu obtiendrais des résultats très simples et tout de suite. Ce n'est pas comme si, dans un cas pareil, tu avais gagné quelque chose en utilisant XML à la place.

    Donc, pour inclure une feuille de style directement, on fait comme ça :

    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
    <?xml version="1.0" ?>
    <?xml-stylesheet href="#style" type="application/xslt+xml"?>
     
    <annuaire>
      <xsl:stylesheet id="style" version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:template match="/">
          <xsl:value-of select="'Bonjour'"/>
        </xsl:template>
      </xsl:stylesheet>
     
      <fiche>
        ...
      </fiche>
      ...
    </annuaire>
    On remarque le type="application/xslt+xml" devenu obligatoire, parce que le navigateur n'a aucun moyen d'autodétecter le format de fichier de style puisqu'il n'y a plus de fichier de style. Donc pas d'extension, de mime-type ni rien, donc précision obligatoire.

    On remarque que href ne ressemble plus tellement à une URL et commence juste par # suivi d'un id. Comme une ancre interne dans une page HTML. Le principe est le même, cela signifie que la cible se trouve dans le document en cours.
    Et que l'élément <xsl:stylesheet> indique l'id correspondant, ce qui permet au navigateur de le trouver.

    À noter que la feuille de style je l'ai mise au début, mais tu pourrais aussi bien la mettre à la fin ou au milieu. Par contre, elle doit toujours être à l'intérieur d'un autre élément, ici <annuaire> mais ça pourrait être ailleurs. Un document XML n'a qu'un seul élément racine, il ne peut pas en avoir deux, genre <annuaire> ici et <xsl:stylesheet> à côté. À noter que c'est également le cas en HTML.

  7. #7
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2016
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci infiniment pour ta réponse très claire.
    Je considère la question comme résolue.
    Bonne continuation.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/04/2010, 17h53
  2. Problème avec une instruction OUTER /Postgres
    Par Volcomix dans le forum Langage SQL
    Réponses: 14
    Dernier message: 21/04/2004, 16h56
  3. [Open tools] Je cherche une documentation complète
    Par fbeghini dans le forum JBuilder
    Réponses: 2
    Dernier message: 24/11/2003, 09h23
  4. Prendre une valeur dans la grappe XML
    Par Sandrine75 dans le forum XMLRAD
    Réponses: 7
    Dernier message: 21/05/2003, 10h26
  5. Passer de la zone d'édition vers une instruction sql
    Par tripper.dim dans le forum C++Builder
    Réponses: 2
    Dernier message: 27/11/2002, 14h44

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