2017-07-18 1 views
1

Doit-on utiliser SVG foreignObject uniquement avec XML? Cela semble être ma lecture de la spécification, donc est-il nécessaire de mettre XHTML à l'intérieur, si je souhaite utiliser foreignObject? Ou puis-je simplement copier mon code HTML habituel?Est-ce que SVG foreignObject peut être HTML5

+0

@Kaiido Je craignais que le HTML5 ne dispose pas d'un espace de noms, car il est techniquement pas XML, peut-être l'analyseur XML peut être utilisé et étouffer ou quelque chose – irisjay

Répondre

2

Le contenu de tout document doit refléter le type mime auquel il est appliqué.

  • Si vous servez le document image/svg + xml alors le document en entier doit être XML valide, y compris les éléments enfants foreignObject qui vous limite essentiellement à XHTML. XML échoue en cas d'erreur, donc si vous collez du code HTML, vous aurez probablement une erreur de syntaxe imprimée par rapport à tout rendu. Si vous servez le document en tant que text/html, le document entier est du code HTML et tout fichier SVG sera analysé avec un analyseur HTML, aucun espace de noms requis, etc. Tous les éléments foreignObject d'un tel fichier SVG seront analysés comme s'ils étaient HTML standard. HTML tente de rendre ce qu'il peut des documents invalides.

+0

j'ai trouvé ce que il y a un certain temps https: // developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Drawing_DOM_objects_into_a_canvas. Dans la section "Dessin HTML", il semble indiquer que le contenu doit en fait être valide XML? (J'ai déjà résolu mon problème original, donc c'est juste pour la curiosité intellectuelle) – irisjay

+1

Cet article fait le chemin du premier point de ma réponse. –