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 :

[XSLT] Feuille de style invalide... [Débutant(e)]


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Invité
    Invité(e)
    Par défaut [XSLT] Feuille de style invalide...
    Bonjour tout le monde
    Je me suis mis depuis peu au XML accompagne des feuilles de style XSLT et apres avoir un peu cherche sur le net et google, le probleme que j'ai ne connait pas de reponse
    L'erreur que j'obtiens en pointant mon browser sur le fichier xml est celle ci :

    Error loading stylesheet: Parsing an XSLT stylesheet failed.

    Et voici le contenu du fichier XML (test.xml) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?xml version="1.0"?>
    <?xml-stylesheet href="test.xsl" type="text/xml"?> 
    <doc>
    <sommaire>
    <title>Titre un</title>
    <title>Titre deux</title>
    </sommaire>
    <corps>
    <title>Nom un</title>
    <title>Nom deux</title>
    </corps>
    </doc>
    Et le contenu du fichier XSLT (test.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
    18
    19
    20
    21
    22
    23
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl=" http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
        <xsl:template match="/">
    	<html>
           	<body>
    	<xsl:apply-templates />
    	</body>
    	</html>
        </xsl:template>
        <xsl:template match="/sommaire">
    	<h1>Sommaire</h1><br />
    	<ul>
    	<xsl:appply-templates />
    	</ul>
        </xsl:template>
        <xsl:template match="title">
    	<li><h3><xsl:value-of select="."></h3></li>
        </xsl:template>
        <xsl:template match="corps">
    	<li><h3><xsl:value-of select="."></h3></li>
        </xsl:template>
    </xsl:stylesheet>


    Quelqu'un aurait il une idee ? Merci d'avance
    Dernière modification par Invité ; 03/05/2007 à 14h41. Motif: Ajout balises CODE

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    ta feuille de style n'est pas du XML bien formé, il manque les slashes de fermeture dans les xsl:value-of.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:value-of select="."/>
    Voila, corrige pour les deux
    Mais apres ca, mon browser (donc, en local) continue de m'indiquer que la feuille de style est mauvaise

  4. #4
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Les 3 p à xsl:appply-templates, ça ne le fait pas trop non plus....

    Un conseil : comme le navigateur est très peu bavard sur l'origine du problème, teste au préalable tes feuilles de style dans un éditeur permettant de lancer des transformations XSLT, comme Cooktop par exemple. Cela te permettra de détecter très rapidement ce genre d'erreur grossière.

  5. #5
    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 NaeiKinDus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:value-of select="."/>
    Voila, corrige pour les deux
    Mais apres ca, mon browser (donc, en local) continue de m'indiquer que la feuille de style est mauvaise
    FF ou IE ton browser ? FF a de gros problème de type mime avec le xml

  6. #6
    Invité
    Invité(e)
    Par défaut
    Mince alors
    Oui j'ai un peu de mal car je travaille sur un portable qui rame donc parfois je fais des erreurs de frappe assez grossieres -_-
    Pour ta question Erwy, je travaille avec FF car je suis sous Fedora, donc pour IE... dur
    Je vais essayer de me trouver un interpreteur pour Fedora
    (Au passage, si quelqu'un a une suggestion je suis preneur )
    Et helas, FF continue de me sortir l'erreur de parsing... Je vais continuer de chercher !

    Merci pour votre aide

  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
    Citation Envoyé par NaeiKinDus
    Et helas, FF continue de me sortir l'erreur de parsing... Je vais continuer de chercher !
    FF ne reconnait pas les fichiers avec une extension .xslt
    , il vaut toujours mieux utiliser une extension .xml que ce soit pour le fichier de donnée ou la feuille xslt

  8. #8
    Invité
    Invité(e)
    Par défaut
    Marche po -_-
    Donc, recapitulatif pour etre sur de n'avoir rien manque :
    - J'ai corrige les erreurs que vous m'avez fait voir
    - J'ai modifier l'extension sur .xsl en .xml

    mais toujours rien sur FF... et je ne peux pas tester ca avec IE

    Pour rappel,

    => test.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?xml version="1.0"?>
    <?xml-stylesheet href="template-test.xml" type="text/xml"?> 
    <doc>
    <sommaire>
    <title>Titre un</title>
    <title>Titre deux</title>
    </sommaire>
    <corps>
    <title>Nom un</title>
    <title>Nom deux</title>
    </corps>
    </doc>
    => template-test.xml
    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
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl=" http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
        <xsl:template match="/">
    	<html>
           	<body>
    	<xsl:apply-templates />
    	</body>
    	</html>
        </xsl:template>
        <xsl:template match="/sommaire">
    	<h1>Sommaire</h1><br />
    	<ul>
    	<xsl:apply-templates />
    	</ul>
        </xsl:template>
        <xsl:template match="title">
    	<li><h3><xsl:value-of select="."/></h3></li>
        </xsl:template>
        <xsl:template match="corps">
    	<li><h3><xsl:value-of select="."/></h3></li>
        </xsl:template>
    </xsl:stylesheet>
    J'ai aussi installe XMLmind , mais il n'a rien sorti de bien folichon -_-

  9. #9
    Membre éprouvé 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
    Points : 1 247
    Points
    1 247
    Par défaut
    Après avoir résolu quelques autres petits problèmes, je me suis heurté à des problèmes de namespaces (encore eux...)

    .Net, pour ne pas le nommer, ne fait rien de bien si on utilise des balises (X)HTML sans utiliser le namespace idoine et il s'en suit que, si on veut que ce soit celui par défaut, il faut alors que les données disposent elles-aussi de leur namespace

    Voici ce que j'ai testé avec mon projet OpenSource :
    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
    38
    39
    40
    41
    42
    43
    <txs:scriptsheet xmlns="http://www.w3.org/1999/xhtml" xmlns:txs="http://sourceforge.net/projects/txs" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="0.4">
     <xsl:stylesheet version="1.0" txs:name="main">
      <xsl:template match="/">
       <txs:dummy>
        <txs:save filename="result.xml" format="xml">
         <txs:transform stylesheet="#sommaire">
    <txs:doc>
    <txs:sommaire>
    <txs:title>Titre un</txs:title>
    <txs:title>Titre deux</txs:title>
    </txs:sommaire>
    <txs:corps>
    <txs:title>Nom un</txs:title>
    <txs:title>Nom deux</txs:title>
    </txs:corps>
    </txs:doc>
         </txs:transform>
        </txs:save>
       </txs:dummy>
      </xsl:template>
     </xsl:stylesheet>
     <xsl:stylesheet version="1.0" txs:name="sommaire">
        <xsl:template match="/">
    	<html>
           	<body>
    	<xsl:apply-templates select="/txs:doc/*"/>
    	</body>
    	</html>
        </xsl:template>
        <xsl:template match="txs:sommaire">
    	<h1>Sommaire</h1><br/>
    	<ul>
    	<xsl:apply-templates/>
    	</ul>
        </xsl:template>
        <xsl:template match="txs:corps">
    	<xsl:apply-templates/>
        </xsl:template>
        <xsl:template match="txs:title">
    	<li><h3><xsl:value-of select="."/></h3></li>
        </xsl:template>
     </xsl:stylesheet>
    </txs:scriptsheet>
    et le fichier résultat obtenu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?xml version="1.0" encoding="windows-1252" standalone="yes"?>
    <html xmlns="http://www.w3.org/1999/xhtml">
     <body>
      <h1>Sommaire</h1><br />
      <ul>
       <li><h3>Titre un</h3></li>
       <li><h3>Titre deux</h3></li>
      </ul>
      <li><h3>Nom un</h3></li>
      <li><h3>Nom deux</h3></li>
     </body>
    </html>

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/04/2007, 11h39
  2. [XSLT] créer une feuille de style
    Par Robert32 dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 21/12/2006, 10h31
  3. [XSLT] probleme de feuille de style
    Par Melvine dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 18/10/2006, 15h32
  4. [XSLT] A propos de la feuille de style XSL
    Par OtObOx dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 13/05/2006, 19h27
  5. [XSLT]comment assigner 1 feuille de style XSL?
    Par belassel_z dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 13/05/2006, 19h21

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