Actually XSLT Lookup (Store variables during loop and use in it another template)

Posted by krisvandenbergh on Stack Overflow See other posts from Stack Overflow or by krisvandenbergh
Published on 2010-05-02T09:07:13Z Indexed on 2010/05/02 15:08 UTC
Read the original article Hit count: 263

Filed under:

Is there a way to store a variable/param during a for-each loop in a sort of array, and use it in another template, namely <xsl:template match="Foundation.Core.Classifier.feature">. All the classname values that appear during the for-each should be stored. How would you implement that in XSLT? Here's my current code.

<xsl:for-each select="Foundation.Core.Class">       
 <xsl:for-each select="Foundation.Core.ModelElement.name">
  <xsl:param name="classname">
   <xsl:value-of select="Foundation.Core.ModelElement.name"/>
  </xsl:param>
 </xsl:for-each>
 <xsl:apply-templates select="Foundation.Core.Classifier.feature" /> 
</xsl:for-each>

Here's the template in which the classname parameters should be used.

<xsl:template match="Foundation.Core.Classifier.feature">
 <xsl:for-each select="Foundation.Core.Attribute">
  <owl:DatatypeProperty rdf:ID="{Foundation.Core.ModelElement.name}">
   <rdfs:domain rdf:resource="$classname" />
  </owl:DatatypeProperty>
 </xsl:for-each>
</xsl:template>

The input file can be found at http://krisvandenbergh.be/uml_pricing.xml

© Stack Overflow or respective owner

Related posts about xslt