Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

CDATA et css dans un fichier (x)html ?

8 réponses
Avatar
Une Bévue
si j'entoure les styles css dans mon fichier par :
<style type="text/css" media="screen">
<![CDATA[

... les styles ...

]]>
</style>(à l'origine, il y avait "juste" <!-- ... les styles ... -->

il n'y a qu'une *seule* directive qui n'est pas interprétée :
background-image: url("/global/index/background.jpg");
ou :
background-image: url(/global/index/background.jpg);

qu'elqu'un connait une règle à ce sujet.

nb : pour le js, j'encadre par <![CDATA[ ... ]]>.
et ça roule.
--
L'homme est imparfait, mais ce n'est pas étonnant
quand on pense à l'époque où il a été créé.
— Alphonse Allais

8 réponses

Avatar
SAM
Le 05/12/12 22:04, Une Bévue a écrit :
si j'entoure les styles css dans mon fichier par :
<style type="text/css" media="screen">
<![CDATA[



faut-il absolument vraiment toujours ces artifices ?

les faut-il pour les balises placées dans le head ?

faut-il utiliser ces artifices pour les styles ?

néanmoins ... si ...
alors on mettrait :

< style type = "text/css" >
/* <![CDATA[*/
body { background-image: url("/global/index/background.jpg") }
/*]]> */
< / style >

mais ... ça n'augure pas de :
- la racine(*) du site (pour les CSS)
- le bon intitulé du chemin

<http://en.wikipedia.org/wiki/CDATA>
<http://ljouanneau.com/blog/post/2004/04/06/262-la-section-cdata-en-xml>



(*) racine du site :
sera-ce : /
ou : /mon_site/
???

--
Stéphane Moriaux avec/with iMac-intel
Avatar
Une Bévue
Le 06/12/2012 12:06, SAM a écrit :

faut-il utiliser ces artifices pour les styles ?

néanmoins ... si ...
alors on mettrait :



ben, sur la page d'origine (c'est du X3Dom avec du X3D dedans) il y
avait <!-- --> entourant les styles css. En fait le fichier a un
doctype xhtml mais une extension html.
Le fichier vient d'un téléchargement, ce n'est pas moi qui l'ai pondu,
je ne fais qu'essayer de reproduire sur mes deux bécannes (ubuntu et mac
os) ce que j'ai pu voir sur le net.
concernant <![CDATA[ ... ]]> c'est ce que je fais dans du xml *pur* là
il s'agit d'une "soupe" xml avalée par un butineur...

< style type = "text/css" >
/* <![CDATA[*/
body { background-image: url("/global/index/background.jpg") }
/*]]> */
< / style >



ah c'est une idée je n'ai pas essayé ça, cette solution a l'aventage de
ne pas être (est-ce sûr ?) butineur dépendant, mais est-ce que ça
préserve les <![CDATA[ ... ]]>, pas sûr car les /* */ ne signifient
rien de spécial en xml, c'est du texte.


mais ... ça n'augure pas de :
- la racine(*) du site (pour les CSS)
- le bon intitulé du chemin

<http://en.wikipedia.org/wiki/CDATA>
<http://ljouanneau.com/blog/post/2004/04/06/262-la-section-cdata-en-xml>



bon, en fait contrairement à ce que j'ai écrit dans mon post initial, le
js ne marche pas avec les CDATA.

--
L'homme est imparfait, mais ce n'est pas étonnant
quand on pense à l'époque où il a été créé.
— Alphonse Allais
Avatar
SAM
Le 06/12/12 18:32, Une Bévue a écrit :

bon, en fait contrairement à ce que j'ai écrit dans mon post initial, le
js ne marche pas avec les CDATA.



Moi, de ce que j'ai cru comprendre on ne met des CDATA que si
- c'est du Xhtml
- et le script est dans le body
(inutile dans le head qque soit le doctype)

... à confirmer ...

en JS, tenter :

// <![CDATA[
...
// ]]>


au pire, en JS, dans les chaînes de caractères on y échappe les '<'
(comme à l'habitude)
non ?
--
Stéphane Moriaux avec/with iMac-intel
Avatar
Une Bévue
Le 07/12/2012 04:04, SAM a écrit :
- et le script est dans le body
(inutile dans le head qque soit le doctype)


pourquoi "inutile" dans le head, perso je trouve "plus propre" de mettre
le js dans le head et réserver le body à la présentation.
ceci dit des tas de sites font autrement, mettents des scripts nombreux
dans le body.

--
L'homme est imparfait, mais ce n'est pas étonnant
quand on pense à l'époque où il a été créé.
— Alphonse Allais
Avatar
Une Bévue
Le 07/12/2012 04:04, SAM a écrit :

au pire, en JS, dans les chaînes de caractères on y échappe les '<'
(comme à l'habitude)
non ?


oui, oui.

ya pas vraiment de norme si je comprends bien de plus comme les
navigateurs sont "permissifs", mais pas tous de la même manière,
difficile de s'y retrouver.

--
L'homme est imparfait, mais ce n'est pas étonnant
quand on pense à l'époque où il a été créé.
— Alphonse Allais
Avatar
SAM
Le 07/12/12 10:29, Une Bévue a écrit :
Le 07/12/2012 04:04, SAM a écrit :
- et le script est dans le body
(inutile dans le head qque soit le doctype)


pourquoi "inutile" dans le head, perso je trouve "plus propre" de mettre
le js dans le head et réserver le body à la présentation.



Bien sûr.

Non je parle des trucs-machin-signes-de-commentaires ou de non
interprétation qui ne seraient, sous réserve de confirmation, pas à
mettre entre les balises script (et style ?) si ces balises script sont
dans le head

Je ne sais où chercher ces spécifications ...

(de ttes façons ça ne servirait à rien j'ai définitivement cessé
d'essayer de comprendre leur code de communication)

Voici ce qu'en disent les 3 WC : <http://www.w3.org/TR/xhtml1/#C_4>
"externaliser si dans le code des CSS ou JS on y emploie des caractères
prêtant à confusion (comme le '<' par exemple)"

En tous cas ils ne mettent pas de CDATA dans leur exemple de code (head) :
<http://www.w3.org/TR/xhtml1/#C_14>
ce qui semble "logique" puisque, normalement, dans le head il n'y a pas
d'élément à faire afficher

Je ne trouve pas que :
<http://www.w3.org/TR/2000/REC-xml-20001006#sec-cdata-sect>
nous aide beaucoup quant à l'emploi de CDATA dans SCRIPT
non plus qu'ici :
<http://www.w3.org/TR/2000/REC-xml-20001006#sec-cdata-sect>

ceci dit des tas de sites font autrement, mettent des scripts nombreux
dans le body.



toutafé !
à commencer par les gougueuleries !
:-(



Encore une fois :
le Xhtml c'est bien beau mais ça ne sert à rien de s'y conformer si
c'est "servi" en Html !!!
Mieux vaut alors s'en tenir au html.4

--
Stéphane Moriaux avec/with iMac-intel
Avatar
Paul Gaborit
À (at) Fri, 07 Dec 2012 11:52:24 +0100,
SAM écrivait (wrote):

Encore une fois :
le Xhtml c'est bien beau mais ça ne sert à rien de s'y conformer si
c'est "servi" en Html !!!
Mieux vaut alors s'en tenir au html.4



Faut-il aussi rappeler que le XHTML est *officiellement* abandonné
depuis presque 3 ans ?

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Avatar
Une Bévue
Le 07/12/2012 13:35, Paul Gaborit a écrit :
Faut-il aussi rappeler que le XHTML est*officiellement* abandonné
depuis presque 3 ans ?



oui, je ne savais pour les "3 ans" mais en fait là je parle de pages
téléchargées du net (X3Dom) qui, d'après le doctype sont en xhtml. le
nom du fichier, online se termine d'ailleurs par .xhtml.html (double
extension), donc du xhtml servi en html.
Lequel html inclus du x3D c'est à dire du pur xml.
raison de ma question à propos de CDATA.

en réalité je cherche à comprendre pourquoi ça roule online et pas chez moi.

je finirai bien par trouver.

--
L'homme est imparfait, mais ce n'est pas étonnant
quand on pense à l'époque où il a été créé.
— Alphonse Allais