CSS2 のセレクタについてちょっと調べてみたんですが、思ったより柔軟&強力。
下のサンプルは Safari 2.0 / Firefix 1.5 では期待通りにレンダリングされます。
まだフルサポートするブラウザが少ないけど IE7/Opera9 が普及したら積極的に使いたいですね。
(Safari からの投稿なので xml:lang のコロンの前のバックスラッシュが文字化けしています*1)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>CSS2 セレクタのテスト</title>
<style type="text/css">
body {margin:0;background:gray;color:black}
div.a[name="main"][xml?:lang|="ja"].b {background:black;color:orange;font:bold 24pt/200% serif}
div#main > p {margin:0;text-indent:1em}
</style>
</head>
<body>
<div id="main" name="main" class="a b" xml:lang="ja-JP">
<p>CSS2 セレクタのテスト</p>
</div>
</body>
</html>