On each keyup, you send a query to the server with what the user has typed so far and have the server return with a simple list of choices. The list doesn't need to be XML; no reason it can't simply be a single string with a delimiter (e.g., a semicolon or comma between choices...or maybe a newline).