Cliquez ici.
Accueil
 chercher             Plan du site             Info (English version) 
L'histoire de XML s'écrit en ce moment même. XMLfr vous aide à la suivre et à en dégager les tendances.Les listes de discussions XMLfr sont à votre disposition pour réagir sur nos articles ou simplement poser une question.Si vous ètes passionnée(e) par XML, pourquoi ne pas en faire votre métier ?XMLfr n'est heureusement pas le seul site où l'on parle de XML. Découvrez les autres grâce à XMLfr et à l'ODP.Les partenaires grâce auxquels XMLfr peut se développer.Pour tout savoir sur XMLfr.XMLfr sans fil, c'est possible !Pour ceux qui veulent vraiment en savoir plus sur XML.L'index du site.
 Commentaires et questions non techniques.Commentaires et questions techniques.

 
Cliquez ici.

xml tech : Technologies XML

[xml-tech] RE : RE : RE : Problème génération JSP à partir XML+XSLT

[xml-tech] RE : RE : RE : Problème génération JSP à partir XML+XSLT

Auteur: Erik Mazoyer <Erik.Mazoyer@hyperoffice.fr>
Date: 15/09/2006 - 15:38

En fait il faut faire un choix.

Soit on utilise la génération XML mais le contenu produit doit être XML.
Ce qui interdit de placer des balises dans des balises.

Soit on produit la génération textuelle mais il faut alors tout écrire.

Quand vous écrivez
<html>
        <xsl:attribute name="lang">
                <xsl:value-of select="$lang" disable-output- escaping="yes" />
        </xsl:attribute>
</html>
Vous vous placez dans un cas XML. Vous indiquez que vous voulez écrire la BALISE <html> et qu'ensuite vous placez au sein de cette balise un attribut lang. Dans ce cas, l'attribut placé dans le balise <html> doit être correctement écrit. C'est-à-dire en XML sans '<' '>' et '"' et en HTML sans '"' qui est le délimiteur de la valeur de l'attribut.

En texte vous devez écrire (non testé)
<![CDATA[<html lang="]]><xsl:value-of select="$lang" disable-output- escaping="yes" /><![CDATA[">]]> ... <![CDATA[</html>]]>

C'est très rude comme méthode car il n'y a plus de vérification de syntaxe.
Mais le problème est que ce que vous voulez produire n'est ni du XML, ni du HTML !

Cordialement,

--------------------------------------------------------------------
Erik Mazoyer, Chef de projet
HyperOffice
6, rue Jacques Daguerre - 92565 Rueil-Malmaison Cedex
Tél. 01 41 96 96 76
Fax 01 41 96 96 77
Mél erik.mazoyer@hyperoffice.fr

-----Message d'origine-----
De : Cronier Jean-Yves [mailto:jcronier@vsc-technologies.com]
Envoyé : vendredi 15 septembre 2006 17:07
À : xml-tech@xmlfr.org
Objet : [xml-tech] RE : RE : Problème génération JSP à partir XML+XSLT

Je viens de faire un teste en mettant method="html" ce qui me donne :

<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" xmlns="http://www.w3.org/1999/xhtml" xmlns:c="http://java.sun.com/jstl/core" version="1.2">
  <c:set value="${sessionScope.CONTEXT}" var="CONTEXT"/>
  <html lang="<c:out value=&quot;${CONTEXT.language}&quot; />"><c:out value="${CONTEXT.language}" /></html> </jsp:root>

C'est presque ça, mais il reste quand même les quotes qui sont escapées...

Je vais plutôt rester sur method="text" et voir ce qui cloche ...

Si quelqu'un a la solution avant moi ... je suis preneur :-)

 

