Вот XSLT:
<xsl:stylesheet version="1.0" xmlns:P="http://abc.com/Xyz.xsd" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="Thing">
<xsl:element name="div">
<xsl:attribute name="class">
<xsl:text>Field</xsl:text>
</xsl:attribute>
<xsl:element name="span">
<xsl:attribute name="class">
<xsl:text>Label</xsl:text>
</xsl:attribute>
<xsl:value-of select="$displayName"/>
<xsl:text>:</xsl:text>
</xsl:element>
<xsl:element name="span">
<xsl:attribute name="class">
<xsl:text>Input</xsl:text>
</xsl:attribute>
</xsl:element>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
Вот результат преобразования XSLT:
<div class="Field"><span class="Label">Name:</span><span class="Input"></span></div>
Вот как я делаю преобразование:
XslCompiledTransform xslTransform = new XslCompiledTransform();
xslTransform.Load(xsltPath, new XsltSettings(true, true), new XmlUrlResolver());
using (FileStream outputStream = File.Create(outputPath))
{
using (StringReader stringReader = new StringReader(xml))
{
using (XmlReader xmlReader = XmlReader.Create(stringReader))
{
xslTransform.Transform(xmlReader, outputStream);
}
}
}
Почему формат не имеет отступ?Позже в выходных данных некоторые вещи имеют отступ.Не уверен почему.Я ищу решение, которое учитывает настройки формата, указанные в XSLT.Этот код используется для записи в любой формат (XML, HTML, текст и т. Д.), Поэтому я не хочу, чтобы конкретный код работал, например, только с XML.Но если мой XSLT имеет выход XML и установлен на отступ, то это следует учитывать.