Re: [basex-talk] // versus /*/

2019-10-07 Thread thufir
Thanks, Liam.  No, not homework, just me futzing about.  I'll experiment 
a bit more -- and thanks for the suggestion.


-Thufir

On 2019-10-07 12:25 a.m., Liam R. E. Quin wrote:

On Sun, 2019-10-06 at 21:28 -0700, thufir wrote:

Do these have the same meaning?  Might there be a subtle distinction,
or
might they be read differently but functionally identical?


Are we doing your homework? :-) :-)

  //* is the same as /descendant-or-self::*
  //book means, search the whole database to find "book" elements.


  /*/book meeans make a list of all children of the top-level node, and
find book elements that are children of items in that list.

So, given
   
 
//book will find one node, and /*/book won't find any.


They're equally efficient, at least as used above?

They are doing different things. To measure efficiency, use a much
larger database than the XQuery use cases example :)

You may find Priscilla Walmsley's XQuery book helpful in learning XPath
version 3.

Best,

Liam



Re: [basex-talk] // versus /*/

2019-10-07 Thread Liam R. E. Quin
On Sun, 2019-10-06 at 21:28 -0700, thufir wrote:
> Do these have the same meaning?  Might there be a subtle distinction,
> or 
> might they be read differently but functionally identical?

Are we doing your homework? :-) :-)

 //* is the same as /descendant-or-self::*
 //book means, search the whole database to find "book" elements.


 /*/book meeans make a list of all children of the top-level node, and
find book elements that are children of items in that list.

So, given
  

//book will find one node, and /*/book won't find any.

> They're equally efficient, at least as used above?
They are doing different things. To measure efficiency, use a much
larger database than the XQuery use cases example :)

You may find Priscilla Walmsley's XQuery book helpful in learning XPath
version 3.

Best,

Liam

-- 
Liam Quin, https://www.delightfulcomputing.com/
Available for XML/Document/Information Architecture/XSLT/
XSL/XQuery/Web/Text Processing/A11Y training, work & consulting.
Barefoot Web-slave, antique illustrations:  http://www.fromoldbooks.org



[basex-talk] // versus /*/

2019-10-06 Thread thufir
Do these have the same meaning?  Might there be a subtle distinction, or 
might they be read differently but functionally identical?



>
> xquery /*/book[@id="bk112"]

  Galos, Mike
  Visual Studio 7: A Comprehensive Guide
  Computer
  49.95
  2001-04-16
  Microsoft Visual Studio 7 is explored in depth,
  looking at how Visual Basic, Visual C++, C#, and ASP+ are
  integrated into a comprehensive development
  environment.

Query executed in 1.22 ms.
>
> xquery //book[@id="bk112"]/title
Visual Studio 7: A Comprehensive Guide
Query executed in 1.52 ms.
>
> xquery /*/book[@id="bk112"]/title
Visual Studio 7: A Comprehensive Guide
Query executed in 1.67 ms.
>


They're equally efficient, at least as used above?





thanks,

Thufir