4

<a.b></a.b>や などのタグを含む XML ドキュメントのスタイルを設定しています<b:c></b:c>。もちろん、次のようなCSSルールを書くと

a.b {
} 

b:c {
}

これらの文字はそれぞれクラスと疑似クラスとして解釈されるため、機能しません。これらのタグ名を CSS で参照する方法はありますか? ( XSLは使いたくない…)

4

1 に答える 1

5

前述のように、.タグ名に a を含む要素を参照するには、単純にエスケープできます。

a\.b

しかし、XML では名前空間区切りとして特別な意味を持つため、要素については同じことは言えません。これは、あなたが持っている要素が実際には名前空間の要素であり、という要素ではないことを意味します。1b:c:cb b:c

とはいえ、その要素を選択する正しい方法は 2 つあります。まず、前述したように、要素はではcなく実際に呼び出されるためb:c、次のように簡単に使用できます。

c

名前空間の衝突の場合の 2 番目の方法は、最初に XML ドキュメント内の名前空間に対応するbスタイルシートを使用して、スタイルシートの先頭で名前空間を宣言することです (ドキュメントのどこかに名前空間参照があるはずです。そうでない場合は無効になります)。 ):@namespacexmlns:b

/* Whichever URL corresponds to xmlns:b in your XML document */
@namespace b 'http://ns.example.com/b';

次に、名前空間プレフィックスを使用して要素を選択します。

b|c

1 ここで話しているのは XML であり、HTML や:特別な意味を持たない任意のマークアップ言語ではないことを思い出してください。

于 2013-04-06T10:13:34.583 に答える