我正在设计一个包含以下标签的 XML 文档<a.b></a.b>
or <b:c></b:c>
。现在当然如果我写这样的 CSS 规则
a.b {
}
b:c {
}
它不起作用,因为这些字符将分别被解释为类和伪类。有没有办法用 CSS 引用这些标签名称? (我不想使用XSL http://www.w3.org/Style/XSL/...)
如前所述,引用带有.
在它的标签名称中你可以简单地转义它:
a\.b
But the same can't be said for a b:c
element, because :
has a special meaning in XML, as a namespace separator. This means that the element you have is actually a c
element in the b
namespace http://www.w3.org/TR/xml-names, not an element called b:c
.1
也就是说,有两种正确的方法来选择该元素。首先,正如我提到的,该元素实际上被称为c
并不是b:c
,您可以简单地使用:
c
第二种方法,在命名空间冲突的情况下,首先声明b
样式表开头的命名空间使用@namespace http://www.w3.org/TR/css3-namespace与您的 XML 文档中的对应(应该有一个xmlns:b
文档中某处的命名空间引用,否则它将无效):
/* Whichever URL corresponds to xmlns:b in your XML document */
@namespace b 'http://ns.example.com/b';
然后使用一个命名空间前缀 http://www.w3.org/TR/selectors/#typenmsp选择元素:
b|c
1 Remember that we're talking about XML here, not HTML or any arbitrary markup language where :
holds no special meaning.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)