From: Wolfgang M. <wol...@gm...> - 2006-10-23 19:43:54
|
> Is it to be expected that doing: > > doc("databases.xml")/*/instance[@id=$db-ref]/ > ( > session:set-attribute("scheme", string(@scheme)) > ) > > sets the session attribute as a org.exist.xquery.value.ValueSequence - > se.g. "(http)". I would think it should set it as a string. session:set-attribute will store the value in its internal XQuery representation, i.e. a string will be saved as xs:string or a sequence of strings, in which case a ValueSequence will be used. Actually, I'm not sure why you get a ValueSequence for your query if there's only a single value. I tried a similar query and it gave me a single StringValue object as expected. Anyway, it is always possible that the query engine wraps a ValueSequence around some simple atomic value during query execution. Java code should always call Sequence.itemAt(0) even if you know you're just expecting a single value. Wolfgang |