8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

错误:不允许匹配 '[xX][mM][lL]' 的处理指令目标

Graham Toal 1月前

98 0

每当我运行以如下方式开头的 XSLT 页面时,就会出现此错误“不允许匹配 \'[xX][mM][lL]\' 的处理指令目标”:

这个错误,

不允许匹配 \'[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、本帖标题:错误:不允许匹配 '[xX][mM][lL]' 的处理指令目标
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Graham Toal在本站《xml》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 根据我的经验,文件开头意外添加了一个新的空行。删除后,它工作正常。所以我同意第一条评论。

  • 调试 XML 文件。文件中可能有空格,或者添加了额外或较少的标签。

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

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

    <Empty Row> // This Creates the issue 
    <?xml version="1.0" encoding="utf-8"?>
    
  • 进一步注意,除非“添加额外或更少的标签”位于 XML 声明之前,否则“添加额外或更少的标签”不会导致出现主题错误消息。最后,您的“要么...”语句具有误导性,因为它排除了错误的其他可能来源(上面详细描述了 #2 和 #3)。

  • 八年前,人们就已经回答过“第一行有空格”是需要检查的第一个可能性。这个答案没有增加任何新内容。

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

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

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

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

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

    1. p3

      p4

    2. p5

      p6

    3. p7

      p8

  • 我很同情你,因为间歇性问题非常难以调试。但是,除了告诉你这个错误绝对是确定性的之外,我无法提供更多帮助:如果 XML 声明出现不止一次或出现在 XML 文件顶部以外的任何地方,那么它始终是一个错误。祝你好运。

  • 如果您的 XML 消息以字符串形式存储,您可以尝试在将其传递给 SAX 解析器之前对字符串执行 trim()。出于某种原因,我收到的 XML 响应在开头引入了额外的空格,导致解析时出现上述 Xerces 错误。

  • 这是一个老话题,但这可能对某些人有帮助:手动从浏览器复制 xml 文件并将其复制粘贴到本地文本文件并保存为 xml 后,我们得到了相同的错误(有问题的文件是 pom.xml,错误是在 gradle 上进行构建时收到的)。我们发现 xml 文件的顶部有一个空行,甚至在xml标签之前,删除它就可以了!

  • xml version=\'1.0\' encoding=\'utf-8\'?之前有一个空行,非常感谢你拯救了我

  • 引用 11

    有自动生成的版权信息 XML 和空行 <resources> ,我删除它后,构建就成功了。

    enter image description here

  • 删除 XML 声明前的注释或空格可以消除此错误,但对于图像中显示的文档,无需删除 XML 声明后的注释或空白行。

  • 只需删除此行: <?xml version="1.0" encoding="utf-8"?> 因为这种错误仅因此行而发生,或者您也可以根据此答案中提到的行检查行的格式。

  • 错误。不要盲目删除 XML 声明以尝试消除此错误。了解导致此错误的三种简单可能性,然后按照提供的简单而具体的解决方案纠正实际问题。

  • 这可能是我在 StackOverflow 工作 10 年来第一次投反对票,但这确实是糟糕的建议。\'医生,我的手指疼\' - \'只要把它切掉,它就会停下来。\'

  • 这对我来说是个有用的建议,因为我的文件中重复了这一行,所以我删除了多余的一行,这样就成功了。可以编辑答案,提到检查在

  • svg 1月前 0 只看Ta
    引用 17

    我在 5,000 个目录中的 50,000 个 rdf/xml 文件(Project Gutenberg 目录文件)中遇到了类似的问题。我用 riot(在 jena 发行版中)解决了这个问题

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

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

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

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

    出奇的简单(至少在这种情况下)。

  • 引用 18

    上述错误的另一个原因是 jar 文件损坏。我在运行单元测试时遇到了同样的错误,但针对的是 Junit。删除 jar 并再次下载解决了该问题。

  • 就我而言,配置文件中的路径错误:未找到文件(路径错误)并且出现了以下异常:

    从输入流配置时出错。初始原因是不允许处理与 \'[xX][mM][lL]\' 匹配的指令目标。

  • 对于 PHP,在开始打印 XML 之前输入以下代码:

    while(ob_get_level()) ob_end_clean();
    
返回
作者最近主题: