I have this piece of XML
<output_list>
<output_name>name_F</output_name>
<output_category>Ferrari</output_category>
<output_name>name_P</output_name>
<output_category>Porsche</output_category>
<output_name>name_L</output_name>
<output_category>Lamborghini</output_category>
</output_list>
I would like to get the text value within the node "output_name" and "output_category" using a for-loop.
I'm using the following XSL
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xlink="http://www.w3.org/1999/xlink">
<xsl:output method="xml" indent="yes" encoding="utf-8" />
<xsl:template match="/" >
<xmlns:swe="http://www.opengis.net/swe/2.0"
xmlns:sml="http://www.opengis.net/sensorml/2.0">
<sml:OutputList>
<xsl:for-each select="//output_list/output_name">
<xsl:variable name="my_output_name" select="text()"/>
<xsl:variable name="my_output_category" select="//output_list/output_category"/>
<sml:output name="{$my_output_name}">
<swe:Category definition="{$my_output_category}">
</swe:Category>
</sml:output>
</xsl:for-each>
</sml:OutputList>
</xsl:stylesheet>
I'm able to get only the correct name for "my_output_name" variable. The second variable only get the first value and it does not change with respect to the "my_output_name" variable.
I know that with text() I can get only the value of the current node.
Could you please tell me how I can fix this code to get both associated variables?
thanks in advance