我正在使用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上运行,我尝试在记事本,Notepad ++,Eclipse和Cygwin中创建该文件,但错误。有谁知道为什么?
答案 0 :(得分:1)
导入主docbook样式表后:
<xsl:import href="urn:docbkx:stylesheet"/>
一切都很好。
urn:docbkx:stylesheet
可视为符号链接。 urn:docbkx:stylesheet
实际导入的内容取决于您在pom.xml
中指定的自定义(html,xhtml等)。如果您要使用xhtml
/ chunk.xsl
自定义,请先在<xhtmlCustomization>
中指定配置pom.xml
。然后在您的XSL中指定它,
<xsl:import href="urn:docbkx:stylesheet/chunk.xsl"/>
在这种情况下,插件将获取chunk.xsl
张xhtml样式表。有关详细信息以及所需的完整配置,请参阅How to Use docbkx-tools as Maven DocBook plugin博客文章。
答案 1 :(得分:0)
在文档开头的开始标记之前检查样式表中是否有任何字符(包括空格):
<?xml ...
这被称为xml prolog,建议使用,但W3C不要求。 (另一种解决方案是完全删除它。)
另外,请不要忘记检查构建中的其他XML文件(也许它是有问题的Maven POM文件......)
答案 2 :(得分:0)
如果您已经从在Web浏览器中打开的XML中复制并粘贴,那么您可能已经完成了我已经完成的工作,即复制并粘贴+和 - 小部件以扩展和收缩xml片段。
这会在您的副本中加载“ - ”和“+”字符,并使验证器失败。