This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Filtering the nodes passed to a template...


> Thanks for the reply Mike,
> I'm still having problems though...perhaps if I explain it more cleary...

Yes, cleary that would be of benefit :) :) :)

> ...So in the end, my output will look like this
> 
> PaymentType	Desc
> CASH		Cash
> CCDEBTOR	Amex
> 		Visa
> 		Diners
> CHEQUE	Cheque

Wait, do you want copies of output like the above for each id that has a
matching paymentTypeRef, or do you want one summarial output that looks
like that for the entire set of ids?

> <xsl:apply-templates select="paymentType[@paymentTypeRef =
> /report/payments/payment/@id]">
> 
> and in that template I use...
> 
>   <xsl:if test="@paymentTypeRef !=
> ../preceding-sibling::paymentType/@paymentTypeRef]">
>     <xsl:value-of select="@paymentTypeRef"/>
>   </xsl:if>
> 
> but this seems to reference the original XML and not the filtered XML which
> is passed into the template.  So I need a way of accessing and testing
> values in the filtered node set, and not the original.

Yes, you're always referencing the source tree. 

There are vendor-specific solutions for treating result tree fragments as
node-sets, but I don't think you really need it for this situation.
Unfortunately I am once again up too late and can't put together a
coherent block of code for you, but I'm sure it can be done in pure XSLT.

If I have time I'll work on it this weekend, but don't hold your breath :)

   - Mike
___________________________________________________________
Mike J. Brown, software engineer, Webb Interactive Services
XML/XSL stuff: http://www.skew.org/    http://www.webb.net/


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]