5568 sujets

Sémantique web et HTML

Bonjour à toutes et à tous

J'ai une page (ici simplifiée) en xhtml. Elle contient une zone graphique décrite en svg, dont le code est intégré "inline" dans la page. Pour faire bref un fond quadrille bleu (comme du papier), un logo, un titre. Voir ci dessous.

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="string; charset=UTF-8"/>
</head>
<body>
<div id="N034">
<svg  xmlns="http://www.w3.org/2000/svg" version="1.1"
 width="1024px" height="768px">
<defs>
<pattern id="fondQuadrille" patternUnits="userSpaceOnUse" width="25" height="25">
<rect x="0" y="0" width="25" height="25" stroke="#bbf" stroke-width="1" fill="none" />
</pattern>
</defs>
<rect x="0" y="0" width="1024" height="768" fill="url(#fondQuadrille)"/>
<image x="20" y="20" width="80" height="80" xlink:href="logo.png" />
<text font-size = "64" x="320" y="80">Ceci est le titre</text>
</svg>
</div>
</body>
</html>


J'obtiens, avec firefox, une erreur sur l'ouverture de la balise <image>. Il me dit "Erreur d'analyse XML : préfixe non lié à un espace de noms". Si j'enlève cette ligne <image> tout se passe bien.
J'ai cherché... pas compris. Ma balise image me semble bien construite. Le fichier "logo.png" est présent. Quelqu'un a une idée du problème ?
Modifié par JiPe38 (25 Apr 2013 - 19:43)
Bonjour c'est normal, il faut ajouter l'attribut xlink à ta balise svg, vu que l'image est liée :
<svg version="1.1" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
Merci bien, ça fonctionne. Ca doit figurer quelque part dans les specs du svg, mais j'ai pas cherché au bon endroit...