Java e XML - orientação (não sei se é "Básica" ou "Intermediária")

Oi,
Estou precisando de uma orientação sobre Java e XML. Quero desenvolver um site que faça o seguinte:

  1. o site dá acesso a um documento XML. Esse documento obedece a uma DTD específica, chamada EAD-2002. Os documentos EAD são documentos médios ou longos, que descrevem o acervo de um arquivo histórico (instituições arquivísticas, não arquivos de computador). Cada site dá acesso a um único documento EAD.
  2. quero construir um instrumento de busca simples para esse documento EAD. Esse instrumento de busca oferece uma caixa de texto. O usuário digita uma ou várias palavras, e o site retorna a parte do documento que contém a(s) palavra(s). O núcleo desse mecanismo de busca deve ser um método para identificar o elemento que contém uma determinada palavra. Identificado esse elemento, eu consigo processar o resto.
  3. sobre esse mecanismo de consulta é que eu queria uma orientação. Da XML, eu conheço um pouco mais a XSLT e XPath. Mas isso não parece bastar. Eu precisaria usar XQuery? Ou seria outro mecanismo? Nesse caso, que ferramenta(s) usar para executar a consulta? Para XSLT estou usando Xalan-J. Há alguma outra ferramenta compatível para essa tarefa?
    Obrigado pela resposta,
    Hel_all

Experimente JSTL 1.1, a qual oferece tags que dão suporte à leitura e navegação de arquivos XML.

Referências:
http://java.sun.com/products/jsp/jstl/ http://www.portaljava.com.br/home/modules.php?name=Content&pa=showpage&pid=101
http://www.conexaojava.com.br/conexaojava04/download/minicursos/JSTL.facilitando.o.JSP-Conexao.Java.2004.pdf
http://www-128.ibm.com/developerworks/java/library/j-jstl0211.html

Espero ter ajudado.

ze_kiefa,
A indicação parece muito boa, vou estudá-la.
Obrigado!
Hel_all