Я думаю, что вам нужен способ описать запрос для фильтрации объектов User.
Для этого вам нужно создать собственный тип, и внутри него определить правила:
<xs:complexType name="query">
<xs:sequence>
.... equals rule ....
.... between rule ....
....
</xs:sequence>
</xs:complexType>
Вам понадобится также имя поля, значение / значения для поля.как операция, которая применяется к нему (имя пользователя <equals>
что-то, количество логинов <between>
что-то и что-то еще и т. д.).
Таким образом, запрос будет выглядеть примерно так:
<query>
<equals>
<field>username</field>
<value>John Doe</value>
</equals>
....
<between>
<field>logins</field>
<startValue>10</startValue>
<endValue>20</endValue>
</between>
</query>
Из того, что вы описываете, простой случай заключается в "И" всех этих условиях, чтобы получить ваш фильтр.Но кроме того, у вас могут быть комбинации «ИЛИ», «НЕ» и т. Д.
Сложной задачей будет определение схемы XML для этого типа (для правильной проверки входных данных).Если это хлопотно, у вас может быть тег запроса с любым элементом или любым типом , хотя я настоятельно рекомендую против него.
Взгляните на схему запросаЯзык разметки для совместной работы (CAML) для вдохновения.Надеюсь, это поможет!