Thanks for your response as always :)
I believe I do need to use contains, as the data I'm running my filters on are concatenated strings that may be made of any words in any order, or even short paragraphs. My data might say "Dave, Jim, Sarah" or "Sarah, Jim, Dave" and then I'd run a filter rule that states if Data does not contain user entry "Dave", then hide. Then perhaps I want to further filter, so I insert a filter item, and further filter out "Jim".
To use your example "contains" would also give the freedom to type in "america" and filter out both "americanum" and "americana"
In your example simply changing the rule from equals to contains causes the rule to only apply to the first filter field, which has been my experience so far.
My solution thus far has just been to manually place five separate textbox filters on my form and run all separate "does not contain" filter rules on my data set. Ideally though I would like it to be a repeating table so I can repeat the filtering ad infinitum and not limit my users.
Edit:
Basically how do I (or can I?) turn this field1 path into something that points to any occurrence of field 1, and not just the first occurrence?
not(contains(d:Data, xdXDocument:get-DOM()/my:myFields/my:group1/my:group2/my:field1))