在带有文本和标记的单行上编写 XML



我有一个XML文件,XSLT将其转换为HTML文件。我想在一行上用javascript变量编写我的XML,其所有标签和文本都在HTML文件中。

例如,我想转换它:

<root>
   <groupe>
      <link>
        ...
      </link>
   </groupe> 
</root>

到:

<script>
   var xml = '<root><groupe><link>...</link></groupe></root>';
</script>

我知道<xsl:copy-of ... />保留文本和标签,但我无法摆脱换行符和空格。 我已经看到了normalize-space选项,但是

<xsl:template match="@* | node()" >
   <xsl:copy-of select="normalize-space(.)" />
</xsl:template>

打印不带标记的输出 XML。

我想你可以使用类似的东西

...
<script>
    var xml = '<xsl:copy-of select="." />'
</script> 
...

在您的模板中。

你需要的是在xsl:output标签中声明属性indent="no",例如

<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>

可能还有

<xsl:strip-space elements="*"/>

也可能是有益的。

相关内容

  • 没有找到相关文章

最新更新