I have the following xml:
<root>
<rdf:RDF
....
....>
<skos:Concept rdf:about="http://aims.fao.org/skosmos/agrovoc/en/page/c_26321">
<skos:prefLabel xml:lang="fa">آبیس ماریزیای</skos:prefLabel>
....
<skos:prefLabel xml:lang="en">Abies mariesii</skos:prefLabel>
<skos:broader rdf:resource="http://aims.fao.org/skosmos/agrovoc/en/page/c_10"/>
</skos:Concept>
<skos:Concept rdf:about="http://aims.fao.org/aos/agrovoc/c_5886">
<skos:prefLabel xml:lang="tr">Pinaceae</skos:prefLabel>
....
<skos:prefLabel xml:lang="en">Pinaceae</skos:prefLabel>
....
<skos:narrower rdf:resource="http://aims.fao.org/aos/agrovoc/c_10"/>
</skos:Concept>
Please take note that skos:Concept is a parent node of skos:prefLabel with values Abies mariesii and Pinaceae. Abies mariesii in this case is a broader term () while Pinaceae is a narrower term ()
I have the following xslt:
<xsl:template match="root">
<xsl:for-each select="rdf:RDF">
<xsl:text>START HERE</xsl:text>
<xsl:text> </xsl:text>
<xsl:apply-templates select="skos:Concept" />
<xsl:text> </xsl:text>
</xsl:for-each>
</xsl:template>
<xsl:template match="skos:Concept">
<xsl:if test="skos:broader">
<xsl:for-each select="skos:prefLabel|skos:Concept" />
<xsl:text>=301 \\$abroader$b</xsl:text><xsl:value-of select="skos:prefLabel[@xml:lang='en']" /><xsl:text>$c</xsl:text><xsl:value-of select="./@rdf:about" />
<xsl:text> </xsl:text>
</xsl:if>
</xsl:template>
<xsl:template match="skos:Concept">
<xsl:if test="skos:narrower">
<xsl:for-each select="skos:prefLabel|skos:Concept" />
<xsl:text>=302 \\$anarrower$b</xsl:text><xsl:value-of select="skos:prefLabel[@xml:lang='en']" /><xsl:text>$c</xsl:text><xsl:value-of select="./@rdf:about" />
<xsl:text> </xsl:text>
</xsl:if>
</xsl:template>
....
With this particular template only one is being processed, the latter one. How do I go about this iteration? Of processing both - the broader and the narrower.
Thanks in advance!