Native rich-text CSS namespaces
Interní styly XHTML podporují CSS deklarace namespace i kvalifikované selektory elementů a atributů přes stávající nativní rich-text dekodér
<body xmlns="http://www.w3.org/1999/xhtml" xmlns:meta="urn:review">
<style>
@namespace h "http://www.w3.org/1999/xhtml";
@namespace review "urn:review";
h|span[review|status="ready"] { color: #204080; font-weight: bold }
</style>
<p><span meta:status="ready">Approved</span></p>
</body>
CSS prefixy identifikují namespace URI nezávisle na XML prefixech, takže review|status v příkladu se trefí do meta:status, protože oba prefixy se rozřeší na urn:review
Názvy prefixů rozlišují velikost písmen a přijímají běžné CSS identifikátorové escapování; hodnoty namespace URI přijímají řetězce v uvozovkách i syntaxi url() v uvozovkách či bez nich
Komentáře uvnitř neuzavřeného url tokenu zůstávají literálními znaky URI; bílé znaky obklopující neuzavřené URI se z hodnoty vylučují
Poslední platná deklarace prefixu vyhrává v rámci svého style elementu; poslední default deklarace vyhrává nezávisle a bindingy se do jiného style elementu nenešou
Deklarace umísťujte před style pravidla i rozpoznané at-pravidla mimo import; neznámé ignorované at-pravidlo neuzavře deklarační region
Kvalifikované názvy a default namespace
h|span se trefí do lokálního názvu span v URI deklarovaném pro h, *|span přijme jakýkoli namespace a |span vyžaduje žádný namespace
h|* se trefí do libovolného názvu elementu v deklarovaném URI; dekodér dál konzumuje stávající podporovaný profil elementů XHTML
Default deklarace jako @namespace "urn:review"; omezí nekvalifikované elementové selektory i běžné kompozice s implicitním univerzálním selektorem
Prázdné default URI vybere elementy bez namespace; literální URI "*" je běžné URI a liší se od wildcard prefixu v *|span
Selektory atributů podporují deklarované prefixy, wildcard prefixy i explicitně prázdné prefixy; neprefixované atributy zůstávají bez namespace, bez ohledu na default namespace elementů
Deklarace XML namespace se jako běžné atributy nepočítají; rozřešení namespace řídí scope vlastního elementu atributu a respektuje lokální zastínění prefixů, tedy i vestavěný prefix xml
Funkční selektory
Subjektová kompozice uvnitř :is(), :where() a :not() vypustí omezení default namespace, když nemá explicitní typový či univerzální selektor
Explicitní univerzální selektor tu restrikci ponechá; dřívější rodičovské kompozice, relativní argumenty :has() i filtry of v pozičních selektorech si ponechávají běžné párování namespace
Nadeklarovaný CSS prefix zneplatní svůj selektor; shovívavé seznamy is/where mohou ponechat ostatní platné větve, zatímco přísné skupiny selektorů si ponechávají stávající pravidla zneplatnění celé skupiny
Uložený výstup a limity resource
Spočtené styly napájejí uložená RV i skutečná widget appearance přes nativní Pascal, Windows joby a V1 callbacky a Linux JSON a V1 callbacky
Stávající pravidla importance, specificity, pořadí zdrojů i dědění vlastností dál platí po párování namespace
Úložiště deklarací namespace sdílí MaxNodes, skenování namespace sdílí MaxTotalCodeUnits a vyhledávání namespace zděděných atributů účtuje ohraničenou párovací a skenovací práci
Selhání zrušení či rozpočtu zachovají předchozí dekodérový výstup i potvrzený importní stav; volající mohou zkusit znovu s původním vstupem a běžnými limity
Externí styly, podmíněná media pravidla, širší pseudo třídy state a scope, tabulky i obecný CSS layout zůstávají aktivní prací