xsl-list
[Top] [All Lists]

Re: [xsl] XSL For-Each Help!

2006-07-18 08:09:15
Rusty,

These turned out to be pretty simple errors to make (and fix):

At 07:06 PM 7/17/2006, you wrote:
<xsl:key name="itemsbydistributor"
match="ItemAsSold[CanOrderFlag='true'][CanShipFlag =
'true']" use="DistributorCode"/>

In your data (as posted yesterday), the elements in the predicates are CanOrder and CanShip, without "Flag" appended.

--then down within the XSL file i have----:
<xsl:variable name="distributorVal">
<!-- only process distributorCodes if canShip and
canOrder are both true -->
   <xsl:for-each
select="//DistributorCode[generate-id(parent::ItemAsSold)=generate-id(key('itemsbydistributor',current())[1])
]">

Here, you want generate-id(key('itemsbydistributor',.)[1], no "current()". If that was my error, I apologize. :-) (If this is a global variable, current() is probably returning the root node. You want the value of the DistributorCode.

        <xsl:value-ofselect="DistributorCode"/>

Here you want value-of select=".", since the context is already the DistributorCode.

Alternatively, you could select
 
//ItemAsSold[generate-id()=generate-id(key('itemsbydistributor',DistributorCode)[1])]

and then get the value of its DistributorCode.

I hope that helps.

Do you get the concept, anyhow?

Cheers,
Wendell


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>