You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@xmlbeans.apache.org by Vineet Bhatia <vi...@gmail.com> on 2005/11/01 12:47:27 UTC

Re: XQuery Order by support in xmlbeans

(1) execQuery() and sort by - no exception, XML is empty

<CustAssAcc><Data><DataSet/></Data><Parameters/><Meta/></CustAssAcc>

(2) execQuery() and no sort by - Same as (1)

The xquery works when I tested it with saxon parser.

- vineet

On 10/31/05 1:53 PM, "Mike Carey" <mc...@bea.com> wrote:

> Very interesting - that should be an illegal selectPath query, shouldn't
> it.
> (I wonder why it's not properly noticed and blocked.  Good catch, let's
> see
> what happens now.)
> 
> -----Original Message-----
> From: Till Westmann
> Sent: Monday, October 31, 2005 10:51 AM
> To: user@xmlbeans.apache.org
> Subject: Re: XQuery Order by support in xmlbeans
> 
> Hi Vineet,
> 
> I'm not sure what the problem is, but there are some things I'd like
> you to try:
> 
> 1) From the stack trace it seems that you are using
> XmlObject.selectPath to run the query.
> Could you try running it using execQuery?
> 
> 2) What happens if you run the exact same query without the sort by
> expressions?
> Does everything work fine?
> 
> Cheers/thanks,
> Till
> 
> On Oct 28, 2005, at 6:55 AM, Vineet Bhatia wrote:
> 
>> Hi Till,
>> 
>> Thanks for the response.
>> 
>> "sort by(Name)" didn't work. I get a IllegalStateException -
>> Illegal path
>> [ELEMENT [CustAssAcc], [anyType@http://www.w3.org/2001/XMLSchema],  ]
>> 
>> Here is the complete xQuery -
>> <CustAssAcc>
>> <ErrorSet>
>> {
>> for $e in $this//ErrorSet
>> return $e
>> }
>> </ErrorSet>
>> <Data>
>> <DataSet>
>> {
>> for $a in ($this//DataItem sort by(AssignedAccount))
>> return
>> <DataItem>
>> {$a/*}
>> </DataItem>
>> sort by(AssignedAccount)
>> }
>> </DataSet>
>> </Data>
>> <Parameters>
>> {
>> for $p in $this//Parameters
>> return $p
>> }
>> </Parameters>
>> <Meta>
>> {
>> for $m in $this//Meta
>> return $m
>> }
>> </Meta>
>> </CustAssAcc>
>> 
>> I tried the "sort by" in two places - (1) after the return (2) part
>> of the
>> for in clause. Both gave me IllegalStateException. Here is the
>> stacktrace -
>> java.lang.IllegalStateException: Illegal path [ELEMENT [CustAssAcc],
>> [anyType@http://www.w3.org/2001/XMLSchema],  ]
>>  at
>> com.bea.xbean.store.XqrlImpl.doNext(Lcom.bea.xbean.store.Cursor
>> $Selections;)
>> Z(XqrlImpl.java:199)
>>  at
>> com.bea.xbean.store.XqrlImpl.next(Lcom.bea.xbean.store.Cursor
>> $Selections;)Z(
>> XqrlImpl.java:66)
>>  at
>> com.bea.xbean.store.Cursor$Selections.setCursor
>> (Lcom.bea.xbean.store.Cursor;
>> I)Z(Cursor.java:3260)
>>  at
>> com.bea.xbean.store.Cursor.selectPath
>> (Ljava.lang.String;Lcom.bea.xml.XmlOpti
>> ons;)V(Cursor.java:2903)
>>  at
>> com.bea.xbean.values.XmlObjectBase.selectPath
>> (Ljava.lang.String;Lcom.bea.xml
>> .XmlOptions;)[Lcom.bea.xml.XmlObject;(XmlObjectBase.java:395)
>>  at
>> com.bea.xbean.values.XmlObjectBase.selectPath(Ljava.lang.String;)
>> [Lcom.bea.x
>> ml.XmlObject;(XmlObjectBase.java:379)
>>  at
>> portlets.CustAssignAccnt.CustAssignAccntController.reloadPage
>> (Lportlets.Cust
>> AssignAccnt.CustAssignAccntController$BeginForm;)V
>> (CustAssignAccntController
>> .jpf:207)
>>  at
>> portlets.CustAssignAccnt.CustAssignAccntController.begin
>> (Lportlets.CustAssig
>> nAccnt.CustAssignAccntController$BeginForm;)
>> Lcom.bea.wlw.netui.pageflow.Forw
>> ard;(CustAssignAccntController.jpf:97)
>>  at
>> jrockit.reflect.NativeMethodInvoker.invoke0
>> (Ljava.lang.Object;ILjava.lang.Ob
>> ject;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
>>  at
>> jrockit.reflect.NativeMethodInvoker.invoke(Ljava.lang.Object;
>> [Ljava.lang.Obj
>> ect;)Ljava.lang.Object;(Unknown Source)
>>  at
>> jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;
>> [Ljava.l
>> ang.Object;)Ljava.lang.Object;(Unknown Source)
>>  at
>> java.lang.reflect.Method.invoke(Ljava.lang.Object;
>> [Ljava.lang.Object;I)Ljava
>> .lang.Object;(Unknown Source)
>> 
>> 
>> Seems like I am missing something trivial?
>> 
>> - vineet
>> 
>> 
>> On 10/28/05 1:31 AM, "Till Westmann" <ti...@bea.com> wrote:
>> 
>>> The XQuery engine in WebLogic 8.1 supports the August 2002 version of
>>> the XQuery spec.
>>> The "order by" clause was introduced in the November 2002 version.
>>> In the August 2002 version sorting is done using the "sort by"
>>> expression.
>>> (http://www.w3.org/TR/2002/WD-xquery-20020816/#id-sort-expressions)
>>> 
>>> So this query should produce the desired result:
>>> 
>>> <DataSet> {
>>>      for $a in $this//DataItem
>>>      return
>>>          <DataItem> {
>>>              $a/*
>>>          } </DataItem>
>>>      sort by (Name)
>>> } </DataSet>
>>> 
>>> Cheers,
>>> Till
>>> 
>>> -----Original Message-----
>>> From: Vineet Bhatia [mailto:vineet.vineetb@gmail.com]
>>> Sent: Thursday, October 27, 2005 9:23 AM
>>> To: user@xmlbeans.apache.org
>>> Subject: XQuery Order by support in xmlbeans
>>> 
>>> Is this supported in XMLBeans weblogic 8.1 sp4?
>>> 
>>>      <DataSet>
>>>      {
>>>      for $a in //DataItem
>>>      order by $a/Name
>>>      return
>>>      <DataItem>
>>>          {$a/*}
>>>      </DataItem>
>>>      }
>>>      </DataSet>
>>> 
>>> I didn't get any help from BEA's xmlbeans forum.
>>> I want to sort the xmlbean by $a/Name.
>>> This works on saxon's xquery implementation.
>>> 
>>> Thanks in advance.
>>> - vineet
>>> 
>>> 
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-unsubscribe@xmlbeans.apache.org
>>> For additional commands, e-mail: user-help@xmlbeans.apache.org
>>> 
>>> 
>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@xmlbeans.apache.org
>> For additional commands, e-mail: user-help@xmlbeans.apache.org
>> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@xmlbeans.apache.org
> For additional commands, e-mail: user-help@xmlbeans.apache.org
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@xmlbeans.apache.org
> For additional commands, e-mail: user-help@xmlbeans.apache.org
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@xmlbeans.apache.org
For additional commands, e-mail: user-help@xmlbeans.apache.org