I have updated my oss packages. All the changes were already in the public repositories, but some packages released here had not been updated in years: Internet Tools now have complete support for XPath 3.1 and XQuery 3.1, and also parts of 4.0. Since XPath 3.1 supports querying JSON in a standard way, I am deprecating most of the JSONiq implementation. XML/HTML serialization now produces strings…
I have modernized the BBUtils and Internet Tools : Lengths are stored in SizeInt , so they will support >2GB data structures on 64-bit systems. If you were using functions that return lengths in var parameters, you need to adjust your variables as well, or it will not compile. So far the units assumed that all strings are UTF-8 encoded, which was fine on FPC 2, but could return non-sense with the…
Time for an update of the Internet Tools that does not involve XQuery: Downloaded data is now returned through a callback function, so it can be written directly in the destination buffer without copying, no matter if the destination is a string, stream, or file. The various url/hex encoding functions TInternetAccess.urlEncodeData , xquery.urlHexEncode , bbutils.strEscapeToHex are merged and the…
I have a new way of sorting my mails . It is the ten year anniversary of VideLibri : 4183 commits, 88 kLOC 256 kLOC when counting test cases, etc., says Open Hub , 30 000 test cases, 18 different supported library systems/APIs used by at least hundreds of libraries. And yet there is still no English translation. And to whoever owns 91.200.12.0: can you please stop posting 1000 spam entries to my…
It seems people have a hard time knowing, which functions they can use in Xidel / Internet Tools, even though most are described in the XPath/XQuery, EXPath, or JSONiq standards. Therefore I have assembled a complete list of all implemented functions .
I have made my XQuery interpreter much faster, after profiling it several times over the XQuery Test Suite. Some key improvements are: The query is fully parsed before being evaluated. Previously some parts were left as a string and only parsed during the evaluation, e.g. axes names. Although this change makes it of course slower when running many queries with untaken branches. Some specific query…
My Internet Tools (and thus Xidel and VideLibri) have now a complete XPath/XQuery 3.0 implementation. It has probably become one of the most standard conformant interpreters out there. The next goals would be performance improvements and support for html5 as well as the still preliminary XPath/XQuery 3.1 standard. Remember the survey, if it one day should default to 3.1 instead of JSONiq .
"How do you handle JSON in the XQuery world?", was a question that just arose on the XML mailing list and is quite relevant here. Two competing standards were made, the real XQuery 3.1 currently being specified by the W3C, and an earlier standard JSONiq, which exists in two versions, a standalone version and a JSONiq extension to XQuery 3.0. My Xidel is based on the JSONiq standard but might be…