这个错误,

不允许处理指令目标匹配“[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>

注意:我删除了第一行之前的任何前导空格,但错误仍然发生!


当前回答

有必要检查服务器的文件夹,看看是否有丢失的pom.xml文件。

我发现我遇到了其他人所描述的使用格式不正确的pom.xml的问题,但是在一个我没想到会在服务器上的文件夹中。一个旧建筑还在附近,不受欢迎。

其他回答

调试XML文件。要么有空间,要么添加了额外或更少的标签。

为了更好地理解,可以通过命令行构建项目。Windows: gradlew构建

在我的例子中,AndroidManifest.xml在第一行有一个空格

<Empty Row> // This Creates the issue 
<?xml version="1.0" encoding="utf-8"?>

基于xerces的工具将发出以下错误

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

当在XML文件顶部以外的任何地方遇到XML声明时。

这是一条有效的诊断消息;在这种情况下,其他XML解析器应该发出类似的错误消息。

要纠正该问题,请检查以下可能性:

Some blank space or other visible content exists before the <?xml ?> declaration. Resolution: remove blank space or any other visible content before the XML declaration. Some invisible content exists before the <?xml ?> declaration. Most commonly this is a Byte Order Mark (BOM). Resolution: Remove the BOM using techniques such as those suggested by the W3C page on the BOM in HTML. A stray <?xml ?> declaration exists within the XML content. This can happen when XML files are combined programmatically or via cut-and-paste. There can only be one <?xml ?> declaration in an XML file, and it can only be at the top. Resolution: Search for <?xml in a case-insensitive manner, and remove all but the top XML declaration from the file.

有必要检查服务器的文件夹,看看是否有丢失的pom.xml文件。

我发现我遇到了其他人所描述的使用格式不正确的pom.xml的问题,但是在一个我没想到会在服务器上的文件夹中。一个旧建筑还在附近,不受欢迎。

我在5000个目录中的50,000个rdf/xml文件中遇到了类似的问题(Project Gutenberg目录文件)。我用riot(耶拿分布)解决了它

目录为cache/epub/NN/ NN。rdf(其中NN是一个数字)

在所有文件所在目录的上面的目录中,即在缓存中

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

这可能会产生许多警告,但结果的格式可以加载到jena(使用fuseki web界面)。

出人意料的简单(至少在这种情况下)。

对于PHP,在开始打印XML之前放入这行代码:

while(ob_get_level()) ob_end_clean();