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>
ご覧のとおり、すべてを1行にまとめています-私の目的のために、空白を保持する必要があります(きれいな印刷はオプションではありません)
私の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>
更新: OK - ソース ファイルの DTD を削除すると空白が保持されることがわかりましたが、これは解決策のオプションではありません