Bonjour à tous,
Je me tourne vers vous, car je n'y connais pas grand chose (juste quelques bases) dans toutes ces technologies XML, XLST, CSS, DOM, etc, et j'aimerai néanmoins savoir si une idée que j'ai eu est débile ou non :
j'aimerai générer des documents XML pour présenter un programme annoté,
et écrire un peu de CSS pour permettre de visualiser ça avec mon navigateur préféré.
Jusqu'à là, pas de problèmes il me semble...
Par contre, ce que je me demande, c'est si on peut interactivement montrer et cacher certaines parties (un peu comme dans un gestionnaire de fichier quand on plie et déplie les répertoires) ?
Je préfère savoir si c'est faisable avant de commencer à m'y mettre car il y tellement de choses à apprendre...
Merci de votre aide.
Oui c'est faisable.

1/ en CSS il existe des propriétés qui permettent de mettre devant ou derrière, de cacher ou de rendre visible ...

2/ concernant l'activation dynamique.
un premier niveau existe en CSS pur avec la pseudo classe :hover. Cela permet de déclencher les propriétés CSS au survol de la souris. Pour aller plus loin (clique, drag & drop...) il faut utiliser javascript sur le DOM et modifier les propriétés CSS des éléments.
Merci pour ta réponse.
Pour 1/ je m'en doutais un peu vu que c'est comme ça qu'on doit faire les menus, non ?
Pour 2/ j'imagine qu'il va me falloir m'initier à DOM alors, car j'imaginais de pouvoir cliquer sur les élément pour les plier/déplier. Je vais de ce pas chercher de la doc sur le sujet...
Tu n'aurais pas l'adresse d'un petit tutoriel bien fait sur le sujet pas hasard ?
Quoiqu'il en soit : merci encore !
Xavier a écrit :
Voici un exemple d'arborescence écrite en javascript :
http://www.toutjavascript.com/reference/index.php

C'est vrai ça... j'avais vu cette page, mais je n'avais même pas fait le rapprochement !

Xavier a écrit :
A ta place j'utiliserais cet excellent framework qui fournit une couche d'abstraction javascript permettant de rester très près de CSS et évite les choses ennuyeuses :
http://dean.edwards.name/my/#cssQuery.js

En effet, ça a l'air pratique, mais n'est-ce pas un peu lourd ?

Par ailleurs, je pensais initialement utiliser XML, mais il semble que ça soit plus simple d'utiliser XHTML en créant les class qui vont bien, non ?

Merci pour tes réponses,
Anne.
a écrit :
ça a l'air pratique, mais n'est-ce pas un peu lourd ?
Tout dépend du point de vue. Coté développement, très léger : peu de code à écrire et facilité de maintenance. Du coté de la machine effectivement c'est plus lourd. L'utilisation d'un framework induit la présence de plusieurs couches donc une performance moindre.
a écrit :
je pensais initialement utiliser XML, mais il semble que ça soit plus simple d'utiliser XHTML
Je ne comprends. XML et XHTML ne sont pas du tout sur le même plan : XML est une syntaxe et XHTML un langage. Par ailleurs XHTML respecte la syntaxe XML, donc écrire un document en XHTML c'est bien utiliser XML. Peux tu préciser ta pensée ?
En prenant un peu de distance, il faut se poser la question de la façon dont tu souhaites exploiter (traiter, modifier, visualiser...) le document. Alors tu pourras déterminer les technologies à employer. Cependant j'ai lu dans ton post :
a écrit :
visualiser ça avec mon navigateur préféré
Donc là XHTML est tout indiqué. Ensuite il est possible qu'en amont tu utilises d'autres langages XML et XSLT pour transformer tout ça. Mais nous ne pouvons pas deviner tes contraintes.
Xavier a écrit :
Je ne comprends. XML et XHTML ne sont pas du tout sur le même plan : XML est une syntaxe et XHTML un langage. Par ailleurs XHTML respecte la syntaxe XML, donc écrire un document en XHTML c'est bien utiliser XML. Peux tu préciser ta pensée ?

Je voulais comparer les deux solutions :
- inventer un langage XML avec mes propres balises
(par exemple <prog>, <fonction>, <instruction> puisqu'il s'agit de représenter un programme),
- et utiliser XHTML en utilisant des "class" pour, en gros, faire la même chose
(par exemple <div class=prog>, etc...)

Xavier a écrit :
En prenant un peu de distance, il faut se poser la question de la façon dont tu souhaites exploiter (traiter, modifier, visualiser...) le document. Alors tu pourras déterminer les technologies à employer. .

Le document serait généré par programme puisqu'il s'agit de représenter des résultats d'analyse. Ca ne fait donc pas vraiment de différence de générer <prog> ou <div class=prog>. Il n'y aurait pas de transformation (hormis montrer/cacher des parties).

