[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: apply-templates repeats inside xsl:for-each, why
Well, without seeing at least the code that matches <concept> and the portion of the input that has <concept>, it's hard to impossible to say. But my first guess would be that the code that matches <concept id="unique_2"> generates one line of output for each <platform>. But a few odd things jump to mind: * It would seem there is both a <platform> and a <concept> with id=unique_2. While not necessarily invalid, most of us think of the id= attribute as an ID attribute, and thus necessarily unique. But even if your schema (unwisely, I daresay) permits values of id= to be non-unique, it seems terribly misleading to say in the value it self that it is unique, when it's not. * The predicate "[@id = @id]" will never return false, and thus seems a bit silly. (Perhaps you meant "[@id = $id]"? I've made that mistake :-) > I'm running xsl:for-each on a variable $platforms that holds this: > > <platform name="windows_xp" id="unique_2"/> > <platform name="windows_vista" id="unique_35"/> > <platform name="windows_7" id="unique_37"/> > > The following code produces the same output 3 times for each node in > $platforms: > > <xsl:for-each select="$platforms/platform"> > <xsl:apply-templates select="$root-of-input-file/map/concept/concept[@id = @id]"/> > </xsl:for-each> > > So in the output I get this kind of thing: > > Windows XP > Windows Vista > Windows 7 > Windows XP > Windows Vista > Windows 7 > Windows XP > Windows Vista > Windows 7 > > I was expecting to get one output for each element in > $platforms. If I use the following outside of xsl:for-each, I get > one output: > > <xsl:apply-templates select="$root/map/concept/concept[@id = 'unique_2']"/> > > What am I missing?
|
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
|