Namespace-ы CSS нативного rich-текста

Внутренние XHTML-стилевые листы поддерживают объявления namespace CSS и квалифицированные селекторы элементов и атрибутов через существующий нативный rich-text-декодер

<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 идентифицируют URI namespace-ов независимо от XML-префиксов, поэтому review|status в примере совпадает с meta:status, потому что оба префикса разрешаются в urn:review

Имена префиксов чувствительны к регистру и принимают обычные экранирования идентификаторов CSS; значения URI namespace-ов принимают строки в кавычках и синтаксис url() в кавычках или без

Комментарии внутри незакавыченного токена url остаются литеральными символами URI; пробел вокруг незакавыченного URI исключается из значения

Последнее валидное объявление префикса выигрывает внутри своего style-элемента; последнее default-объявление выигрывает независимо, и привязки не просачиваются в другой style-элемент

Размещайте объявления перед стилевыми правилами и распознаваемыми at-правилами, не являющимися import; неизвестное игнорируемое at-правило не закрывает область объявлений

Квалифицированные имена и namespace-ы по умолчанию

h|span совпадает с локальным именем span в URI, объявленном для h, *|span принимает любой namespace, а |span требует отсутствия namespace

h|* совпадает с любым именем элемента в объявленном URI; декодер продолжает потреблять существующий профиль поддерживаемых XHTML-элементов

Default-объявление вроде @namespace "urn:review"; ограничивает неквалифицированные селекторы элементов и обычные соединения с неявным universal-селектором

Пустой default URI выбирает элементы без namespace; литеральный URI "*" — это обычный URI и отличается от wildcard-префикса в *|span

Селекторы атрибутов поддерживают объявленные, wildcard- и явные пустые префиксы; атрибуты без префикса остаются вне namespace независимо от namespace элементов по умолчанию

Объявления namespace XML не считаются обычными атрибутами; разрешение namespace следует собственной области элемента атрибута и уважает локальное затенение префиксов, включая встроенный префикс xml

Функциональные селекторы

Соединение субъекта внутри :is(), :where() и :not() опускает ограничение namespace по умолчанию, когда у него нет явного type- или universal-селектора

Явный universal-селектор сохраняет это ограничение; предшествующие соединения предков, относительные аргументы :has() и фильтры of позиционных селекторов сохраняют обычное сопоставление namespace

Необъявленный CSS-префикс делает его селектор недействительным; снисходительные списки is/where могут сохранить другие валидные ветви, тогда как строгие группы селекторов сохраняют существующие правила недействительности целой группы

Сохранённый вывод и пределы ресурсов

Вычисленные стили питают сохранённый RV и фактические внешние виды виджетов через нативные Pascal-колбэки, задания Windows и V1, а также колбэки Linux JSON и V1

Существующие правила importance, специфичности, порядка в источнике и наследования свойств продолжают применяться после сопоставления namespace

Хранилище объявлений namespace разделяет MaxNodes, сканирование namespace разделяет MaxTotalCodeUnits, а унаследованный поиск namespace атрибутов списывает ограниченную работу сопоставления и сканирования

Отмена и сбои бюджета сохраняют предыдущий вывод декодера и зафиксированное состояние импорта; вызывающие могут повторить с исходным входом и обычными пределами

Внешние стилевые листы, условные media-правила, дополнительные псевдоклассы состояния и явные корни scoping, таблицы и общая CSS-раскладка остаются активной работой

Стилевые листы нативного rich-текста · Нативный обмен данными форм