Параметры вывода в классе XslCompiledTransform
В этом разделе рассматриваются доступные параметры вывода XSLT. Параметры вывода можно указать в таблице стилей или методе Transform.
Элемент xsl:output
Элемент xsl:output указывает параметры вывода. Тип вывода, указанный методом Transform, определяет поведение параметров xsl:output.
В следующей таблице описано поведение каждого атрибута, доступного в элементе xsl:output, если тип вывода — поток или объект TextWriter.
Имя атрибута |
Поведение |
---|---|
method |
Поддерживается. |
version |
Не обрабатывается. Версия всегда 1.0 для XML и 4.0 для HTML. |
encoding |
Не учитывается при выводе в объект TextWriter. Вместо него используется свойство TextWriter.Encoding. |
omit-xml-declaration |
Поддерживается. |
standalone |
Поддерживается. |
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. С помощью класса XmlWriterSettings можно указать функции, поддерживающие объект XmlWriter, включая параметры вывода. Класс XmlWriter представляет собой неотъемлемую часть платформы System.Xml. Используйте этот тип вывода для передачи выходных результатов в другой процесс XML.
String
Используйте этот тип вывода, чтобы указать URI выходного файла.
Stream
Поток — это абстракция последовательности байтов, например файла, устройства ввода-вывода, межпроцессного канала связи или сокета TCP/IP. Класс Stream и его производные классы обеспечивают универсальное представление различных типов ввода и вывода, изолируя программиста от конкретных особенностей операционной системы и базовых устройств.
Используйте этот тип вывода для пересылки данных в объекты FileStream, MemoryStream или выходной поток (Response.OutputStream).
TextWriter
Объект TextWriter записывает последовательные символы. Он реализован в классах StringWriter и StreamWriter, которые записывают символы в строки и потоки соответственно. Используйте этот тип вывода, если нужно вывести строку.
Примечания
- При записи пустых тегов между последним символом имени элемента и обратной косой чертой записывается пробел, например <myElement />. Это позволяет правильно отобразить сформированные HTML-страницы в старых обозревателях.