Модуляризация XHTML


Соответствие Пользовательского Агента (ПА) Семейства XHTML - часть 2


  • CARRIAGE RETURN/возврат каретки (
)
  • LINE FEED/прогон строки (
)
  • Процессор XML нормализует различные системные коды конца строки в единый символ LINE FEED, который и передаётся приложению.

    ПА обязан обрабатывать пробельные символы в данных, полученных от процессора XML, следующим образом:

    • Все пробелы, окружающие блок элементов, должны быть удалены.
    • Комментарии полностью удаляются и не влияют на обработку пробелов. Одиночный пробельный символ с любой стороны комментария рассматривается как два пробельных символа.
    • Если атрибут 'xml:space' установлен в 'preserve', пробельные символы обязаны быть сохранены и последующие символы LINE FEED внутри блока обязаны не быть конвертированы.
    • Если атрибут 'xml:space' установлен в 'preserve', тогда:

    • Ведущие и ведомые пробелы внутри элемента блока обязаны быть удалены.
    • Символы LINE FEED обязаны быть конвертированы в один из следующих символов: SPACE, ZERO WIDTH SPACE (​) или ни в один из символов (т.е. удалены).

      Выбор результирующего символа зависит от ПА и обусловлен свойствами письма (языка) символов до и после символа LINE FEED.

    • Последовательность пробелов без символов LINE FEED обязана быть редуцирована до символа SPACE.
    • Последовательность пробельных символов с одним или более символом LINE FEED обязана быть редуцирована таким же образом до символа SPACE.

    Пробелы в значениях атрибутов обрабатываются в соответствии с .

    Примечание (информативное): При определении того, как конвертировать символ LINE FEED, ПА должен рассмотреть следующие случаи, когда вид письма с любой стороны от LINE FEED определяет выбор замены. Символы ОБЩЕГО письма (такие как пунктуация) рассматриваются так же, как и письмо с другой стороны:

    1. Если символы до и после LINE FEED принадлежат письму, в котором символ SPACE используется как разделитель слов, то символ LINE FEED должен быть конвертирован в символ SPACE. Примерами такого письма могут служить латиница, греческое и кириллица.
    2. Если символы до и после LINE FEED принадлежат идеографическому письму или системе письма, в которой нет разделителя слов, то LINE FEED должен быть конвертирован в нулевой (пустой/никакой) символ. Примеры такого письма или системы письма - китайский, японский.
    3. Если символы до и после LINE FEED принадлежат неидеографическому письму, в котором нет разделителя слов, LINE FEED должен быть конвертирован в символ ZERO WIDTH SPACE (​) или в нулевой (пустой/никакой) символ. Примеры такого письма -тайский, кхмерский.
    4. Если условия с (1) по (3) неприменимы, то символ LINE FEED должен быть конвертирован в символ SPACE.

    Техническое сообщение Unicode TR#24 (Script Names) предоставляет назначения имён скриптов всем символам.




    - Начало -  - Назад -  - Вперед -