Я пытаюсь вывести фрагмент кода html. Но мне нужно, чтобы он был напечатан/отступом. Есть ли способ сделать это без использования <xsl:text>
</xsl:text>
и <xsl:text>	</xsl:text>
?Как форматировать/отступать вывод XSL-преобразования
Я использовал следующую строку без каких-либо результатов.
<xsl:output method="html" indent="yes"/>
Follwoing - код C#;
XslCompiledTransform XSLT = new XslCompiledTransform();
XSLT.Load(xslPath);
using (XmlTextWriter writer = new XmlTextWriter(writePath, null))
{
if (isTopLevel)
{
XSLT.Transform(XMLDocumentForCurrentUser, writer);
}
else
{
XsltArgumentList xslArg = new XsltArgumentList();
xslArg.AddParam("MenuIndex", "", menuIndex);
XSLT.Transform(XMLDocumentForCurrentUser, xslArg, writer);
}
}
// I write the output to file
//All this works fine, only now I need the HTML to be readable (in the browser's view source or any notepad)
Кто-нибудь знает способ форматирования (по крайней мере отступ) XSLT-выхода?
@conqenator: Если вы не хотите использовать параметр сериализации `xsl: output/@ indent` (возможно, потому, что это не так хорошо, как в MSXSL), и вы не хотите делать это вручную, тогда нет решение в рамках XSLT, а потому, что вы устанавливаете такие ограничения. – 2010-11-29 12:58:52
Зачем голосовать? – 2010-11-29 13:33:29
Вам нужно будет предоставить дополнительную информацию, чтобы мы могли понять, почему indent = «yes» не работает для вас. Итак, каков ваш XSLT-процессор, как именно вы выполняете преобразование, что именно вы преобразовываете в (например, файл?), Как вы смотрите на результат преобразования? – 2010-11-29 13:33:55