Can I return a Data Grid list that takes 2 XPath constraints into consideration?

1
I have a domain model that looks like this (there’s associations between the entities):   I would like to display a Data Grid that returns a list of Members whose QuestionID = 13 and TextAnswer = ‘Yes’. My selected Entity (path) is Member. My XPath constraint is the following: [TheEventManager.CheckinAnswer_Member/TheEventManager.CheckinAnswer/TheEventManager.CheckinAnswer_CheckinQuestion/TheEventManager.CheckinQuestion/QuestionID = 13 and TheEventManager.CheckinAnswer_Member/TheEventManager.CheckinAnswer/TextAnswer = 'Yes']   This XPath constraint returns a list of Members who have Answered QuestionID = 13, without taking TextAnswer = ‘Yes’ into consideration. Is it possible to solve this with an Xpath Constraint, or do I need to use a Microflow(retrieve 2 lists for each condition and intersect them)? As far as I am concerned, there’s no WHERE XPath Query Constraint, which could solve the issue. Is it possible to have a nested Xpath constraint (the first one filters for the particular QuestionID, and the second one filters for the member whose TextAnswer is ‘Yes’)? I appreciate any suggestions!  
asked
2 answers
3

Hi Daniel,

 

I suggest trying the following XPath format:

[TheEventManager.CheckinAnswer_Member/TheEventManager.CheckinAnswer[TextAnswer='Yes']/TheEventManager.CheckinAnswer_CheckinQuestion/TheEventManager.CheckinQuestion/QuestionId=13]
 

Give this approach a shot, and hopefully, it will lead you in the right direction. If you encounter any further issues, another approach you might consider is retrieving the two lists and performing an intersection, as you mentioned. This could provide an alternative solution to explore.

Best of luck

 

 

answered
1

Hi Daniel,

I would advise the microflow option to retrieve the 2 lists, and then do the intersection as you mentioned, that sounds good to me.

Also, keep in mind the attribute TextAnswer that you have, being a String it means that in your XPath constrain you also need to consider that it’s case senstive (‘Yes’ and ‘yes’ are different for example).

I hope that helps solves your question, best regards!

answered