Xavier a écrit :
Cependant j'ai lu dans ton post :visualiser ça avec mon navigateur préféré
Donc là XHTML est tout indiqué.
Ben en fait, j'ai vu que mon navigateur (firefox 1.0) permet de m'afficher n'importe quel XML du moment que je lui donne une feuille de style CSS...
C'est pour ça que j'ai eu cette hésitation...

Merci de t'intéresser à mon problème,
Anne.
a écrit :
inventer un langage XML avec mes propres balises ... pas vraiment de différence de générer <prog> ou <div class=prog>
Je perçois maintenant mieux le contexte. Ta question me semble très pertinente. Pour évaluer l'intérêt de créer ton propre langage, je mettrais dans la balance les arguments suivants :
- d'un coté inventer son propre langage peu parfois (je ne dis pas que c'est ton cas) s'apparenter à du réinventage de roue. Ce n'est pas forcement utile si l'on utilise pas ou peu la sémantique ainsi développée. Enfin il faut être attentif aux problémes de compatibilité. Que vaudra ton document le jour où tu souhaiteras l'utiliser (le visualiser par exemple) dans d'autres outils ?
- de l'autre, compte tenu des spécificités de ton application la valeur sémantique de ton propre langage sera plus élevée. Il se peut que tu puisses en tirer partie plus tard. Il me parait infiniment préférable d'avoir <prog> que <div class=prog> pour la qualité sémantique de ton document. Je suppose ainsi que tu utiliseras aussi les notions d'include, fonction, boucle, test, ligne de code... et que l'imbrication des éléments prendra sens bien plus qu'avec des <div>.
En conclusion XHTML est un langage de généraliste pour présenter les documents en général. Il est raisonnable d'utiliser un langage plus spécialisé pour ton besoin.
a écrit :
Il n'y aurait pas de transformation (hormis montrer/cacher des parties)...afficher n'importe quel XML du moment que je lui donne une feuille de style CSS
Oui ça marche, mais à tout hasard as-tu remarqué que FF réalise par défaut (sans feuille de style CSS) ce que tu souhaites pour la présentation d'un fichier XML : plier ou déplier chaque noeud de l'arbre ?

Pour terminer, au cas ou tu souhaites le beurre et l'argent du beurre, il est possible d'envisager :
- langage spécifique XML
- transformation XSLT pour obtenir XHTML+CSS
Ainsi tu obtiens une compatibilité plus large. Et pour voir encore plus loin :
- langage spécifique XML
- XSL-FO
- divers outils de transformation existant (FOP, XSLT...)
Ceci pour obtenir des pages web, des pdf, des pages imprimées...
"Xavier" a écrit :
mais à tout hasard as-tu remarqué que FF réalise par défaut (sans feuille de style CSS) ce que tu souhaites pour la présentation d'un fichier XML : plier ou déplier chaque noeud de l'arbre ?

euh... non Smiley eek ! J'ai essayé, mais il ne me fait pas ça moi ...
"Xavier" a écrit :
Pour terminer, au cas ou tu souhaites le beurre et l'argent du beurre

ben oui Smiley lol
"Xavier" a écrit :
langage spécifique XML ... transformation XSLT ... XSL-FO

ouh là là : ça m'a l'air bien compliqué !
Mais peut-être que je regarderai si j'ai un peu de temps...
Malheureusement, il m'est compté, et ça compte aussi dans le choix de la solution Smiley decu

Merci, A+
Anne.
a écrit :
euh... non ! J'ai essayé, mais il ne me fait pas ça moi
A vrai dire j'utilise Mozilla et non pas FF, mais je doute qu'il y ait une grosse différence.
Lorsque je visualise un fichier XML (sous Mozilla donc) sans style, mon navigateur préféré me présente l'arbre XML avec des - devant chaque noeud. En cliquant sur un -, celui-ce devient un + en même temps que le contenu du noeud est "replié".
Exactement le même principe que ce que l'on voit partout pour manipuler un arbre. Donc si tu acceptes la présentation basique, en fait tu n'as rien à développer. Ca te laisse du temps pour potasser XSL-FO et XSLT !
Xavier a écrit :
Lorsque je visualise un fichier XML (sous Mozilla donc) sans style, mon navigateur préféré me présente l'arbre XML avec des - devant chaque noeud. En cliquant sur un -, celui-ce devient un + en même temps que le contenu du noeud est "replié".

ah oui Smiley clapclap j'essayais de cliquer sur les balises, je n'avais pas vu les petits - ...
Super !
Xavier a écrit :
Donc si tu acceptes la présentation basique, en fait tu n'as rien à développer. Ca te laisse du temps pour potasser XSL-FO et XSLT !

Bon plan ! Merci !!!