Сценарии использования
Aspose.HTML FOSS для Python нацелен на серверную работу HTML, где браузер недоступен или нежелателен. Это сценарии, вокруг которых построен API.
Очистка и переписывание хранимого HTML
Бэкенд-сервисы, принимающие пользовательский HTML, разбирают его с помощью HTMLDocument.parse(), перестраивают через операции Document и Element и сериализуют результат — при этом восстановление ошибок по стандартам поглощает любую некорректную разметку, которая приходит.
Проверка сгенерированной разметки в CI
Наборы тестов проверяют структуру так же, как это делают примеры из этой базы знаний: строят или разбирают дерево, затем проверяют атрибуты, дочерние элементы и — уникально — вычисленные стили через Element.get_computed_style(), так что регрессия в таблице стилей приводит к провалу теста, а не к проблеме в продакшене.
Вычисление стилей без браузера
Инструменты для email и санитайзеры должны знать, какой стиль действительно применяется к элементу. Слой CSSOM отвечает реальной каскадом — включая специфичность, !important и наследование — в чистом Python, без необходимости в безголовом браузере.
Загрузка устаревших документов
Архивы поступают в виде байтов в неизвестных кодировках. detect_encoding() классифицирует их (BOM и мета-предсканирование), get_canonical_name() нормализует хаос меток, а поведение восстановления парсера обрабатывает разметку десятилетней давности.
Инструменты уровня токенов
Линтеры и предварительные проходы санитайзера напрямую потребляют вывод Tokenizer.tokenize(), проверяя атрибуты StartTagToken до того, как существует какое-либо дерево.
Контролируемая обработка скриптов
Документы, требующие скриптов, выполняются под управлением JSContext с ограниченным доступом к модулям, задаваемым ModuleRegistry и ModuleLoadPolicy — скриптинг по мере необходимости, изолированный по своей конструкции.