rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Affichage des balises xml en html

Posté par Eileen57, le jeudi 19 avril 2007 à 20:30:57
Bonjour,

Je souhaite afficher un bout de mon document xml tel quel (avec les noeuds sous forme de balises) dans une page html.
J'utilise une feuille xsl qui me permet de choisir les données que je veux afficher. (j'utilise <xsl:copy-of>)
Je voudrais savoir s'il y a un moyen plus simple que de remplacer les <> par leur code html pour forcer leur affichage dans ma page web...

Est-ce que quelqu'un a une idée?

Merci d'avance.
Configuration: Windows XP
Firefox 1.5.0.11
Répondre à Eileen57  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Dalida, le vendredi 20 avril 2007 à 17:09:22
salut,

as-tu fait des essais ?
comment l'intègres-tu pour le moment ?
il faut préciser le type Mime et peut être utiliser un prologue xml. mais je ne sais pas combien de navigateurs sont capables de le gérer.

par contre l'expérience m'intéresse. aurais-tu un bout de code typique (avec des infos bidons) juste pour pouvoir faire des essais ?
[ Mathieu ]
savoir rester faignant, c'est progresser en informatique. enfin, j'essaie...
Répondre à Dalida

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Eileen57, le samedi 21 avril 2007 à 11:05:17
Salut,

Oui, j'ai fait plusieurs essais... En voici deux:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&g­t;
<xsl:output method= "html" indent="yes"/>

<xsl:template match="/">
<xsl:for-each select="//book">
<xsl:copy-of select="translate(.,'&lt','<')"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

Comme ça, ça ne m'affiche plus du tout les balises et y a des bugs dans le texte qui s'affiche.

<xsl:template match="/">
<xsl:param name="result">
<xsl:for-each select="//book">
<xsl:copy-of select="."/>
</xsl:for-each>
</xsl:param>
<xsl:value-of select="translate($result,'&lt','<')"/>
</xsl:template>

Là, le problème, c'est que dès que je passe le résultat du copy-of en paramètre de toute manière, je perds les balises... donc le translate n'a aucun intéret...

J'ai cherché sur le net mais j'ai rien trouvé, pour l'instant, à part la méthode brutale qui consiste à recréer via la xsl avec les codes html des <> et autres caractères spéciaux mon document xml...

ci-après juste un bout du doc xml :

<library>
<book language="FR">
<author equipe="ORPAILLEUR">Florence Le Ber</author>
<author>Gérard Lizogat</author>
<titre>Représentation et raisonnement sur le temps et l'espace
-- Actes de l'atelier AFIA, Nice, 30 mai 2005</titre>
<publisher>Inconnu</publisher>
<year>2005</year>
</book>
</library>

Sinon, je ne sais pas ce qu'est un prologue xml...

Voilà, je te laisse faire tes propres essais...

Rm : j'utilise Cooktop qui me permet de visualiser avant et après interprétation html
Répondre à Eileen57

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Dalida, le samedi 21 avril 2007 à 17:01:05
salut,

je n'ai pas beaucoup de temps en ce moment et je le regrette vraiment. je viens de faire quelques essais avec ton code ce qui me permet de me plonger dans xml. je n'avais fait qu'entrevoir ses possibilités, là je suis soufflé ! c'est sûr, c'est mon prochain langage...

pour ton problème c'est un peu particulier. réussis-tu à faire ce que tu souhaites et veux-tu simplement trouver une meilleure méthode ? ou n'y arrives-tu pas, tout court ?

je ne réussi pas à faire fonctionner 'transalte()' mais je réussi à faire sortir les balises en code littérale.
ce que je pense comprendre c'est que tu souhaites traiter ton xml avec un xls qui devra sortir du... xml ! donc le navigateur va interpréter xls et ne pas afficher le xml avec la présentation par défaut. alors que tu souhaites l'afficher ainsi... c'est bien cela ?
moi j'ai essayé de le sortir en xml brut puis en html. j'ai essayé de le loger dans un <script> et deux ou trois autres bidouillages, rien de concluant...

en tout cas je me suis bien amusé et je suis décidé à prochainement pousser les investigations un peu plus loin. produire un xml par php à partir d'une bdd MySQL. le xls formate en html, mis en page en css... (j'ai l'impression de nager en plein délire...)

ps, le prologue xml c'est :
<?xml version="1.0" encoding="ISO-8859-1"?>

[ Mathieu ]
savoir rester faignant, c'est progresser en informatique. enfin, j'essaie...
Répondre à Dalida

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Eileen57, le samedi 21 avril 2007 à 23:07:36
Re Salut,

Je sais pas ce qui te botte dans le xml/xsl, moi je trouve ça pourri...
Je préfère encore de la vrai base de donnée et travailler avec php/mysql dans ce cas, enfin chacun son truc... Et puis, on s'amuse bien quand même...tant que c'est un "loisir"!

Sinon, j'arrives à faire ce que je veux c'est à dire afficher une partie de mon code xml via une xsl sous forme xml (balisage) dans une page html, c'est simplement que je suis plutôt perfectionniste et j'essaye toujours de minimiser le code quand c'est possible...

le translate marche très bien pour d'autres trucs, par exemple dans le select d'un value-of, si tu veux modifier un truc que tu récupère juste avant de l'afficher... Mais apparement, ça ne marche pas dans un copie-of...

Et le problème, c'est que le copie-of a un "comportement bizarre"...

En tout cas, merci d'avoir cherché à répondre et bonne continuation!
Répondre à Eileen57

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Gihef, le dimanche 22 avril 2007 à 00:52:44
Bonjour,

S'il s'agit simplement d'afficher les < et >, pourquoi ne pas placer littéralement ce que tu récupères dans un <pre></pre> ?
Avec ça, plus de problème de transcription, non ?

-edit-
Oups, j'ai parlé trop vite )-;
 
Répondre à Gihef

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Yoo, le mercredi 18 juillet 2007 à 17:30:03
en jouant su les format d ecriture ca doit passé (utf8 ? tu crée un nouvo fichier tu enrgistre format utf8 et tu colle ton truc je croi ca passe )
Répondre à Yoo

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 grego, le samedi 8 septembre 2007 à 14:16:40
c'est tres simple en PHP:

<?php
$fichier=get_file_contents('http://tonsite.com/fichier.xml')­;
echo htmlentities($fichier);
?>
et HOP le resultat est magic ;)
Répondre à grego
Logiciels pertinents trouvés dans les téléchargements
Télécharger Notepad++ 5.0.2Notepad++ - Notepad++ est un editeur de code source qui supporte plusieurs langages. Il s'agit d'un logiciel libre performant et...Catégorie: Développement
Licence: Open Source
Télécharger Bank Perfect 6.23Bank Perfect - BankPerfect est un programme de gestion bancaire totalement gratuit destiné aux particuliers soucieux de tenir leurs...Catégorie: Budget
Licence: Freeware/gratuit
Télécharger DriveImage XML 1.30DriveImage XML - DriveImage XML est un programme permettant de faire des images du système (partitions et lecteurs logiques) à des fins de...Catégorie: Sauvegarde
Licence: Freeware/gratuit
Télécharger HTML Tidy 0.008HTML Tidy - HTML Tidy est un utilitaire permettant de vérifier et d'optimiser tout code HTML. La version originale de cet utilitaire...Catégorie: Webmaster
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « Affichage des balises xml en html »