És important la informació dels comentaris.
Donat un element e amb un atribut att del namespace ns:
<e ns:att="valor">lorem ipsum</e>
Caldrà fer un selector d'atribut escapant els dos punts (:)
e[ns\\:att="value"] {propietats}
Un cas prà ctic:
*[xml\\:lang="en"] {font-style: italic;}
Comentaris
Comentat per Federico el 20/05/06
No es por llevarte la contra, pero ¿tendrás algun navegador en que eso funcione? Aun sÃn la barra, falla en Opera 9 y en Firefox 1.5.
Ojo que la sección Attribute selectors and namespaces de CSS3 si está implementada, en la medida que uses un namespace diferente de xml.
[foo|att]funciona en los dos anteriores (siempre que hayas definido la URL defoo). Pero, por otro lado,[xml|lang], no funciona.Comentat per are el 20/05/06
Les proves les vaig fer amb un Firefox 1.5.0.3 i un Opera 9b2 sobre Windows.
L'error (meu) ha estat no provar-ho a fons. Ara ho he estat provant des de Firefox 1.5.0.3, Opera 8.5, Opera 9b2 i Safari 2.0.3 i la conclusió és:
La forma
[xml\:lang]només funciona quan el document es serveix com atext/htmlen: Firefox 1.5.0.3, Opera 9b2 i Safari 2.0.3L'Opera 8.5 no reacciona.
Quan s'usa el mime type
application/xml+xhtmlla forma citada no funciona tal i com assenyales però en canvi sà que funciona la forma[foo|att]en Firefox 1.5.0.3, Opera 9b2 i Safari 2.0.3.Quan s'especifica el namespace de l'xml (
@namespace xml "http://www.example.com";) cap navegador reacciona però si no s'especifica tant el Firefox 1.5.0.3 com el Safari 2.0.3 sà que entenen el selector. (Potser perquè és un namespace reservat?).Per últim, si s'utilitza el selector
*:lang(en)amb el mime typeapplication/xml+xhtmlfunciona amb Firefox 1.5.0.3 i Opera 9b2.Amb el mime type
text/htmlno funciona amb cap navegador.Comentat per Federico el 20/05/06
Justo el traductor de catalá no funciona en estos momentos, asà que ignoraré un par de parrafos.
Sobre
text/html, era esperable que no funcionara pero hasta ahà —aunque el concepto de namespaces no exista en HTML,xml:langno deja de ser un atributo… habrÃa que ver el DOM que genera cada navegador.xmles una palabra reservada. Fijate el error que tiró Firefox: XML Parsing Error: reserved prefix (xml) must not be undeclared or bound to another namespace URI. Parece que CSS es otro mundo y podés usarxml(la palabra clave) sin restricciones.¿Me parece o al final es imposible seleccionar un elemento marcado (en el código XML) con
xml:lang? Fuera del selector:lang(), digo.Comentat per are el 20/05/06
Doncs de moment això sembla :S ...a no ser que combinis
:lang()i[xml|lang]per cobrir Firefox, Opera i Safari.