In the thread "Document or Data" it was discussed wether to perform document validation on the client side or on the server side. Here's my personal opinion.
I'm coming from the RDBMS world. For historic reasons, we've been performing validation on the client side for years (decades, actually), because it seemed easier. But with growing application complexity, we soon found out that it is much better to perform validation on the server side, because otherwise you definitely end up with multiple versions of the same code or (worse) with inconsistent or incorrect data in the database. Once incorrect data is in the database, it is very hard to find out which data exactly is incorrect and how to correct it. So we found out that -in the real world- it is better to perform validation on the server side, just like the theory tells us. If you want to call XIndice a "database", then maintaining integrity and consistency should be No.1 on the ToDo list. Others might say that performance is more important, but my personal opinion is that hardware gets cheaper and more powerful all the time, but your data is the treasure you must keep. At any time, you can buy a new CPU, more RAM and so on for a few dollars, but once your database is corrupt you are doomed. No.2 on the ToDo list should be the ability to run the database in a way that computing power can be shared between a handful computers. Then some processes could do validation while others could do storage (input/output). With such a scalable design you can get better performance by just buying new computers. Henning