原生 rich text CSS 命名空間
內部 XHTML 樣式表透過既有的原生 rich text 解碼器支援 CSS 命名空間宣告以及限定名稱元素與屬性選擇器
<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 前綴獨立於 XML 前綴識別命名空間 URI,所以範例中的 review|status 能比對 meta:status,因為兩個前綴都解析到 urn:review
前綴名稱區分大小寫並接受一般 CSS 識別字跳脫;命名空間 URI 值接受帶引號字串以及帶引號或不帶引號的 url() 語法
不帶引號 url token 內的註解仍是字面 URI 字元;不帶引號 URI 周圍的空白不計入值
同一 style 元素內同一前綴以最後一條合法宣告為準;預設宣告單獨以最後一條為準,綁定不會洩漏到另一個 style 元素
宣告要放在樣式規則與已識別的非 import at 規則之前;被忽略的未知 at 規則不會關閉宣告區
限定名稱與預設命名空間
h|span 比對 h 所宣告 URI 中的本地名稱 span,*|span 接受任意命名空間,|span 要求無命名空間
h|* 比對所宣告 URI 中的任意元素名稱;解碼器繼續消費既有受支援的 XHTML 元素 profile
@namespace "urn:review"; 這樣的預設宣告會約束無限定名稱元素選擇器以及帶隱含萬用選擇器的一般複合選擇器
空的預設 URI 選取無命名空間的元素;字面 URI "*" 是一般 URI,與 *|span 中的萬用前綴不同
屬性選擇器支援已宣告前綴、萬用前綴與明確空前綴;無前綴屬性始終不屬於任何命名空間,與預設元素命名空間無關
XML 命名空間宣告不算一般屬性;命名空間解析跟隨屬性自身所在元素的作用域,並尊重局部前綴遮蔽,包含內建的 xml 前綴
函式型選擇器
:is()、:where() 與 :not() 內的主旨複合選擇器在沒有明確型別或萬用選擇器時省略預設命名空間約束
明確萬用選擇器保留該約束;更早的祖先複合選擇器、相對 :has() 引數與位置選擇器中的 of 過濾器保留一般命名空間比對
未宣告的 CSS 前綴使其選擇器失效;寬容的 is/where 清單可以保留其他合法分支,嚴格選擇器群組保留既有的整組失效規則
儲存輸出與資源限制
計算出的樣式經原生 Pascal、Windows 工作與 V1 callback 以及 Linux JSON 與 V1 callback,進入儲存的 RV 與真實 widget 外觀
既有的 important、specificity、來源順序與屬性繼承規則在命名空間比對之後照常適用
命名空間宣告儲存共用 MaxNodes,命名空間掃描共用 MaxTotalCodeUnits,繼承屬性命名空間查找按設有上限的比對與掃描工作量計費
取消與預算失敗保留先前解碼器輸出與已提交匯入狀態;呼叫端可用原始輸入與一般限制重試
外部樣式表、條件 media 規則、更多狀態偽類、明確作用域根、表格與通用 CSS 排版仍是進行中的工作