Subject: Re: [xsl] causal for each issue From: David Carlisle <davidc@xxxxxxxxx> Date: Mon, 30 Jul 2012 19:59:55 +0100 |
hi The result of following for-each statement is <Depot/> and not as exected. I could not find the mistake ! Here are the XSLT and the XML file :
<xsl:for-each select="LDL"> <xsl:for-each select="G2[1]/G502/(1st_Name,2nd_Name, 3nd_Name,4nd_Name, 5nd_Name)[. =('FF')]">
This is an xpath syntax error as you can not start element names with digits. had you used different names the filter .='FF' would mean the for-each was iterating over a single element the 1st_Name element in the first G2. That element only has text content ('FF') soo all the following value-of would select nothing as they are selecting elements (once they are fixed to use legal names)
<Depot> <xsl:value-of select="3rd_Logical"/> <xsl:value-of select="2nd_Logical"/> <xsl:value-of select="3rd_Logical"/> <xsl:value-of select="4th_Logical"/> <xsl:value-of select="5th_Logical"/> <xsl:value-of select="6th_Logical"/> </Depot> </xsl:for-each> </xsl:for-each> ********************** <LDL> <G2> <G502> <1st_Name>FF</1st_Name>
This is not well formed you can not start element names with a digit. This will be a fatal error and XSLT will not start.
<2nd_Logical>MLBIE85</2nd_Logical> <3rd_Name>FW</3rd_Name> <_4th_Logical>FW</_4th_Logical> <3rd_Logical>ENMST01</3rd_Logical> <5th_Logical>USPTR05</5th_Logical> </G502> </G2> <G2> <G502> <nd_Name>FF</2nd_Name> <2nd_Logical>ATVIE85</2nd_Logical> <2nd_KNTT_Flag>0</2nd_KNTT_Flag> <3rd_Name>FW</3rd_Name> <_4th_Logical>FW</_4th_Logical> <3rd_Logical>DEHAM05</3rd_Logical> </G502> </G2> </LDL>
brg henry
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] causal for each issue, Andrew Welch | Thread | Re: [xsl] causal for each issue, henry human |
Re: [xsl] causal for each issue, Andrew Welch | Date | Re: [xsl] causal for each issue, henry human |
Month |