我有两个源文件,我需要逐行组合它们。我很高兴将文件读入一个变量,我对逻辑很满意,但语法让我很难过。对于文件 1 中的每一行,我需要循环遍历文件 2 中的每一行并输出连接在一起的两个变量:
文件 1:
<rows>
<row>1</row>
<row>2</row>
<row>3</row>
<row>4</row>
</rows>
文件 2:
<rows>
<row>a</row>
<row>b</row>
</rows>
所需输出:
<rows>
<row>1/a</row>
<row>1/b</row>
<row>2/a</row>
<row>2/b</row>
<row>3/a</row>
<row>3/b</row>
<row>4/a</row>
<row>4/b</row>
<rows>
我(糟糕的)尝试让 XSLT 工作:
<rows>
<xsl:apply-templates select="document('file1.xml')/rows/row" />
</rows>
<xsl:template match="row">
<xsl:apply-templates select="document('file2.xml')/rows/row" />
</xsl:template>
<xsl:template match="row">
<row><xsl:value-of select="???" />/<xsl:value-of select="???" /></row>
</xsl:template>
(这些文件是我实际拥有的文件的简化版本)
如何使一个模板匹配一个“行”值而另一个匹配另一个(两个源文件使用相同的结构)。我该如何设置那些'???' 价值观?