Я создаю xsl для преобразования моего xml в текст (который в конечном итоге будет csv).Я использую VS2008.Когда я использую редактор для создания xsl, преобразованный вывод с отступом в соответствии с моим xsl.Однако, если я редактирую xsl и удаляю отформатированные пробелы, он выводит правильно - но делать это так, как будто это кошмар для работы.
Есть ли какие-либо команды препроцессора xsl или разметка, которые я могу вставить, чтобы предотвратить это?Я хочу игнорировать любые пробелы в моем xsl и выводить только текст, используя <!CDATA[]]>
или <xsl:text>
.
Мой XSL такой, как показано ниже - это отступ для вывода
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
<xsl:output method="text" indent="no"/>
<!-- @* is all class attributes -->
<xsl:template match="/">
<xsl:text>CSV Output</xsl:text>
<!-- Start of output -->
<xsl:for-each select="//rows/row">
<![CDATA[row id=]]><xsl:value-of select="(@id)"/>
</xsl:for-each>
<!-- OK, that is the end of the file -->
<![CDATA[<EOF>]]>
</xsl:template>
</xsl:stylesheet>
Выводэто выглядит следующим образом:
CSV Output
row id=0
row id=1
<EOF>
Тем не менее, правильно выводятся следующие данные:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
<xsl:output method="text" indent="no"/>
<!-- @* is all class attributes -->
<xsl:template match="/">
<xsl:text>CSV Output</xsl:text>
<!-- Start of output -->
<xsl:for-each select="//rows/row">
<![CDATA[row id=]]><xsl:value-of select="(@id)"/>
</xsl:for-each>
<!-- OK, that is the end of the file -->
<![CDATA[<EOF>]]>
</xsl:template>
</xsl:stylesheet>
Это выводится правильно следующим образом:
CSV Output
row id=0
row id=1
<EOF>
Я также хочуконтроль, где новая строка включена.В моем xsl я не говорю, чтобы он включал один.
Пожалуйста, помогите !!
Спасибо,
Andez