Ошибка: соответствие целевой команды обработки "[xX] [mM] [lL]" не допускается

Ошибка в заголовке возникает всякий раз, когда я запускаю страницу XSLT, которая начинается следующим образом:

<?xml version="1.0" encoding="windows-1256"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:include href="../header.xsl"/>
  <xsl:template match="/">
    <xsl:call-template name="pstyle"/>
    <xsl:call-template name="Validation"/>
    <xsl:variable name="strLang">
      <xsl:value-of select="//lang"/>
    </xsl:variable>
    <!-- ////////////// Page Title ///////////// -->
    <title>
        <xsl:value-of select="//ListStudentFinishedExam.Title"/>
    </title>

Примечание. Я удалил все ведущие пробелы перед первой строкой, но ошибка все еще происходит!

Ответ 1

Инструменты на основе Xerces испускают следующую ошибку

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

когда объявление XML встречается где угодно, кроме верхней части XML файла.

Это действительное диагностическое сообщение; другие синтаксические анализаторы XML должны выпустить аналогичное сообщение об ошибке в этой ситуации.

Чтобы устранить проблему, проверьте следующие возможности:

  • Некоторое пустое пространство или другое видимое содержимое существует до <?xml ?> декларация.

    Разрешение: удаление пробела или любого другого видимое содержимое перед объявлением XML.

  • Некоторый невидимый контент существует до <?xml ?> декларация. Чаще всего это Знак порядка байтов (BOM),.

    Разрешение: Удалите спецификацию с помощью техник, которые предлагаются W3C страницы на спецификации в HTML.

  • В XML-содержимом существует объявление stray <?xml ?>. Это может произойти, когда файлы XML объединены программно или через вырезание и вставку. Может быть только одно объявление <?xml ?> в XML файле, и он может быть только сверху.

    Разрешение: поиск <?xml без учета регистра и удалить все, кроме верхнего XML объявление из файла.

Ответ 2

Причина для меня 2 следующих кода в одном XML

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

Ответ 3

Другая причина вышеупомянутой ошибки - поврежденный файл jar. Я получил ту же ошибку, но для Junit при выполнении модульных тестов. Исправлена ​​ошибка с удалением банки и ее загрузкой.

Ответ 4

Было автоматически сгенерировано сообщение об авторском праве в XML и пустая строка перед <resources>, после того как я удалил его, моя сборка прошла успешно.

enter image description here

Ответ 5

в моем случае был неправильный путь в файле конфигурации: файл не был найден (путь был неправильным), и он вышел с этим исключением:

Ошибка настройки из входного потока. Первоначальная причина была: Соответствие цели инструкции обработки "[xX] [mM] [lL]" не разрешено.

Ответ 6

У меня была похожая проблема с 50000 файлов rdf/xml в 5000 каталогов (файл каталога Project Gutenberg). Я решил это с бунтом (в распределении jena)

каталог является cache/epub/NN/nn.rdf (где NN - число)

в каталоге над каталогом, где находятся все файлы, т.е. в кеше

riot epub/*/*.rdf --output=turtle > allTurtle.ttl

Это может привести к большому количеству предупреждений, но результат будет в формате, который можно загрузить в jena (используя веб-интерфейс fuseki).

удивительно просто (по крайней мере, в этом случае).

Ответ 7

Для PHP поместите эту строку кода перед началом печати XML:

while(ob_get_level()) ob_end_clean();