13. A system for iterative spatial searching comprising a database server and a host server, wherein the database server comprises: an input arranged to receive a first input query comprising an XML string generated by a spatial search application in response to user input defining a first search specification; a stored procedure arranged to receive an XML string as a parameter and to generate a temporary table for each term in the first search specification, wherein the stored procedure parses the XML string received to perform the search; a processor; memory arranged to store a plurality of datasets and attributes associated with those datasets in a plurality of tables, at least one dataset comprising spatial data classified according to one or more vocabularies which are system-defined or user-defined, and further arranged to store device-executable instructions that, when executed by the processor, direct the database server to perform a search by joining each temporary table with a table stored in the memory to identify any datasets satisfying the input query; an output arranged to return results comprising the identified datasets and attributes associated with each identified dataset; the input further arranged to receive a second input query comprising an XML string generated by a search application in response to user input defining a second search specification, the second search specification iteratively refining the first search specification based on the returned results of the first input query; and the output further arranged to return results based on the second input query which are not a subset of the results returned based on the first input query.
13. A system for iterative spatial searching comprising a database server and a host server, wherein the database server comprises: an input arranged to receive a first input query comprising an XML string generated by a spatial search application in response to user input defining a first search specification; a stored procedure arranged to receive an XML string as a parameter and to generate a temporary table for each term in the first search specification, wherein the stored procedure parses the XML string received to perform the search; a processor; memory arranged to store a plurality of datasets and attributes associated with those datasets in a plurality of tables, at least one dataset comprising spatial data classified according to one or more vocabularies which are system-defined or user-defined, and further arranged to store device-executable instructions that, when executed by the processor, direct the database server to perform a search by joining each temporary table with a table stored in the memory to identify any datasets satisfying the input query; an output arranged to return results comprising the identified datasets and attributes associated with each identified dataset; the input further arranged to receive a second input query comprising an XML string generated by a search application in response to user input defining a second search specification, the second search specification iteratively refining the first search specification based on the returned results of the first input query; and the output further arranged to return results based on the second input query which are not a subset of the results returned based on the first input query. 16. A system according to claim 13 , wherein the host server comprises: a processor; an input for receiving first user input data from a user browser, the first user input data defining the first search specification; and memory arranged to store device-executable instructions that, when executed by the processor, direct the processor to provide a user interface for searching and in response to receiving first user input data, to generate an XML string encapsulating the search specification; and an output for communicating the XML string to the database server.