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í

Nativní rich-text styly · Nativní form-data interchange