[
Lists Home |
Date Index |
Thread Index
]
> Why don't you just return a string - I have been told it has very
> pragmatic benefits ;->
It's very easy for users to construct strings, it's much harder to parse
them.
> More seriously, why don't you return an net.sf.saxon.om.NodeInfo or
> SequenceIterator and let the caller make a wrapper if he wants to?
That's one of the options available (the result is in general a sequence of
items, each item being an atomic value or node, and the most basic
representation of this is as a SequenceIterator returning a sequence of Item
objects, whose subclasses are AtomicValue and NodeInfo).
But if the result of the query is a document and you want to serialize it,
or deliver it as a stream of SAX events, then there's no need to materialize
the result document as a tree in memory, so sending the result to a JAXP
Result object is a useful alternative. (This is something that XQJ is
missing at the moment. There may be a reason for this in terms of expected
usage patterns: whereas with XSLT the result tree is often much bigger than
the source, people may be expecting XQuery results to be small compared with
the source.)
Michael Kay
|