XML no lugar de Banco de Dados SQL?

Pessoal tenho uma duvida…
Vi algumas citações dos administradores que o uso de xml no lugar de banco de dados não é recomendavel
entretanto preciso escrever uma aplicaçãozinha de agenda de contatos com cadastro, busca, inserção e edição dos contatos, queria que a aplicação fosse portatil por motivos de segurança e mobilidade mesmo. Minha ideia seria que ela rodasse do pendrive, sem a necessidade de possuir um banco de dados como postgres instalado na maquina, então pensei em utilizar XML.
Essa abordagem é incorreta?
Existe algum tipo de banco sql que me permita tal flexibilidade?
qual API XML devo utilizar? DOM? SAX? ou uma combinação das duas a depender da ação?
tipo se for editar uso DOM se for inserir consultar uso SAX?
Fico no aguardo de respostas às minhas dúvidas e desde já obrigado a qualquer um que vier a responder esse tópico pela atençãoe tempo dispensados à isso.

oi walterti

tenta dar uma olhada no HSQLDB

abs

Se ela tiver até 1000 contatos não vejo por que não usar XML ou então um arquivo com um objeto serializado. Não precisa de um HSQLDB completo, no entanto você tem de considerar que ao usar XML você perde a capacidade de fazer queries complexas (não vale me dizer que XML tem XQuery e outros quetais - não sei se a implementação atual do XML no Java suporta isso; acho que suporta XPath, XSTL e outras coisas, mas não XQuery. Só conferindo.)

Dê uma olhada no Space4J

Pow gostei desse Space4j, dar uma estudada, mas acho que atende perfeitamente à minha necessidade.
eh uma pena nao poder usar DB pq eu adoro SQL e a gama de opções de busca que oferece, mas acho que esse Space4J vai resolver visto que as buscas serão relativamente simples. qualquer duvida volto a postar.

Obrigado pela atenção e pelas respostas