Re: [xsl] Complex for-each comparison problem

Subject: Re: [xsl] Complex for-each comparison problem
From: Sven Waibel <sven.waibel@xxxxxxxx>
Date: Thu, 02 Dec 2004 10:39:08 +0100
It's not the original xml file, but it's a simplified example of it.
It's well-formed, checked with xmlspy.

I have some questions:

What do you mean with "nameofyourunnamedelement"?

What is the "/@s" at the end?

Why "@value", i thought you get the content of an CDATA field with "value" simply.

Thanks
Sven

> <xsl:for-each select="itable[@id = i/paramter/nameofyourunnamedelement/@value]/@s">
>   <xsl:value-of select="."/>
> </xsl:for-each>



Jarno.Elovirta@xxxxxxxxx wrote:

> Hi,
> 
> 
>>i wrote days before about CDATA compare problems and now i 
>>know my problem is at another point.
>>
>>xml:
>>-------------------------------------
>><itables>
>>   <itable id=1 name="h">
>>      <i>
>>         <paramter>
>>	    <value="<![CDATA[7]]>"/>	
> 
> 
> The last time I check XML 1.0 spec, an element had to have a name and LESS-THAN SIGN was not allowed in attribute value.
> 
> 
>>	    <value="<![CDATA[8]]>"/>
>>	 </paramter>
>>      </i>
>>   <itable id=2 name="s">
>>      <i>
>>         <paramter>
>>	    <value="<![CDATA[1]]>"/>	
>>	    <value="<![CDATA[5]]>"/>
>>	 </paramter>
>>      </i>
>>   </itable>
>></itables>
>>-------------------------------------
>>
>>I want to compare each itable/@id with each value:
>>
>>itable id=1 with
>>	<![CDATA[7]]>
>>	<![CDATA[8]]>
>>	<![CDATA[1]]>
>>	<![CDATA[5]]>
>>
>>itable id=2 with
>>	<![CDATA[7]]>
>>	<![CDATA[8]]>
>>	<![CDATA[1]]>
>>	<![CDATA[5]]>
>>
>>and then i want give out the itable name where id = value.
> 
> 
> <xsl:for-each select="itable[@id = i/paramter/nameofyourunnamedelement/@value]/@s">
>   <xsl:value-of select="."/>
> </xsl:for-each>
> 
>>I hope i expressed myself clearly.
> 
> 
> It always helps if your example XML is well-formed, that way people don't have to quess or attempt error recovery.
> 
> Cheers,
> 
> Jarno

Current Thread