but it still constrains operations to one snip at a time
No, you can use several doc() and join them but you have to write the names of the snips.
I can't use an XQuery to find, for example, all snips with a date label with this approach
I think I have to do some thinking how this could be solved.
update
- Use lucene search in url to a servlet returning a list of matching snip names which you can use in a loop and read all content by doc(.../$name) example with a label: ...?query=xmppID:senikk*
- Make a servlet returning all snipsnap names and labels as a xml document