Inclusion SVG dans une page XHTML

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
Répondre
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Inclusion SVG dans une page XHTML

Message par calimo »

Suite à cette discussion je me lance dans la fabrication d'une page "démo" de XHTML avec plein de choses dedans !
Donc je fais une page xhtml, j'y mets du MathML... parfait ça marche ! Je rajoute du SVG et... ben ça marche pas évidemment vu que j'utilise la 1.0.3 :roll: Je prend donc une nightly pas trop vieille (elle doit dater du week-end dernier), et... je suis déçu :cry:
  1. Ça ne valide pas (pourtant j'ai bien un doctype avec SVG 1.1, et un namespace qui me semble ok)
  2. Et en plus il y a un énoooorme espace en dessous de la figure.
Quelqu'un a une idée de ce qui peut provoquer cette catastrophe ? :(
Bobe
Iguane
Messages : 742
Inscription : 28 juil. 2003, 21:29

Re: Inclusion SVG dans une page XHTML

Message par Bobe »

calimo a écrit : Et en plus il y a un énoooorme espace en dessous de la figure.

Quelqu'un a une idée de ce qui peut provoquer cette catastrophe ? :(
Je ne sais pas mais ça fait pareil sous Opera 8.0
« La vie d’un geek est un combat perpétuel contre l’imperfection »
PsyDk
Lézard à collerette
Messages : 317
Inscription : 23 sept. 2003, 09:41

Message par PsyDk »

Ça valide en préfixant le nom des éléments par le nom du namespace svg. L'attribut xmlns quant à lui posait problème aussi.

Code : Tout sélectionner

<svg:svg>
		<svg:g fill-opacity="0.7" stroke="black" stroke-width="0.1cm">
			<svg:circle cx="6cm" cy="2cm" r="100" fill="red" transform="translate(0,50)" />
			<svg:circle cx="6cm" cy="2cm" r="100" fill="blue" transform="translate(70,150)"/>
			<svg:circle cx="6cm" cy="2cm" r="100" fill="green" transform="translate(-70,150)"/>
		</svg:g>
	</svg:svg>
Concernant les raisons j'ai quelques idées mais rien de très solide pour l'instant. Je suis preneur pour une explication.
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

C'est quand-même bizarre que ça marche pour le MathML mais pas pour le SVG... pourtant avec le même doctype :shock:

Et surtout je ne vois pas la raison... c'est parfaitement valide de mettre

Code : Tout sélectionner

	<svg xmlns="http://www.w3.org/2000/svg">
		<g fill-opacity="0.7" stroke="black" stroke-width="0.1cm">
			<circle cx="6cm" cy="2cm" r="100" fill="red" transform="translate(0,50)" />
			<circle cx="6cm" cy="2cm" r="100" fill="blue" transform="translate(70,150)"/>
			<circle cx="6cm" cy="2cm" r="100" fill="green" transform="translate(-70,150)"/>
		</g>
	</svg>
Je me trompe ?
(Du moins d'un point de vue syntaxe XML...)
golemboy
Gecko
Messages : 52
Inscription : 18 nov. 2003, 12:50

Message par golemboy »

Bonjour,
il ya aussi un problème dans tes styles Modernes au niveau du menu
au passage de la souris, les sous menus s'affichent dans le menu. Il ya un problème aussi avec la licence CC qui empiete sur ton contenu
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Le sujet a été discuté sur le forum d'alsacréations. Il en ressort que si on ne peut pas utiliser la syntaxe

Code : Tout sélectionner

 <svg xmlns="http://www.w3.org/2000/svg">
      <g fill-opacity="0.7" stroke="black" stroke-width="0.1cm">
         <circle cx="6cm" cy="2cm" r="100" fill="red" transform="translate(0,50)" />
         <circle cx="6cm" cy="2cm" r="100" fill="blue" transform="translate(70,150)"/>
         <circle cx="6cm" cy="2cm" r="100" fill="green" transform="translate(-70,150)"/>
      </g>
   </svg>
c'est tout simplement en raison d'une limitation de la syntaxe des DOCTYPES qui ne permettent pas de gérer une collision de noms avec le SVG... :? :roll:

Donc... supprimons le doctype ! C'est tout à fait correct d'un point de vue XML. Mais... du coup les entités non numériques ne sont plus définies :? Et ça on peut pas le faire par les namespaces...
J'ai donc (toujours sur la même page) quand-même rajouté un doctype juste pour les entités qui ne dit rien des balises autorisées, juste les entités... eh ben ça ne marche pas (toujours sur la même page). Quelqu'un saurait me dire pourquoi ?

J'en ai profité pour mettre à jour la page XHTML. :wink:
cemoi
Lézard à collerette
Messages : 484
Inscription : 18 juil. 2004, 11:48

Message par cemoi »

j'ai testé avec ie d'ici il crois que c'est un liens pour télécharger la page xhtml!
mon ff dois etre trop vieux (10.01) je vois pas l'image svg...

en tous les cas waooouu! Moi qui cherche à ecrire des formules mathématique sur le net bé voila! La combinaison svg/xhtml m'interesse pas mal mais sacrément gérer...

Au passage j'ai déja tenté de me servire du svg et à chaque fois ça été laborieu et peu convaincant... faut dire que je ne fait que bricoler moi in :lol: j'apprends tout sur le tas. Pour faire un site graphiqe svg est tres interesent encore faut t il que ça marche...illustrator gere le svg ;)

Beau travail et bonne continuation ;o)
Pc/ 2Ghz/ the gimp/ inkscap/ blender/yafray/kpov modeler/k3d/ qcad 2.01/ scribus/ open office/nvu/quanta+/ ff/ TB/
Os sur rack: debian Etch -Ubuntu
[Linux 2.6.24-19-generic ]
Voilaaa :p Et merci d'avance pour ceux qui tiennent ce forum: chapeau bas!
bobo
Iguane
Messages : 764
Inscription : 18 août 2003, 11:04

