Hello,

XQuery is a lovely language and together with BaseX it is very lovely.

But now, for a project that need Python, I find difficulties understanding the general workflow communicating between BaseX and Python.

My basic situation boils down to 1) execute a query on BaseX that returns a list of data 2) analyse every item in the in Python 3) push the analysis result back in to BaseX.

I have done updates like this solely in XQuery but this time I need the analysis part done in Python.

Since I seem to only get a list of strings out of a query executed by the client, is this usecase even possible?

Below is attached my sample running code

Best regards,
Kristian K

```Python
from BaseXClient import BaseXClient

# open a session
session = BaseXClient.Session('localhost', 1984, 'admin', 'admin')

# execute a query that returns a list of entry elements
query = session.query("""
let $list :=
  <list>
    <entry>
      <a>1</a>
      <b>2</b>
    </entry>
    <entry>
      <a>1</a>
      <b>2</b>
      <c>3</c>
    </entry>
  </list>

let $items :=
    for $entry in $list/entry[not(exists(./c))]
      return $entry

return $items
"""
)

# process each item of the query
for typecode, item in query.iter():
  print(type(item))
  print(item)

session.close()
```

This returns simply:
<class 'str'> # the type of returned item is of class 'str'
<entry>        # this is the content of the plain text object
  <a>1</a>
  <b>2</b>
</entry>