> -----Message d'origine-----
> De : xml-tech-bounce@xmlfr.org [mailto:xml-tech-bounce@xmlfr.org] De
> la part de Erik Mazoyer Envoyé : vendredi 15 septembre 2006 16:20
> À : xml-tech@xmlfr.org
> Objet : [xml-tech] RE : Problème génération JSP à partir XML+XSLT
>
> > Question : Pourquoi les caractères dans l'attribut lang de la balise
> HTML sont escapés alors qu'en dehors de l'attribut, tout est OK.
>
> Car la ligne
> <html lang="<c:out value="${CONTEXT.language}" />"><c:out
> value="${CONTEXT.language}" /></html> est invalide d'un point de vue
> XML. Le parseur XML détecte une début de balise "<html" puis un second
> début de balise "<c:out" sans avoir fini la premiere.
> Ce n'est pas un XML bien formé.
>
> Par contre <html lang="&lt;c:out value=&quot;${CONTEXT.language}&quot;
> /&gt;"><c:out value="${CONTEXT.language}" /></html> est parfaitement
> correct, du moins d'un point de vue XML.
>
> En fait ce que vous produisez n'est pas du XML, il vous faut donc
> indiquer que c'est du texte produit par la xslt et non du XML. Pour
> cela vous devez placer l'attribut method="text" dans le balise
> <xsl:output...>
>
> <xsl:output method="text" indent="yes"
> cdata-section-elements="script"/>
>
>
> Cordialement,
>
> --------------------------------------------------------------------
> Erik Mazoyer, Chef de projet
> HyperOffice
> 6, rue Jacques Daguerre - 92565 Rueil-Malmaison Cedex
> Tél. 01 41 96 96 76
> Fax 01 41 96 96 77
> Mél erik.mazoyer@hyperoffice.fr
>
> -----Message d'origine-----
> De : Cronier Jean-Yves [mailto:jcronier@vsc-technologies.com]
> Envoyé : vendredi 15 septembre 2006 16:09
> À : xml-tech@xmlfr.org
> Objet : [xml-tech] Problème génération JSP à partir XML+XSLT
>
>
> Bonjour,
>
> Voici mon problème :
>
> Fichier XML :
>
> <document xmlns="http://www.test.com/ui">
> </document>
>
> Fichier XSL :
>
> <?xml version="1.0"?>
> <xsl:stylesheet version="1.0"
> xmlns="http://www.w3.org/1999/xhtml"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> xmlns:ui="http://www.test.com/ui"
> exclude-result-prefixes="xsl">
> <xsl:output indent="yes" cdata-section-elements="script"/>
> <xsl:template match="ui:document">
> <jsp:root version="1.2"
> xmlns:jsp="http://java.sun.com/JSP/Page"
> xmlns:c="http://java.sun.com/jstl/core">
> <c:set var="CONTEXT" value="${{sessionScope.CONTEXT}}"
> />
> <xsl:variable name="lang"><xsl:text disable-output-
> escaping="yes"><![CDATA[<c:out value="${CONTEXT.language}"
> />]]></xsl:text></xsl:variable>
>
> <html>
> <xsl:attribute name="lang">
> <xsl:value-of select="$lang" disable-output- escaping="yes" />
> </xsl:attribute>
> <xsl:value-of select="$lang" disable-output- escaping="yes" />
> </html>
> </jsp:root>
> </xsl:template>
> </xsl:stylesheet>
>
> Ce qui me génère :
>
> <?xml version="1.0" encoding="UTF-8"?>
> <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
> xmlns="http://www.w3.org/1999/xhtml"
> xmlns:c="http://java.sun.com/jstl/core" version="1.2">
> <c:set value="${sessionScope.CONTEXT}" var="CONTEXT"/>
> <html lang="&lt;c:out value=&quot;${CONTEXT.language}&quot;
> /&gt;"><c:out value="${CONTEXT.language}" /></html> </jsp:root>
>
>
>
> Question : Pourquoi les caractères dans l'attribut lang de la balise
> HTML sont escapés alors qu'en dehors de l'attribut, tout est OK.
>
> Ce que j'aimerai obtenir :
>
> <?xml version="1.0" encoding="UTF-8"?>
> <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
> xmlns="http://www.w3.org/1999/xhtml"
> xmlns:c="http://java.sun.com/jstl/core" version="1.2">
> <c:set value="${sessionScope.CONTEXT}" var="CONTEXT"/>
> <html lang="<c:out value="${CONTEXT.language}" />"><c:out
> value="${CONTEXT.language}" /></html> </jsp:root>
>
>
>
>
> Merci d'avance si vous avez des pistes à me donner.
>
> --
> Devenez redacteur <XML>fr et contribuez au developpement du xml
> francophone (http://xmlfr.org/infos/redacteurs/) !
>
> Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
>
> Cette liste est a votre disposition pour discuter en francais de tout
> sujet technique lie a XML.
>
> Pour resilier votre abonnement, envoyez un message contenant la
> commande "unsubscribe" a xml-tech-request@xmlfr.org
> (mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
>
>
>
> --
> Devenez redacteur <XML>fr et contribuez au developpement du xml
> francophone (http://xmlfr.org/infos/redacteurs/) !
>
> Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
>
> Cette liste est a votre disposition pour discuter en francais de tout
> sujet technique lie a XML.
>
> Pour resilier votre abonnement, envoyez un message contenant la
> commande "unsubscribe" a xml-tech-request@xmlfr.org
> (mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)

--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de 
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant 
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de 
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant 
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Received on Fri Sep 15 17:38:53 2006

Archive générée par hypermail 2.1.8 le 27/09/2006 - 05:52 UTC

webmaster@xmlfr.org

 

xml tech

Discussions techniques au sujet de XML.

Cette liste est à votre disposition pour discuter en français de tout sujet technique lié à XML.



Devenez rédacteur <XML>fr et contribuez au développement du xml francophone !
Les documents publiés sur ce site le sont sous licence "Open Content"
Conception graphique
  l.henriot@online.fr  

Conception, réalisation et hébergement