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 :

[CSS][XSLT] Passage en XML et les CSS ne fonctionne plus comme avant


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut [CSS][XSLT] Passage en XML et les CSS ne fonctionne plus comme avant
    Voilà, j'essaie d'utiliser une page XML pour afficher le contenu d'une carte de restaurant. Je stocke les infos de la carte en XML et ai donc aussi créé un fichier XSL et même un XSD.

    Quand j'affiche ma page web en HTML le site est centré. La même page en XSL (donc même head, même body) le site n'est plus centré sous Firefox (il est collé à gauche...sous IE tout fonctionne encore).

    Pour centrer le site j'utilise la méthode classique des CSS avec un conteneur ayant les margin-left et right en auto + width avec taille fixe.

    Le contenu (simplifié) de mon fichier XSL :

    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
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
    <xsl:output   method="html"  encoding="ISO-8859-1"   doctype-public="-//W3C//DTD HTML 4.01//EN"  doctype-system="http://www.w3.org/TR/html4/strict.dtd"  indent="no" />
     
      	<xsl:template match="/">
    		<html>
    			<head>
    				<link href="css/menu.css" rel="stylesheet" type="text/css"></link>
    			</head>
    			<body bgcolor="FFFFFF" text="#000000">
    				<div id="page">
                                          ici vient le blabla du site.
    				</div>
    			</body>
    		</html>
    	</xsl:template>
    </xsl:stylesheet>

    Et le fichier CSS :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    body {
         margin: 0; /* pour éviter les marges */
         text-align: center; /* pour corriger le bug de centrage IE */
       }
    #page {
        position: relative; /* on positionne le conteneur */
     
         margin-left: auto;
         margin-right: auto;
         width: 804;
         text-align: left;
    	 top:4px;
         }

    J'espère que vous pourrez me venir en aide car je cherche depuis plusieurs jour mais ne trouve pas la solution.

    J'ai la vague impression que c'est lié à la façon dont je déclare les balises XML mais n'arrive tout de même pas à trouver quoi exactement.

  2. #2
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    Citation Envoyé par Fredje_B
    Quand j'affiche ma page web en HTML le site est centré. La même page en XSL (donc même head, même body) le site n'est plus centré sous Firefox (il est collé à gauche...sous IE tout fonctionne encore).
    Tu veux dire que tu as recupéré le source html produit par ta trans formation pour le tester ?
    Autrement le test n'est pas valable

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Peux être que je m'exprime mal, je n'en sais rien

    Ce que je veux dire, si j'enlève toutes les balises XSL et XML, il ne reste donc plus que du HTML pur...quand je sauve ce résultat et que je le regarde sous IE/Firefox c'est bon...

    Et pour être tout à fait franc, en fait j'avais déjà le code HTML que j'ai juste "entouré" des balises XSL/XML...

    Enfin, pour faire bref, l'exemple simplifié que j'ai fourni reprend la phylosophie de mes pages et ne marche pas non plus (alors que c'est réduit à sa plus simple expression).

    Je n'utilise aucun serveur pour transformer le XSL...je laisse faire le navigateur...est ce une bonne solution ou suis je complètement à coté de la plaque?

    Merci en tout cas de me consacrer un peu de temps.

  4. #4
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    il faut voir en quoi le html produit diffère de celui que tu souhaite, pour cail faut recuperer le code source apres la tansformation et l'analyser.
    Je te conseille ce plu in pour y arriver
    https://addons.mozilla.org/firefox/655/

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Excellent cet add-on...je ne vais pas m'en priver à l'avenir

    Voici le résultat :

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd">
    <HTML>
    <head> <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type"> <link type="text/css" rel="stylesheet" href="css/menu.css"> </head>
    <body text="#000000" bgcolor="FFFFFF">
    <div id="page"> ICI VIENT LE BLABLA DU SITE. </div>
    </body>
    </html>


    Comme on ne voit pas ce qu'il interprete du CSS, j'ai décidé de reprendre le tag CSS directement dans le xsl. Voici le résultat :

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd">
    <HTML>
    <head> <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
    <style type="text/css"> body { margin: 0; /* pour éviter les marges */ text-align: center; /* pour corriger le bug de centrage IE */ } #page { position: relative; /* on positionne le conteneur */ margin-left: auto; margin-right: auto; width: 804; text-align: left; top:4px; } </style>
    </head>
    <body text="#000000" bgcolor="FFFFFF">
    <div id="page"> ICI VIENT LE BLABLA DU SITE. </div>
    </body>
    </html>

    Qqu'un pour éclairer ma lanterne?

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Ok, en faisant qques tests j'ai clairement compris que c'était à cause de la balise "DOCTYPE...strict.dtd"...

    J'imagine que cette balise me fait switchés mon fichier HTML en XHTML et que le contenu de mon fichier n'est à ce moment plus valable...ou suis je de nouveau dans l'erreur?

    Y a t'il un moyen de faire valider et surtout de faire ressortir les erreurs lié à cette norme?

    Merci d'avance.

  7. #7
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    doctype-public="-//W3C//DTD HTML 4.01//EN"  doctype-system="http://www.w3.org/TR/html4/strict.dtd"
    ces deux elements ne sont pas du tout obligtoiresi tu les enlèves cela devrait supprimer la balise doctype

  8. #8
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Amusant tout ca...

    Voici le code résultat généré par Firefox :

    <HTML>
    <head> <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
    <style type="text/css"> body { margin: 0; /* pour éviter les marges */ text-align: center; /* pour corriger le bug de centrage IE */ } #page { position: relative; /* on positionne le conteneur */ margin-left: auto; margin-right: auto; width: 804; text-align: left; top:4px; } </style>
    </head>
    <body text="#000000" bgcolor="FFFFFF">
    <div id="page"> ICI VIENT LE BLABLA DU SITE. </div>
    </body>
    </html>

    Quand Firefox génère ce résultat via le XML, il n'aligne pas ma balise "page".

    Quand je reprend ce code et que je le sauve dans un fichier HTML, firefox l'interprete alors correctement...

    J'y perd mon latin...

  9. #9
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    Tu n'es pas le premier à signaler un pb sur Firefox et les transfo xml/xslt

Discussions similaires

  1. Les formulaires ne fonctionnent plus apres un export/import
    Par Altaria dans le forum Configuration
    Réponses: 3
    Dernier message: 17/09/2009, 11h58
  2. Réponses: 3
    Dernier message: 17/09/2009, 11h58
  3. [AC-2003] Les boutons ne fonctionnent plus, Bdd corrompue?
    Par Eshen dans le forum IHM
    Réponses: 7
    Dernier message: 07/05/2009, 17h22
  4. TAB pour hiérarchiser les titres ne fonctionne plus
    Par romanokiss dans le forum Word
    Réponses: 3
    Dernier message: 09/01/2008, 20h05
  5. les actions ne fonctionnent plus sur ma page
    Par SpaceFrog dans le forum Général JavaScript
    Réponses: 47
    Dernier message: 14/11/2005, 13h45

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