Hi Csaba (cc to the list),
You already found the reason for the excessive memory consumption by
yourself. If you don’t need to rely on the pathological element names, you
can replace them with a simple <i/> element, e.g. as follows:
let $file := file:base-dir() || 'SPANYOLORSZÁG.xml'
return file:write-text-lines(
'normalized-' || $file,
file:read-text-lines($file) ! replace(., '<(/?)i\d+>', '<$1i>')
)
This will also reduce memory consumption quite a lot.
It would be a considerable effort to change the limit for element and
attribute names, and it would also increase the database size for ordinary
XML input, which is it’s improbable we will touch this. However, a
relatively easy exercise would be to output error messages once the limits
are exceeded, and not at the very end.
Best,
Christian