我需要拆分如下所示的 XML 文件
<root>
<Credit>
<TradeId>123</TradeId>
<name>abcd</name>
</Credit>
<Credit>
<TradeId>456</TradeId>
<name>efgh</name>
</Credit>
<Credit>
<TradeId>789</TradeId>
<name>ijkl</name>
</Credit>
</root>
由节点 Credit 分成 3 个单独的文件,每个文件如下所示:
<root>
<Credit>
<TradeId>123</TradeId>
<name>abcd</name>
</Credit>
</root>
我在 MarkLogic 的 Information Studio 中的 XSLT(样式表版本 2.0)转换选项中使用以下代码,但它不起作用。它正在加载原始文件,而不是将其拆分为较小的文件并加载它们。
<xsl:template match="/">
<xsl:for-each select="collection(iri-to-uri('./?select=*.xml;recurse=yes'))">
<xsl:for-each select="//Credit">
<xsl:variable name="TradeId" select="TradeId" />
<xsl:variable name="filename" select="concat('./_Out/', $TradeId, .xml')" />
<xsl:value-of select="$filename" />
<xsl:result-document href="{$filename}">
<root>
<xsl:copy-of select="node()"/>
</root>
</xsl:result-document>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
我在这里错过了什么吗?提前致谢!