Vadim's comments made me think again about the caching of selection lists. And I don't think having a shorter cache period than a form processing (as part of one request) makes no sense as it leads to inconsistent forms when a selection list is reused. Having this you *can* use time-based caching as you just need to check the cache validity on first access to the source during the form processing. During the form processing you always use the same (buffered) selection list.
Now I can think of optimizations of the above when you only use a selection list (or the source it is based on to be exact) once in a form: there is no need for buffering. Can this be determined? Now the other validity scopes. I do not have a real idea how to configure it. @cache="request|form|session|static"? (Is current "static" bound to form instance or even longer? If it is the first it will be the same like what I had in mind with "form".) Time based caching can be easily done on the pipeline as we know or using the cached: pseudo protocol, but then you still either have no buffered selection list sax events or you need an object holding the buffer with the necessary lifetime. Joerg
