获取自己的XML声明

时间:2014-10-26 08:56:27

标签: xml xslt xhtml

我有一个XSLT文件,开头是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>

<xsl:template match="/">
<xsl:processing-instruction name="xml-stylesheet">type="text/xsl" href="xhtml_transition.xslt"</xsl:processing-instruction>
<root>
  <child>
    ....

结果一切都很好,除了一个小细节。在输出中,第一个声明打印在一行上:

<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="xhtml_transition.xslt"?<root>
    <child>
        ....

我想要这个结果:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="xhtml_transition.xslt"?
  <root>
    <child>
      ....

如何让我的处理指令在自己的行上打印?

1 个答案:

答案 0 :(得分:2)

尝试

<xsl:template match="/" xml:space="preserve">
<xsl:processing-instruction name="xml-stylesheet">type="text/xsl" href="xhtml_transition.xslt"</xsl:processing-instruction>
<root>

<xsl:template match="/">
<xsl:text>&#10;</xsl:text>
<xsl:processing-instruction name="xml-stylesheet">type="text/xsl" href="xhtml_transition.xslt"</xsl:processing-instruction>
<root>