|
[XQuery Talk Mailing List Archive Home] [By Date] [By Thread] [By Subject] [By Author] [Recent Entries] [Reply To This Message] Programmatically constructing sequences ("a", "b", "c") for XQueryAdam Retter adam.retter at googlemail.comMon Aug 10 18:42:03 PDT 2009
> Adam Retter schrieb:
>>
>> I think the problem is that we are missing the bigger picture of the
>> XQuery.
>>
>> You have some XQuery and you want to construct a sequence of strings,
>> how in the XQuery do you get access to the data that you want to form
>> a sequence of strings from?
>
> Hi Adam,
>
> you're absolutely right - I forgot to include the context; sorry for
> that. The parameter is supplied programmatically in the query context,
> which holds prefix-namespace-mappings, variables, etc. (For more detail,
> see XmlQueryContext in the DBXML documentation.)
>
> Using a literal:
>
> xqc.setVariableValue("files", new XmlValue("eins"));
>
> Using a StringBuilder:
>
> xqc.setVariableValue("files", new XmlValue(sb.toString()));
>
> Does that make it clear enough?
>
> I think I know what the problem is. The XmlValue constructor does not
> seem designed to accept sequences. What I mean to be a sequence -
> ('eins','zwei','drei') - is interpreted as a literal string.
I am not familiar with Berkely XML DB, but I had a quick look through
the API docs for you. You are correct XMLValue is for expressing an
atomic type and not a sequence, what you need is XmlResults which can
be used for expressing a sequence of XMLValue.
XMLResults myFiles = XMLManager.createResults();
myFiles.add(new XMLValue("value1"));
myFiles.add(new XMLValue("value2"));
xqc.setVariableValue("files", myFiles);
--
Adam Retter
sip:http://x-query.com/mailman/listinfo/talk
http://www.adamretter.org.uk
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|






