Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1194 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  [Résolu] XML+XSL vers XHTML

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] XML+XSL vers XHTML

n°1813727
dave_sab
Posté le 19-11-2008 à 10:56:25  profilanswer
 

Bonjour,
apres recherche et de nombreux tests je ne trouve pas ce qui ne va pas !
j'ai vu que certains d'entre vous avez eu un pb similaire. j'ai une page xml avec sa feuille xsl que je veux afficher en xhtml 1.0 dans mon navigateur. Ca marche tres bien dans IE6 mais je n'ai que les textes dans FF3 sans aucun formatage, si je sauvegarde la page, tout est est bon !
j'ai essaye de changer les type mime sur mon serveur de test (lighttpd) mais rien n'y fais.
voila le xml:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="album.xsl" ?>
<root>
    <pics id="1" a="0" d="1">
        <rub>r</rub>
        <subrub>s</subrub>
        <name>n</name>
    </pics>
    <pics id="2" a="1" d="1">
        <rub>a</rub>
        <subrub>z</subrub>
        <name>e</name>
    </pics>
    <pics id="3" a="1" d="2">
        <rub>j</rub>
        <subrub>k</subrub>
        <name>l</name>
    </pics>
</root>
 
et le xsl:
<?xml version="1.0" encoding="UTF-8"?>
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 
    <xsl:output
        method="xml"
        doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
        doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
        indent="yes"
        omit-xml-declaration="yes"
    />
    <xsl:template match="/">
        <html>
            <head>
                <title>album.xsl</title>
            </head>
            <body>
                <xsl:apply-templates />
            </body>
        </html>
    </xsl:template>
 
    <xsl:template match="pics">
        <p><button>
            <xsl:attribute name="type">button</xsl:attribute>
            <xsl:attribute name="class">a<xsl:value-of select="@a" /></xsl:attribute>
            <xsl:value-of select="@id" />
        </button></p>
    </xsl:template>
 
</xsl:stylesheet>
 
merci pour votre aide


Message édité par dave_sab le 19-11-2008 à 11:44:47
mood
Publicité
Posté le 19-11-2008 à 10:56:25  profilanswer
 

n°1813749
FlorentG
Unité de Masse
Posté le 19-11-2008 à 11:15:29  profilanswer
 

Regarde au niveau des entêtes HTTP, peut-être que tes fichiers sont transmis en text/plain ?

n°1813757
dave_sab
Posté le 19-11-2008 à 11:30:51  profilanswer
 

FlorentG a écrit :

Regarde au niveau des entêtes HTTP, peut-être que tes fichiers sont transmis en text/plain ?


 
merci pour la reponse,
au niveau des headers, j'ai:
application/xml pour le fichier xml
text/xml pour le xsl
 
pour faire un test, j'ai modifie le xsl:
<?xml version="1.0" encoding="UTF-8"?>
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 
    <xsl:output
        method="xml"
        doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
        doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
        indent="yes"
        omit-xml-declaration="yes"
    />
 
    <xsl:template match="/">
        <html xmlns="http://www.w3.org/1999/xhtml">
            <head>
                <title>album.xsl</title>
            </head>
            <body>
                <xsl:apply-templates />
            </body>
        </html>
    </xsl:template>
 
    <xsl:template match="pics">
        <p>
            <button>
                <xsl:attribute name="type">button</xsl:attribute>
                <xsl:attribute name="class">a<xsl:value-of select="@a" /></xsl:attribute>
                <xsl:value-of select="@id" />
            </button>
        </p>
    </xsl:template>
 
</xsl:stylesheet>
 
ca fonctionne un peu mieux (le titre est bien reconnu) mais j'ai un attribu "xmlns" qui apparait dans mes balises <p>  :pt1cable:

n°1813761
FlorentG
Unité de Masse
Posté le 19-11-2008 à 11:34:04  profilanswer
 

dave_sab a écrit :

ca fonctionne un peu mieux (le titre est bien reconnu) mais j'ai un attribu "xmlns" qui apparait dans mes balises <p>  :pt1cable:


Ouais, il faut namespacer normallement toutes les balises. ['tain ça fait trop longtemps que j'ai pas fais d'XSL] Et si tu rajoutes l'xmlns XHTML en namespace par défaut ? :

Code :
  1. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">

n°1813764
dave_sab
Posté le 19-11-2008 à 11:37:23  profilanswer
 

[:dave_sab]  
j'ai trouve !
 
en fait il faut passer le xmlns="http://www.w3.org/1999/xhtml" dans le xsl:stylesheet et non html.
maintenant, l'affichage est correct et le source est valide !  :D  
 
merci a vous

n°1813765
dave_sab
Posté le 19-11-2008 à 11:38:20  profilanswer
 

FlorentG a écrit :


Ouais, il faut namespacer normallement toutes les balises. ['tain ça fait trop longtemps que j'ai pas fais d'XSL] Et si tu rajoutes l'xmlns XHTML en namespace par défaut ? :

Code :
  1. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">



 
j'etais d'ecrire ma trouvaille quand tu as repondu; merci c'etait ca


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  [Résolu] XML+XSL vers XHTML

 

Sujets relatifs
Flux XML valide mais avec des erreurs ....[RESOLU] tdatamodule, tclientdataset et ttable
[Résolu] Jeu de caractères[Résolu]Créer lien vers une autre partition => Alias/Apache/WAMP
comment convertir un InputStream vers un fichier.[Resolu] Comment modifier la durée de vie d'un cookies existant ?
[resolu]caracteres accentué (variable TEXT d'une table Mysql)[resolu]préremplir une case de FORMulaire : probleme avec guillemets
[résolu]Récupération d'un tableau dans une string 
Plus de sujets relatifs à : [Résolu] XML+XSL vers XHTML


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR