Subject: Re: 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
|