Because of the size, is there a way to store xml-data as archive
If you want to compress your XML documents with XQuery, you can have a look at the Archive or ZIP Module of BaseX. I am not sure, however, if this is what you are looking for?
(with possibility to search) ?
The BaseX implementation of fn:doc() and fn:collection() supports zipped files as arguments. The contents will be unzipped automatically:
collection('my-xml-files.zip')
If you create databases, you can specify ZIP files as input, too.