Поделиться через


Параметры вывода в классе XslCompiledTransform

В этой статье рассматриваются доступные параметры вывода XSLT. Параметры вывода можно указать в таблице стилей или методе Transform.

Элемент xsl:output

Элемент xsl:output указывает параметры вывода. Тип вывода, указанный методом Transform, определяет поведение параметров xsl:output.

В следующей таблице описано поведение каждого атрибута, доступного в элементе xsl:output, если тип вывода - поток или объект TextWriter.

Attribute name Поведение
метод Поддерживается.
версия Пропускается. Версия всегда 1.0 для XML и 4.0 для HTML.
encoding Не учитывается при выводе в объект TextWriter. Вместо него используется свойство TextWriter.Encoding.
omit-xml-declaration Поддерживается.
Автономный Поддерживается.
doctype-public Поддерживается.
doctype-system Поддерживается.
cdata-section-elements Поддерживается.
indent Поддерживается.
media-type Поддерживается.

Отправка выходных данных в XmlWriter

Если в таблице стилей используется элемент xsl:output, а тип вывода - объект XmlWriter, нужно использовать свойство XslCompiledTransform.OutputSettings при создании объекта XmlWriter. Свойство XslCompiledTransform.OutputSettings возвращает объект XmlWriterSettings, который содержит сведения, полученные из элемента xsl:output скомпилированной таблицы стилей. Этот объект XmlWriterSettings можно передать в метод XmlWriter.Create, чтобы создать объект XmlWriter с правильными настройками.

Типы вывода

В следующем списке описаны типы вывода, доступные в команде Transform.

XmlWriter

Класс XmlWriter записывает потоки или файлы XML. С помощью класса XmlWriter можно указать возможности, поддерживающие объект XmlWriterSettings, включая параметры вывода. Класс XmlWriter представляет собой неотъемлемую часть платформы System.Xml. Используйте этот тип вывода для передачи выходных результатов в другой процесс XML.

Строка

Используйте этот тип вывода, чтобы указать URI выходного файла.

Stream

Поток - это абстракция последовательности байтов, например файла, устройства ввода-вывода, межпроцессного канала связи или сокета TCP/IP. Класс Stream и его производные классы обеспечивают универсальное представление различных типов ввода и вывода, изолируя программиста от конкретных особенностей операционной системы и базовых устройств.

Используйте этот тип вывода для пересылки данных в объекты FileStream, MemoryStream или выходной поток (Response.OutputStream).

TextWriter

Объект TextWriter записывает последовательные символы. Он реализован в классах StringWriter и StreamWriter, которые записывают символы в строки и потоки соответственно. Используйте этот тип вывода, если нужно вывести строку.

Примечания.

При записи пустых тегов между последним символом имени элемента и обратной косой чертой записывается пробел, например <myElement />. Это позволяет правильно отобразить сформированные HTML-страницы в старых браузерах.

См. также