SVG などの XML ベースの言語で HTML を使用する場合のベスト プラクティスは何ですか?
質問
このサイトやその他の場所を閲覧した結果、現在 Web サイトは XHTML として提供されていることがわかりました。 有害であると考えられています.
XHTML を配信し、それを提供する application/xhtml+xml
現在閲覧している大多数の人にはサポートされておらず、xhtml は次のように配信されています。 text/html
これはよく言えば自分にとってのプラシーボであり、最悪の場合、サイトを破壊する必要がないときにサイトを破壊するためのレシピです。
したがって、最終的には html 4.01 に戻ります。ページを HTML 4.01 として提供する場合、そのページで SVG またはその他の XML ベースの言語を使用することはできますか?
もしそうなら、どのようにして?
解決
HTML では、SVG を直接挿入することはできません。
SVG ファイルを埋め込むことができます <object>
/<embed>
最先端のブラウザ (Opera、Safari) にも対応 <img>
とCSS background-image
.
SVGを入れることもできます data:
外部ファイルの使用を避けるための URI。
Unicode と基本的な HTML/CSS (Opera 9.5) を使用して、単純な数式を作成できます。 CSS 経由で MathML の大部分をサポート)。さらに複雑な場合は、Wikipedia のように画像を使用する必要があります。
HTML は名前空間プレフィックスを誤って解釈するため、HTML DOM で他の XML マークアップを (適切に) 使用することができなくなります。HTML5には data-*
アプリケーション固有のマークアップを追加するための属性。メタデータについては、Microformats を検討してください。
ただし、ブラウザ以外 (ロボット) のみに XML を埋め込みたい場合は、HTML 互換の XHTML サブセットと HTTP コンテンツ ネゴシエーションを使用して、適切な型を持つ適切な XML を、それを理解できるクライアントに送信できます (もし XML モードと HTML モードの両方でページを徹底的にテストすれば、有害なものにはなりません)。
他のヒント
埋め込みオブジェクトを使用して、それに応じて入力することもできます (私はこれを自分で試したことはありません)。