1. A system for hosting an XML file system, the system comprising: an XML web service for two-way communication with a client computing device; a message server for transmitting data updates from the XML file system to the client computing device; a file server for storing raw data files; a folder database for storing folder hierarchy information; and an index server for accessing and indexing the raw data files on the file server and the folder hierarchy information in the folder database and storing full-text indexes of the raw data files and the folder hierarchy information; wherein the XML Web service is configured to construct a document describing a folder tree, including obtaining folder metadata associated with a root folder from the folder database, obtaining metadata describing each file in the root folder from the index server, and inserting the folder and file metadata corresponding to the root folder into the document; wherein to construct a document describing a folder tree further includes: for each subfolder having the same permissions with respect to a user as the root folder, obtaining folder metadata associated with the subfolder from the folder database, obtaining metadata describing each file in the subfolder folder from the index server, and inserting the folder and file metadata corresponding to the subfolder into the document; and for each subfolder having different permissions with respect to the user as the root folder, inserting an XLink corresponding to the subfolder into the document, the XLink allowing a user to access the subfolder once the user's right to access the subfolder is authenticated.