ist eine vom W3C vorgestellte Empfehlung für den Zugriff durch CSS-Selektoren über den Namensraum (engl.: namespace) auf Elemente eines XML-Dokumentes.
CSS Level 3 (CSS3) wird von der CSS Working Group in eigenständigen Modulen entwickelt, um zukünftige Anforderungen schneller einarbeiten zu können. Dieses Modul beinhaltet die Regeln zum Benutzen eines Namensraums in CSS, um Elemente einer XML-Sprache eindeutig selektieren und eine Formatierung zuordnen zu können.
Um gleiche Bezeichner für Elemente unterschiedlicher XML-Sprachen unterscheiden zu können, wird jeweils ein Namensraum deklariert, dem eine eindeutige Präfix zugeordnet ist und in dem die Bezeichner der verwendeten XML-Elemente beschrieben sind. Beim Mischen verschiedener Dialekte kann über diese Präfix jedes Elemente identifiziert und selektiert werden. Die Spezifikation ist so geschrieben, dass andere diese benutzen können. Namensräume sind entweder vom W3C zur Verfügung gestellt (u. a. für XHTML, MathML und SVG) oder werden vom Entwickler des XML-Formates bereitgestellt.
Für den Zugriff auf CSS Namespaces muss am Anfang der betreffenden CSS-Datei eine @namespace
-Regel festgelegt werden, eventuell nach anderen vorhandenen @-Regeln (z. B. @import
). Ist eine @namespace
-Regel ungültig deklariert oder an einer falschen Stelle, wird sie ignoriert. Die allgemeine Form ist: @namespace [prefix] "namespace_URI"
Wird eine Regel ohne Präfix deklariert - z. B. für XHTML @namespace "http://www.w3.org/1999/xhtml"
-, so gilt dies als Basis für das Dokument. Elemente dieses Namensraumes werden ohne Präfix selektiert. Wird eine Präfix verwendet - z. B. für SVG @namespace svg "http://www.w3.org/2000/svg"
-, kann mit prefix|element
- z. B. svg|text
- auf ein Element dieses Namensraumes zugegriffen werden.
Die Unterstützung für CSS durch die modernen Browser ist sehr unterschiedlich (ᵅ). Teilweise werden Elemente aus CSS3 bereits unterstützt, während Elemente aus CSS2 noch fehlen.
W3C - Technical Reports
{CSS Namespaces Module
- http://www.w3.org/TR/css3-namespace/} (Rec)
{Namespaces in XML 1.0
- http://www.w3.org/TR/xml-names/} (Rec)
Weiterführende Links
{Cascading Style Sheets home page
- http://www.w3.org/Style/CSS/}
@ W3C
{Web Style Sheets home page
- http://www.w3.org/Style/}
@ W3C
(ᵅ) {Comparison of layout engines (Cascading Style Sheets)
- http://en.wikipedia.org/wiki/Comparison_of_layout_engines_%28CSS%29}
@ en.Wikipedia.org