Como instanciar um arquivo XML dentro da aplicação JSF?

Prezados,

Tenho uma aplicação JSF2 / RichFaces4 hospedada no Tomcat e gostaria que minhas classes pudessem consumir um arquivo XML que fique em algum lugar da árvore de diretórios da minha aplicação.
Eu preciso fazer um parse neste arquivo ou ler as propriedades de outra maneira, a partir de uma classe Java da minha aplicação.

Como é a melhor maneira de fazer?

Posso utilizar algum recurso do FacesContext?

Eu tentei fazer utilizando ResourceBundle, mas não tive sucesso em fazer o ResourceBundle de um arquivo XML, parece funcionar só pra arquivos .properties.

Para que você quer ler esse arquivo?

Tenho uma série de propriedades estruturadas nele, regras diversas que minhas classes devem utilizar pra cumprir as regras de negócio corretamente.
Várias coisas que vão definir o fluxo do processo.

Eu consiguiria tranquilamente fazer o parse e usar na aplicaçao, mas queria saber se posso pegar o arquivo a partir de um local específico do contexto da aplicação.

Seria interessante você usar um framework para fazer o marshalling/unmarshalling de seus arquivos XML, como alguma implementação do JAX-B ou o XStream.

Recomendo muito o XStream que, embora não tenha todos os recursos de uma implementação do JAX-B, é muito mais simples de se usar.

Existe um artigo no blog da Caelum que fala sobre JAX-B. Informações sobre o XStream podem ser encontradas no seu site oficial.