4

CSS3 名前空間の使用を希望するクライアントがいます。ただし、私が見つけたものはすべて、HTML ではなく XML のスタイリングに特に使用されていることを示しています。CSS/HTML での使用を検証したり、これを行う方法を明確にしたりできる人はいますか? この方法に従うことのマイナス面は何ですか?

@namespace toto "http://toto.example.org";

toto|Product {
    display:block;
}

toto|Code {
    color: black
}

http://www.w3.org/TR/css3-namespace/

http://onwebdev.blogspot.com/2010/04/css3-namespace-selectors.html

4

3 に答える 3

4

CSS/HTML での使用を検証したり、これを行う方法を明確にしたりできる人はいますか?

http://www.w3.org/1999/xhtml主要なブラウザは、HTML であっても XHTML の名前空間であるデフォルトの名前空間を使用して、ビジネスに取り組んでいます。ただし技術的には、HTML は XML ではないため、SVG や MathML などの XML ベースの言語をとにかく HTML 内に埋め込むことができると考えない限り、これは意味がありません。

クライアントが CSS 名前空間を利用したい場合、CSS と互換性のあるある種の名前空間メカニズムを持つ言語で書かれたものを提供する必要があるでしょう。この知識を HTML 自体に適用しようとしても意味がありません。

  • HTML は、そもそも名前空間を設定するように正確に設計されていませんでした
  • ブラウザーは、明示的にアクセスできない (X)HTML ドキュメントにデフォルトの名前空間を既に割り当てています。

詳細については、この回答を参照してください。

質問のタイトルに答えるために、ドキュメントの言語は必ずしも XML ベースである必要はありません

この仕様で導入された用語に加えて、CSS 名前空間では XML 1.0 の名前空間で定義された用語を使用します。ただし、ここで定義されている構文は、XML 要素と属性の名前を表すことに限定されず、ホスト言語で定義されている他の種類の名前空間を表す場合があります。

CSS 名前空間の仕様では、便宜上、 XML 名前空間から用語を借用しています。これは、CSS が HTML および XML ドキュメントに最も一般的に適用されるためです (それでも、後者では XSL(T) を使用する人が増えています)。

于 2012-12-02T19:22:20.307 に答える
2

CSS 名前空間は、CSS ルールを論理的にグループ化すること (C++ と C# の名前空間のようなもの) ではなく、特定のホスト言語 (この場合は、XML 名前空間を持つ XML ドキュメント) の名前空間を持つ要素に適用されるルールを適用することですが、仕様言語に依存しないため、JSON (誰かが名前空間を発明した場合) または他の構造化言語 ( http://www.w3.org/TR/css3-namespace/ ) で動作します。

2.1. 用語

[..] ただし、ここで定義されている構文は、XML 要素と属性名を表すことに限定されず、ホスト言語で定義されている他の種類の名前空間を表す場合があります。

于 2012-11-30T19:59:59.777 に答える