Конечно же, реляционные БД можно быстро отображать с помощью Пыха напрямую, но XSLT дает универсальную возможность преобразования структурированных данных в любую последовательность отображаемых данных. И в связке Data -> XML -> HTML могут появится при абстрактных задачах связки вида: Data -> XML -> Data, HTML -> XML -> Data, XML->XML->Data, XML -> XML -> HTML и тд и тп.
Все зависит от Ваших задач. Скорость или универсальность? Выбирать Вам!
XSLT — универсальный паттерн, описывающий шаблонизатор. Во-первых, он универсален, во-вторых, он страндартизован, в-третьих, на вход поступают структурированные данные. Что еще надо?
1. разрезание и фильтрация тегов идет в одном цикле без повторных действий.
2. повторюсь, что метод с конечным автомат (ковырянием по одному символу) заложен для реализации как php extension
Идея с белым листом мне очень нравится, скорее всего буду развивать защиту в этом ключе.
Изначально алгоритм с конечным автоматом заложен для реализации как php extension, что будет крайне быстро.
Если по-Вашему итог в обсуждении и поставлен, то в развитии кода ставится «to be continued».
Как показала практика и примеры других участников, экранирование — не лучший способ, поэтому двойные кавычки в unquoted значения аттрибутов заменяются на "
Все зависит от Ваших задач. Скорость или универсальность? Выбирать Вам!
2. повторюсь, что метод с конечным автомат (ковырянием по одному символу) заложен для реализации как php extension
Изначально алгоритм с конечным автоматом заложен для реализации как php extension, что будет крайне быстро.
Если по-Вашему итог в обсуждении и поставлен, то в развитии кода ставится «to be continued».
А чистый javascript, конечно же, не пропускается ;)
Во всяком случае Opera 10 не преобразует %3C в < или %3A в двоеточие
или
<img src='http://ya.ru/logo.gif' bo="o\"onload=\"alert();" />