Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
В этой статье приводятся дополнительные замечания к справочной документации по этому API.
Класс XslCompiledTransform — это процессор XSLT, поддерживающий синтаксис XSLT 1.0. Это новая реализация и включает в себя повышение производительности по сравнению с устаревшим XslTransform классом. Структура XslCompiledTransform класса очень похожа на XslTransform класс. Метод Load загружает и компилирует таблицу стилей, а Transform метод выполняет преобразование XSLT.
Поддержка функции XSLT document() и встроенных блоков скриптов отключена по умолчанию. Эти функции можно включить, создав XsltSettings объект и передав его методу Load .
Дополнительные сведения см. в разделе "Использование класса XslCompiledTransform и миграция из класса XslTransform".
Вопросы безопасности
При создании приложения, использующего XslCompiledTransform класс, следует учитывать следующие элементы и их последствия:
По умолчанию скрипты XSLT отключены. Скрипты XSLT должны быть включены только в том случае, если требуется поддержка скриптов, и вы работаете в полностью доверенной среде.
Функция XSLT
document()отключена по умолчанию. Если включить функциюdocument(), ограничьте ресурсы, к которым можно получить доступ, передав XmlSecureResolver объект методу Transform .Объекты расширения включены по умолчанию. XsltArgumentList Если объект, содержащий объекты расширения, передается методуTransform, они используются.
Таблицы стилей XSLT могут содержать ссылки на другие файлы и внедренные блоки скриптов. Злоумышленник может воспользоваться этим, предоставив вам данные или таблицы стилей, которые при выполнении могут вызвать процесс обработки системой, пока ресурсы компьютера не истощатся.
Приложения XSLT, выполняемые в среде с перемешанным уровнем доверия, могут привести к спуфингу таблицы стилей. Например, злоумышленник может загрузить объект с вредной таблицей стилей и передать его другому пользователю, который впоследствии вызывает Transform метод и выполняет преобразование.
Эти проблемы безопасности можно смягчить, не включая document() скрипты или XslCompiledTransform функцию, если таблица стилей не поступает из доверенного источника, а также не принимая объекты, таблицы стилей XSLT или данные источника XML из ненадежного источника.