Erro: O alvo da instrução de processamento correspondente a “ ” não é permitido

O erro no título ocorre sempre que eu executo uma página XSLT que começa da seguinte maneira:

             

Nota : Eu removi todos os espaços iniciais antes da primeira linha, mas o erro ainda ocorre!

Ferramentas baseadas em Xerces irão emitir o seguinte erro

 The processing instruction target matching "[xX][mM][lL]" is not allowed. 

quando uma declaração XML é encontrada em qualquer lugar diferente da parte superior de um arquivo XML.

Esta é uma mensagem de diagnóstico válida; outros analisadores XML devem emitir uma mensagem de erro semelhante nessa situação.

Para corrigir o problema, verifique as seguintes possibilidades:

  1. Algum espaço em branco ou outro conteúdo visível existe antes da declaração < ?xml ?> .

    Resolução : remova espaço em branco ou qualquer outro conteúdo visível antes da declaração XML.

  2. Algum conteúdo invisível existe antes da declaração < ?xml ?> . Mais comumente, isso é uma marca de ordem de byte (BOM) .

    Resolução : remova a BOM usando técnicas como as sugeridas pela página do W3C na BOM em HTML.

  3. Uma declaração < ?xml ?> Perdida existe dentro do conteúdo XML. Isso pode acontecer quando arquivos XML são combinados programaticamente ou por meio de recortar e colar. Só pode haver uma declaração < ?xml ?> Em um arquivo XML, e ela só pode estar no topo.

    Resolução : Pesquise < ?xml de uma maneira que não diferencia maiúsculas de minúsculas e remova todas, exceto a declaração XML superior do arquivo.

Razão para mim é 2 do seguinte código em um xml

 < ?xml version="1.0" encoding="utf-8"?> 

Outra razão do erro acima é o arquivo jar corrompido. Eu tenho o mesmo erro, mas para Junit ao executar testes de unidade. Removendo jar e baixá-lo novamente corrigir o problema.

Houve uma mensagem de copyright gerada automaticamente em XML e uma linha em branco antes da tag , uma vez que a removi, minha build foi bem-sucedida.

insira a descrição da imagem aqui

no meu caso foi um caminho errado em um arquivo de configuração: o arquivo não foi encontrado (o caminho estava errado) e saiu com esta exceção:

Erro ao configurar a partir do stream de input. A causa inicial foi O destino da instrução de processamento correspondente a “[xX] [mM] [lL]” não é permitido.