Olá.
Estou com o seguinte problema, eu estou precisando recuperar a partir do nome da classe de um servlet o seu url-mapping.
Para isso decidi usar pesquisa com XPath no arquivo web.xml.
Para isso faço duas buscas:
uma com //servlet[servlet-class=‘AlgumServlet’] para pegar o nome do servlet no xml e outra com
e outra com //servlet-mapping[servlet-name=‘resultado da primeira busca’]
Até aqui tudo bem, só que quando uso o xpath com a seguinte tag no web.xml
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee [url]http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
ele fala que web-app é usado mas não declarado no DTD/Schema.
e isso faz com que minha busca não retorne porcaria nenhuma.
Já se eu diminuir o código para simplesmente
<web-app>
minha buscas funcionam sem problemas…
Eu pensei em pegar o arquivo web.xml, ir lendo ele e coloca-lo em uma array de bytes trocando essa linha, mas me pareceu uma tremenda gambiarra. Alguém tem uma sugestão mais elegante?
Há, eu estou usando a Classe XPath do pacote javax.xml.xpath.
[]'s