在使用 xsl:copy-of 转换以下 xml 时 - 我的转换丢失了原始文档的格式 - 我根本不希望它触及原始文档。从字面上看,只是复制节点 - 原封不动
源 XML
<flow>
<flow>
<material><mattext fontface="Arial"><p style="white-space: pre-wrap"><font size="11">The moon is the only extraterrestrial body to be visited by humans?</font></p></mattext>
</material>
</flow>
我得到这个结果
<flow><flow><material><mattext fontface="Arial" texttype="text/plain"><p style="white-space: pre-wrap"><font size="11">The moon is the only extraterrestrial body to be visited by humans?</font></p></mattext></material></flow>
正如你所看到的,它把它放在一行上——为了我的目的,我需要保留空格(漂亮的打印不是一个选项)
我的 XSL 看起来像这样
<xsl:for-each-group select="qti:item" group-adjacent="(position()-1)">
<!-- Output the file-->
<xsl:result-document href="{$filename}">
<questtag>
<!-- Output the contents-->
<xsl:copy-of select="current-group()"/>
</questtag>
</xsl:result-document>
</xsl:for-each-group>
更新:好的 - 我发现如果我删除源文件 DTD,则保留空格 - 但这不是解决方案的选项