繁体   English   中英

序言中不允许使用Maven Docbook插件内容

[英]maven docbook plugin content not allowed in prolog

我正在使用Maven Docbook插件(com.agilejava.docbkx),并且正在使用自定义xsl文件覆盖某些属性,它看起来像:

<?xml version='1.0' encoding='UTF-8'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:attribute-set name="section.title.properties">
    <xsl:attribute name="font-family">Times</xsl:attribute>
  </xsl:attribute-set>
</xsl:stylesheet>

当我运行Maven插件时,出现以下错误

Embedded error: org.xml.sax.SAXParseException: Content is not allowed in prolog.

我在Windows上运行,并且尝试在记事本,记事本++,Eclipse和Cygwin中创建文件,但均出现错误。 有人知道为什么吗?

导入主要的docbook样式表后:

<xsl:import href="urn:docbkx:stylesheet"/>

一切正常。

urn:docbkx:stylesheet可以视为符号链接。 urn:docbkx:stylesheet实际要导入的内容取决于您在pom.xml指定的自定义项(html,xhtml等)。 如果要使用xhtml / chunk.xsl定制,请首先在pom.xml指定配置<xhtmlCustomization> 然后通过以下方式在您的XSL中进行指定:

<xsl:import href="urn:docbkx:stylesheet/chunk.xsl"/> 

在这种情况下,插件将提取xhtml样式表的chunk.xsl表。 有关如何使用docbkx-tools作为Maven DocBook插件博客的文章,进一步说明了所需的细节,以及所需的完整配置。

如果您是从Web浏览器中打开的XML复制并粘贴的,那么您可能已经完成了我所做的工作,即复制和粘贴+和-小部件以扩展和收缩xml代码段。

这会将大量的“-”和“ +”字符放入您的副本中,并使验证程序失败。

检查样式表中文档开头的开始标记之前的所有字符(包括空格):

<?xml ...

这被称为xml序言 ,这是W3C推荐的,但不是必需的。 (另一种解决方案是将其完全删除)。

同样不要忘了检查构建中的其他XML文件(也许是Maven POM文件出现了问题...。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM