2012-09-05 42 views
-2

可能重複:
XSLT attribute node (id) cannot be created after the children of the containing element的WebLogic 12和XSLT錯誤

通常我做的XSLT處理過Weblogic12服務器。我一直運行到這個問題

An attribute node (id) cannot be created after the children of the containing element 

遷移之前,我們的團隊已經完全沒有問題......

任何想法,爲什麼?我最近從BEA Weblogic3升級到Oracle Enterprise Weblogic 12.或者我錯過了一個庫?

這是困擾我們整個團隊!謝謝!

回答

1

如果您希望我們找到代碼錯誤的位置,您需要向我們顯示您的代碼。

錯誤消息(我認爲)來自Saxon,並且可能由於您的配置更改而導致Saxon成爲XSLT處理器,而之前您正在拾取Xalan。在XSLT 1.0中,這是一個可恢復的錯誤,並且允許處理器忽略它(通過不輸出違規屬性)。我認爲它總是一個好主意,包括

<xsl:comment><xsl:value-of select="system-property('xsl:vendor')"/></xsl:comment> 

在生產代碼,這樣你可以看到你用什麼樣的XSLT處理器。

的錯誤,當你做這樣的事情出現了:

<a> 
    <b/> 
    <xsl:attribute name="x">3</xsl:attribute> 

,你不能這樣做,因爲沒有一個開放的開始標記接收的屬性。當然情況通常比這更復雜一些,例如元素可能是由xsl:call-template指令編寫的。

+0

你是對的,那個屬性被稱爲xsl-match的一部分。我可以知道我在哪裏發表評論,在錯誤網站或任何地方都可以。謝謝! – bouncingHippo

+0

你能夠幫助解決這個問題http://stackoverflow.com/questions/12289248/xslt-attribute-node-id-cannot-be-created-after-the-children-of-the-containing – bouncingHippo