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 :

xsl:output method="?"... comment obtenir un résult


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    yos
    yos est déconnecté
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 140
    Points : 60
    Points
    60
    Par défaut xsl:output method="?"... comment obtenir un résult
    Bonjour,
    Comment obtenir un résultat valid (xhtml) avec une transformation xslt de pages xml en html
    (les balises <meta> et <br> non fermées )
    car avec le "<xsl:output method= " il y a que 3 possibilités html,text,xml (pas du xhtml ?)

    j'ai combiné avec tous les doctypes possible mais rien à faire

    merci pour votre aide
    Youssef

  2. #2
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Salut,

    j'ai combiné avec tous les doctypes possible mais rien à faire
    Ca fait combien de temps que tu fais ca 3 ans?

    Non plus sérieusement voici l'entête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <xsl:output method="xml" encoding="iso-8859-1"  indent="yes"  doctype-public="-//W3C//DTD
    XHTML 1.0 Frameset//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd" />
    ++

    Thierry

  3. #3
    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,

    la solution de virgul est valide (attention, la DTD qu'il mentionne est celle permettant les frames, à toi de voir si elle te correspond), mais il me semble me souvenir que SAXON est un des seuls processeurs XSLT à accepter method="xhtml". A vérifier, mais en gardant à l'esprit que c''est une extension non prévue dans la recommandation du W3C et donc que ça n'est pas portable.

  4. #4
    yos
    yos est déconnecté
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 140
    Points : 60
    Points
    60
    Par défaut
    Merci Virgul pour ta reponse,
    Citation Envoyé par virgul
    Ca fait combien de temps que tu fais ca 3 ans?

    Non plus sérieusement voici l'entête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <xsl:output method="xml" encoding="iso-8859-1"  indent="yes"  doctype-public="-//W3C//DTD
    XHTML 1.0 Frameset//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd" />
    ++

    Thierry
    je ne connais que 3 types de doctype xhtml possible (dûment ceux qui m'intéresse )
    -//W3C//DTD XHTML 1.0 Strict//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
    -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
    -//W3C//DTD XHTML 1.0 Frameset//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd

    donc cela m'a pris 3 minutes et non pas 3 ans

    Plus sérieusement
    l'entête que tu m'a proposé je l'ai déjà essayé en faite j'obtient bien un résultat valid mais j'ai un probleme avec l'encodage des carractères accentués
    comment résoudre ce probleme

    merci beaucoup pour ton aide

  5. #5
    yos
    yos est déconnecté
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 140
    Points : 60
    Points
    60
    Par défaut
    Merci GrandFather pour ta pécision,
    effectivement
    voici la doctype d'origine :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:output method="html" doctype-public="-//W3C//DTD HTML 4.0 Transitional//EN" doctype-system="http://www.w3.org/TR/REC-html40/loose.dtd"/>
    que j'ai transformé (pour un résultat valid) par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:output method="xml"  encoding="ISO-8859-1"  omit-xml-declaration="yes" doctype-public-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system=" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
    mais toujours un probleme avec les lettres accentuées

    merci pour ton aide

  6. #6
    yos
    yos est déconnecté
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 140
    Points : 60
    Points
    60
    Par défaut
    En faite je ponse que c'est un probleme avec l'outil que j'utilise pour l'application de mon xsl sur mes pages xml
    XT de James Clark
    parmis les limitation de cet outil
    "The HTML output method may get confused if you embed namespace-qualified XML elements with the HTML"
    "The xml output method ignores the encoding and cdata-section-elements attributes on xsl:output."

    merci

  7. #7
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Es-ce que tu as regardé du coté de l'encoding du document?

    Car si ce n'est pas le même dans le xml et le xsl c'est normal!

    Sinon faut demander l'aide de GrandFather car moi ca me dépasse un peu ces histoires d'encoding!

  8. #8
    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
    Quel est le problème avec les caractères accentués ?

  9. #9
    yos
    yos est déconnecté
    Membre du Club
    Inscrit en
    Mai 2005
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 140
    Points : 60
    Points
    60
    Par défaut
    Merci beaucoup pour les réponses

    GrandFather,
    Le problème avec les caractères accentués est le suivant:
    les caractères accentués dans mes pages xml d'origines à transformer ne sont pas écrites avec les valeurs code html ou ISO (exemple "é" aulieu de "&eacute;" ou "#233;")
    donc quand j'utilise
    <xsl:output method="xml" au lieu de <xsl:output method="html"
    le text est récupéré comme tel sans transformation des caractères accentués

    merci pour votre aide

  10. #10
    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
    Citation Envoyé par yos
    le text est récupéré comme tel sans transformation des caractères accentués
    C'est normal, c'est dans la spécification XML, et ça ne doit pas poser de problèmes aux navigateurs. Sinon, l'usage des entités HTML (&eacute; etc.) nécessiterait d'adjoindre une DTD qui les déclare, au document.

    Cependant, pour éviter tout souci, il vaut mieux suivre le conseil donné par le W3C dans la recommandation XHTML : http://www.w3.org/TR/xhtml1/#C_9

    Il y est dit :
    Citation Envoyé par Le W3C
    Historically, the character encoding of an HTML document is either specified by a web server via the charset parameter of the HTTP Content-Type header, or via a meta element in the document itself. In an XML document, the character encoding of the document is specified on the XML declaration (e.g., <?xml version="1.0" encoding="EUC-JP"?>). In order to portably present documents with specific character encodings, the best approach is to ensure that the web server provides the correct headers. If this is not possible, a document that wants to set its character encoding explicitly must include both the XML declaration an encoding declaration and a meta http-equiv statement (e.g., <meta http-equiv="Content-type" content="text/html; charset=EUC-JP" />). In XHTML-conforming user agents, the value of the encoding declaration of the XML declaration takes precedence.

    Note: be aware that if a document must include the character encoding declaration in a meta http-equiv statement, that document may always be interpreted by HTTP servers and/or user agents as being of the internet media type defined in that statement. If a document is to be served as multiple media types, the HTTP server must be used to set the encoding of the document.
    En résumé, précise le bon encoding dans le prologue XML et dans une balise meta.

Discussions similaires

  1. comment obtenir un polynome de regression
    Par evariste_galois dans le forum Mathématiques
    Réponses: 17
    Dernier message: 19/01/2007, 15h06
  2. <xsl:output method="text">
    Par Sylvain James dans le forum XMLRAD
    Réponses: 4
    Dernier message: 24/02/2005, 14h51
  3. Comment obtenir la liste des paramètres d'une SP ?
    Par Le Gritche dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/03/2003, 16h54

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