Re: Navigating an XML file with xsl:for-each etc.
oh sorry, I missed @ sign for attribute. it should have been //*[@action = 'change'] Regards, Mukul On 8/26/05, Mukul Gandhi <gandhi.mukul@xxxxxxxxx> wrote: > Hi Houman, > Something like > > <xsl:for-each select="//*[action='change']"> > <xsl:if test="add and delete"> > <xsl:if test="add/c = delete/c"> > ... > </xsl:if> > <xsl:if test="add/d = delete/d"> > ... > </xsl:if> > </xsl:if> > </xsl:for-each> > > (this is not tested) > > Regards, > Mukul > > On 8/26/05, Khorasani, Houman <houman_khorasani@xxxxxxxxxxxxxx> wrote: > > Hello everyone, > > > > I have checked the FAQ but couldn't find any solution to this: > > > > I have an XML file like this: > > > > <a> > > </a> > > <b action='change'> > > <add> > > <c>bla</c> > > <d>bla</d> > > </add> > > <delete> > > <c>bla</c> > > <d>bla</d> > > <delete> > > </b> > > <e> > > </e> > > > > > > I have to check for each attribute called 'change' > > Then look if it has an <add> tag and an <delete> tag > > - Compare the sub element of <add> called <c> with the > > sub element of <delete> called <c> and see if the > > value is equal. > > - The same with sub element <d> > > > > > > I guess the best to do that is to use a for-each to check all the > > attributes with the value 'change' (This is not working in my example > > below though) > > 1) How do I use for-each with attributes? Like this? > > > > <xsl:for-each select="//[action='change']"> > > <xsl:if test=".='add'"> > > ... > > </xsl:if> > > ... > > </xsl:for-each> > > > > 2) How do I compare in the most efficient way the two sub-elements <c> > > and <d> against each other? > > > > > > Many thanks for any idea, > > Houman
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format