2012-03-24 25 views
1

我使用的Maven插件的DocBook(com.agilejava.docbkx),和我使用的是自定義的XSL文件來覆蓋某些屬性不允許的,它看起來像:行家docbook的插件內容在序言

<?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. 

我在窗口中運行,我曾嘗試創建在記事本,記事本++,Eclipse和Cygwin的所有錯誤的文件。有誰知道爲什麼?

回答

1

一旦我進口的主要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"/> 

在這種情況下,插件會拿起chunk.xsl片XHTML樣式表。更多詳細信息以及所需的完整配置在How to Use docbkx-tools as Maven DocBook plugin博客文章中進行了解釋。

0

在文檔的開頭開始標籤之前,請檢查您的任何字符(含空格)樣式表:

<?xml ... 

這就是所謂的被推薦xml prolog,而不是由W3C要求。 (另一個解決方案是完全刪除它)。

也不要忘記檢查在構建其他的XML文件(或許它是有問題的Maven的POM文件....)

+0

感謝您的意見。據我所知,我沒有任何字符(我用十六進制編輯器進行了驗證)。我使用的是maven docbook插件,這隻發生在我指定foCustomization文件時,所以我認爲它必須處理該文件,但我已驗證所有文件以確保仍然收到錯誤。 – 2012-03-24 13:51:07

+0

嘗試從所有文件中刪除序言。在你的項目的某個地方有一個問題的XML文件:-( – 2012-03-24 15:40:39

+0

馬克,我試過了,但沒有奏效,但它確實是一個問題,我沒有導入我需要的父文件,這基本上是製作我的xml文件無效,我發佈了一個答案來顯示解決方案。感謝幫助! – 2012-03-24 16:23:21

0

如果您已經從網絡瀏覽器中打開的XML複製並粘貼,那麼您可能已經完成了我已經完成的工作,即複製和粘貼+和 - 小部件以展開和收縮xml片段。

這會在您的副本中加載「 - 」和「+」字符並且驗證程序失敗。