Я изо всех сил пытаюсь создать Excel с xslt, который будет связывать (объединять) два узла на одном уровне по общему значению атрибута.
Здесь идет ввод xml:
```
<Nodes>
<Item name="ABC" category_id="A"></Item>
<Item name="DEF" category_id="B"></Item>
<Category name="First category" cat_id="A"</Category>
<Category name="Second category" cat_id="B"</Category>
</Nodes>```
И часть xsl:
<xsl:for-each select="//tc:Nodes/tc:Item">
<xsl:variable name="item_name" select="./@Name" />
<xsl:variable name="item_category_id" select="./@category_id" />
<xsl:for-each select="//tc:Nodes:tc:Category/@cat_id = $category_id">
<xsl:variable name="category_category_id" select="./@cat_id />
</xsl:for-each>
<xsl:call-template name="generateReportData">
<xsl:with-param name="item_name" select="$item_name"/>
<xsl:with-param name="item_category_id" select="$item_category_id" />
**<xsl:with-param name="category_category_id" select="$category_category_id"/>**
</xsl:call-template>
</xsl:for-each>
Проблема в том, что я не могу получить доступ к переменной $ category_category_id как говорится, он либо не определен, либо находится вне области видимости.
Результат должен содержать одну строку, содержащую такие значения, как: ABC, A, Первая категория (он свяжет значения из двух узлов по общему идентификатору категории). Пожалуйста, помогите - я новичок в xsl - может быть, есть другой способ сделать это.
С уважением, Люк