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 :

1 seul fichier pour xml et xsl ?


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 58
    Par défaut 1 seul fichier pour xml et xsl ?
    Bonjour,

    J'ai une appli java5/j2ee/struts qui tourne sur tomcat 5.5.25

    Des rapports sont générés en utilisant du XML et XSL.

    Les fichiers XML et XSL sont générés sur le serveur, et le XML contient la référence au XSL et pointe sur le serveur.

    J'utilise un lien hypertexte pour que mon utilisateur puisse visualiser le XML avec le navigateur.

    Pb:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    qd mon utilisateur a ouvert le XML avec son navigateur, 
    et qu'il fait "enregistrer sous" pour récupérer le report sur son poste, 
    il ne récupère que le fixhier XML. 
    Ensuite, quand notre nettoyeur maison aura supprimé 
    les XML et XSL  resté sur le serveur, 
    notre utilisateur ne pourra plus visualiser correctement son XML (perte du style).

    Question:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Comment faire pour récupérer le style sur le poste client ?



    (J'avais pensé à qlqch comme intégrer les données du fichier xsl à la fin du xml, avec une " étiquette " permettant d'utiliser une référence interne ... mais ce n'est que l'idée générale.)

    Help !
    Merci d'avance

  2. #2
    Membre Expert Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Par défaut
    Je crains qu'il n'y ait pas de bonne solution aujourd'hui...

    Quand on demande à un navigateur de sauvegarder une page HTML, le navigateur a la présence d'esprit de proposer de sauvegarder tout ce qui y est inclus (images,...) et, dans ce cas, il corrige toutes les références.

    Mais pour ce qui est du XML et de sa feuille de style, la feuille de style est, comme les autres fichiers, mise dans le cache au chargement et c'est tout ! Il faudrait sauvegarder la feuille dans un fichier à part et modifier le XML pour qu'il y fasse référence...

    Sinon, vous pouvez générer une page HTML avec le code javascript pour appliquer une transformation locale sur deux variables texte, l'une avec le XML et l'autre avec le XSL...

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Par défaut
    Dans cette optique je vois pas trop de solution non plus.
    Mais pourquoi ne pas faire la transformation xsl-t coté server, ainsi l'utilisateur ne télécharge que du html?
    Si l'utilisateur n'a pas d'intéret à retraiter les données, autant ne lui fournir que des rapports où données et mise en forme sont fusionnés.

  4. #4
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 58
    Par défaut feuilles de style encapsulées ...?
    Bonjour et merci pour vos réponses.

    Sinon, vous pouvez générer une page HTML avec le code javascript pour appliquer une transformation locale sur deux variables texte, l'une avec le XML et l'autre avec le XSL...
    ==> Je ne comprend pas... je débute en xml/xsl... puis-je avoir un petit exemple ?


    Sinon, je cherche coté xslt, et je suis tombée sur une doc parlant de Feuilles de style encapsulées:
    http://xmlfr.org/w3c/TR/xslt/#xslt-namespace

    ==> pb: je n'arrive pas à trouver d'exemple de code xml avec le xslt encapsulé.... ou alors je n'ai pas tout compris...

    Quelqu'un a une idée?


  5. #5
    Membre Expert Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Par défaut
    Il y a ça comme exemple de transformation en Javascript : http://xml.developpez.com/sources/?page=transfo_param

    C'est à adapter pour que le XML et le XSL soient en chaine de caractères et chargés par loadXml...

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Par défaut
    J'ai un peu creusé l'histoire des embedded stylesheets, et ça marche pas mal!
    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
    <?xml version="1.0"?>
    <?xml-stylesheet href="#newsStylesheet" type="text/xsl"?>
    <!DOCTYPE doc [
    <!ATTLIST xsl:stylesheet
      id	ID	#REQUIRED>
    ]>
    <news>
    	<xsl:stylesheet version="1.0" id="newsStylesheet" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    		<xsl:template match="/">
    			<html>
    				<head>
    				<title>Sample of an Embeded Stylesheet</title>
    				</head>
    				<body>
    				<p>NEWS</p>
    				<xsl:for-each select="news/day">
    				<p>
    				<xsl:value-of select="date"/><br/>
    				 <b>
    				  <xsl:value-of select="title"/>
    				 </b><br/>
    				<xsl:value-of select="text"/>
    				</p>
    				</xsl:for-each>
    				</body>
    			</html>
    		</xsl:template>
    	</xsl:stylesheet>
    	<day>
    		<date>30 October 2001</date>
    		<title>Embedded Stylesheet Example</title>
    		<text>The following text is displayed using an embedded
    		stylesheet</text>
    	</day>
    </news>

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

Discussions similaires

  1. [XSLT 2.0] Tri XML via XSL pour fichier XML en sortie
    Par Lorenzomax dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 09/10/2013, 16h06
  2. Un seul fichier .xml pour plusieurs diaporamas en Flash
    Par metis15 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 27/11/2011, 13h48
  3. Un seul fichier pour les connexion SQL
    Par camcam8782 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 03/04/2009, 13h39
  4. [Checkstyle] [Maven] 1 seul fichier checkstyle.xml pour différents projets
    Par kalan dans le forum Qualimétrie
    Réponses: 9
    Dernier message: 26/09/2006, 10h11
  5. Affecter un attribut dans un fichier XML ou XSL
    Par LLaurent dans le forum XMLRAD
    Réponses: 7
    Dernier message: 05/06/2003, 14h04

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