Параметры вывода в классе 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-страницы в старых браузерах.