2009-12-14 13 views
4

錯誤消息這個Apache FOP錯誤是什麼意思?

org.apache.fop.fo.Validation (誤差 未知的位置)例外:屬性ID 「_Ref191196753」 先前使用; id值必須是文檔中唯一的 。

關於可能導致這種情況的任何想法?是因爲我有一個for-each並多次應用相同的模板?

+0

我冒昧地重新排列了這個問題,將錯誤信息移入了問題主體。 – 2009-12-14 09:43:32

回答

3

specification指出元素的ID必須是唯一的。

以下代碼會產生您獲得的錯誤消息。

<fo:block id="_Ref191196753"/> 
<fo:block id="_Ref191196753"/> 

您需要搜索fo-file以找到具有相同ID的元素的出現次數。然後在XSLT中進行更改以消除這些問題。

+2

@Ayrad:例如,它可以是一個'fo:block',在一個'xsl:for-each'循環中帶有一個硬編碼的id,或者一個'xsl:template'可以被應用多次。 – Tomalak 2009-12-14 09:55:37

+1

如果這是您需要的,您可以使用XSLT「generate-id」函數來創建唯一的ID。 – 2009-12-14 10:07:56