我有一个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>
....
如何让我的处理指令在自己的行上打印?
答案 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> </xsl:text>
<xsl:processing-instruction name="xml-stylesheet">type="text/xsl" href="xhtml_transition.xslt"</xsl:processing-instruction>
<root>