SVG を HTML に埋め込むことは許可されています...
<!DOCTYPE html>
<html lang="en">
<head>
<title>Hmmm....</title>
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0" y="0" width="500px" height="100%">
<text>Hello cruel world!</text>
</svg>
</body>
</html>
...およびその逆:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0" y="0" width="500px" height="100%">
<foreignObject x="0" y="0" width="100%" height="100%">
<body xmlns="http://www.w3.org/1999/xhtml">
<h1>Goodbye cruel world...</h1>
</body>
</foreignObject>
</svg>
仕様には(23.2、3 番目の段落) (および引用します:)「SVG を SVG に XHTML に SVG に埋め込みたい場合は、問題ありません...」。うわー、DEEPだ!と思いました。そしてこれをしました:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Yeah!</title>
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0" y="0" width="500px" height="100%">
<foreignObject x="0" y="0" width="100%" height="100%">
<body class="svgbody" xmlns="http://www.w3.org/1999/xhtml">
<h1>And hello again!</h1>
</body>
</foreignObject>
</svg>
</body>
</html>
しかし、すべてのブラウザーは body タグを HTML5 body タグとマージします (HTML5 body タグは svgbody クラスを取得します)... これはフィドル( fullscreen ) です。インライン svg 内に body タグはありません。
理由がわかりません。助けていただければ幸いです。SVG を別のファイルに入れることで解決するかもしれませんが、それについては聞きたくありません。うまくいかないのはなぜですか?