cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

XPATH for a repeater

Former Member
0 Likes
914

Hi all,

I have a repeater Each_Oper (BAPINAME.Response{/BAPINAME/TABLES/ORDER_OPERATIONS/item}

nested in that a repeater Each_Col (List_Of_Cols.Output{/Rowsets/Rowset/Row})

nested in that a repeater Find_Char

In Find_Char repeater: Dummy_Chars.Results{/Rowsets/Rowset/Row}

I would like to filter that repeater so I only get rows that

a. Have a child named PRODUCTION_ORDER whose value equals Each_Oper.PRODUCTION_ORDER's value

And

b. Have a child named CHAR whose value equals Each_Col.NAME's value

Is that possible or do I have to do a Conditional?

Thanks,

--Amy Smith

--Haworth

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Likes

Amy,

you can use XPATH to filter a repeater expression in order to reduce the processed rows.

For example, say you want to have a child named PRODUCTION_ORDER whose value equals Each_Oper.PRODUCTION_ORDER's value, you may input something like

Dummy_Chars.Results{/Rowsets/Rowset/Row[PRODUCTION_ORDER='#Each_Oper.Output{/item/PRODUCTION_ORDER

#']}

I often use this (thanks for this tip, Pedro) to avoid condition actions in repeaters. In the case above the dynamic link contains a fixed value. If you have more complex expressions, evaluate the expression first into a local variable and use this local variable in the dynamix link.

Hope this helps.

Michael

Former Member
0 Likes

Hi Michael,

thank you for your flower. You are always welcome. Michael answer this thread perfectly. It is possible to

setting a condition into a repeater and works perfect.

I know this, because I had the best trainer Jeremy Good.

Cheers

Pedro Iglesias

Edited by: Pedro Iglesias on Aug 20, 2009 2:49 PM

Answers (3)

Answers (3)

Former Member
0 Likes

Amy,

In Find_Char repeater: Dummy_Chars.Results{/Rowsets/Rowset/Row} -


Do not put this in repeater

Generic Sort filter action block is one option.Configure this with

Dummy_Chars.Results

. In Filter block under cloumn section Map your childs PRODUCTION_ORDER and CHAR and in Condition section use = for both columns.

Finally in Link Editor Map FilterValue1 of Generic Sort Filter with Each_Oper.PRODUCTION_ORDER and FilterValue2 with Each_Col.NAME

Hope this helps you.

-Suresh

sidnooradarsh
Contributor
0 Likes

Hi Amy Smith,

I believe there is no such thing of filter within a repeater, you need to add a conditional block and perform filtering.

But as Arun mentioned give a try with Generic Sort Filter before the repeater with your conditions and then pass the Sort Filter output to repeater.

Regards,

Adarsh

Former Member
0 Likes

Hi,

Did u try Generic Sort Filter ?