are you sure you are querying the same collection? I am quite confused by your 
different outputs, because they seem to have not much in common (the results on 
the left almost exclusively return URIs pointing to opengis.net and the one on 
the right to localhost:8080?

If you are sure it would most certainly be helpful if you provide the input XML.

Also, looking at your query I don't really get why you write it that way, e.g. 
"for $i in $x return $i" is identical as simply "$x"...


Senacor Technologies Aktiengesellschaft - Sitz: Eschborn - Amtsgericht 
Frankfurt am Main - Reg.-Nr.: HRB 105546
Vorstand: Matthias Tomann, Marcus Purzer - Aufsichtsratsvorsitzender: Daniel 

-----Urspr?ngliche Nachricht-----
Von: basex-talk-boun...@mailman.uni-konstanz.de 
[mailto:basex-talk-boun...@mailman.uni-konstanz.de] Im Auftrag von Bang Pham Huu
Gesendet: Freitag, 2. Februar 2018 08:45
An: basex-talk@mailman.uni-konstanz.de
Betreff: [basex-talk] Big Surprise from outputs in version 7.3.1 and 8.6.7 ?


I've been using BaseX to query an XML file in version 7.3.1 and it worked well. 
However, because of this problem 
and I was suggested to use version 8.6.7 then I changed to use this version in 
a Java Web application which queries the old BaseX files from version 7.3.1.

However, I didn't know that this version changes created a very surprise result 
between version 7.3.1 and 8.6.7 (i.e: data is missing in version
8.6.7 from output result !!!).

Could someone tell me why it happens and how to use BaseX version 8.6.7 on 
BaseX database from version 7.3.1.

Here is the difference between 2 outputs on same old BaseX database version 
7.3.1 (left: 8.6.7, right: 7.3.1) with same XQuery:

The XQuery is:

 declare namespace gml = "http://www.opengis.net/gml/3.2";;
 declare function local:get-children() {
 let $x := collection('userdb')//gml:identifier/text()
      if (exists($x)) then
           for $i in $x
                return $i
      else <empty/>

  let $x := distinct-values(local:get-children())
  for $i in $x return $i


Reply via email to