Message par bobo »

Le chargement des fichiers externes dans la section DOCTYPE est interdite pour les fichiers du web, il me semble.
Les standards c'est bon, mangez en !
Flore & Sébastien
Unité dans la diversité.
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

cemoi a écrit :j'ai testé avec ie d'ici il crois que c'est un liens pour télécharger la page xhtml!
Est-il encore utile de rappeler que IE ne supporte pas le XHTML ?
cemoi a écrit :mon ff dois etre trop vieux (10.01) je vois pas l'image svg...
10.01 ? :shock: Tu as au moins 10 ans d'avance !
Cela dit si tu parles de la 1.0.1 effectivement, il y a des failles corrigées, on en est à la 1.0.4 ça vaut la peine d'avoir toujours un navigateur à jour ;-)

Cela dit le SVG c'est pour la 1.1. Tu peux déjà le voir dans Opera (pas le MathML). Le SVG est activé dans les nightlies de la 1.1 mais il faut encore l'activer avec une pref cachée ;-)
cemoi a écrit :Au passage j'ai déja tenté de me servire du svg et à chaque fois ça été laborieu et peu convaincant... faut dire que je ne fait que bricoler moi in :lol: j'apprends tout sur le tas. Pour faire un site graphiqe svg est tres interesent encore faut t il que ça marche...illustrator gere le svg ;)
Dans ce cas c'est 3 ronds touts bêtes :oops:
Pour le générer il y a des logiciels libres comme Sodipodi ou Inkscape :wink:
bobo a écrit :Le chargement des fichiers externes dans la section DOCTYPE est interdite pour les fichiers du web, il me semble.
Oh non ! C'est donc impossible ? :shock:
C'est vraiment nul si c'est ça. Il y a une raison ?
Bobe
Iguane
Messages : 742
Inscription : 28 juil. 2003, 21:29

Message par Bobe »

calimo a écrit : Le SVG est activé dans les nightlies de la 1.1 mais il faut encore l'activer avec une pref cachée ;-)
C'est ok chez moi sans avoir de préférence à modifier (Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8b2) Gecko/20050517 Firefox/1.0+). :?
calimo a écrit :
bobo a écrit :Le chargement des fichiers externes dans la section DOCTYPE est interdite pour les fichiers du web, il me semble.
Oh non ! C'est donc impossible ? :shock:
C'est vraiment nul si c'est ça. Il y a une raison ?
Au pire, tu récupères les fichiers *.ent qui définissent les entités dont tu as besoin et tu les met sur le même domaine que la page elle-même.
« La vie d’un geek est un combat perpétuel contre l’imperfection »
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Bon, j'ai donc mis ce doctype

Code : Tout sélectionner

<!DOCTYPE html SYSTEM "http://cui.unige.ch/~robin0/dtd/entites.dtd">
avec la dtd :

Code : Tout sélectionner

<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
<!ENTITY svg "http://www.w3.org/2000/svg">
<!ENTITY % HTMLlat1 PUBLIC
   "-//W3C//ENTITIES Latin1//EN//HTML"
   "HTMLlat1.ent">
%HTMLlat1;

<!ENTITY % HTMLsymbol PUBLIC
   "-//W3C//ENTITIES Symbols//EN//HTML"
   "HTMLsymbol.ent">
%HTMLsymbol;

<!ENTITY % HTMLspecial PUBLIC
   "-//W3C//ENTITIES Special//EN//HTML"
   "HTMLspecial.ent">
%HTMLspecial;
et les fichiers .ent au même endroit. Ça ne marche pas :(

J'ai donc copié simplement le contenu des 3 fichiers dans la dtd elle-même... et ça marche pas non plus (c'est l'exemple en cours...)
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité