-2

重複の可能性:
XSLT 属性ノード (id) は、包含要素の子の後に作成できません

通常、Weblogic12 サーバー上で XSLT プロセスを実行しています。私はこの問題に遭遇し続けました

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

移行前は、私たちのチームにはまったく問題はありませんでした...

理由はありますか?最近、BEA Weblogic3 から Oracle Enterprise Weblogic 12 にアップグレードしました。それともライブラリがありませんか?

これは私たちのチーム全体を悩ませています! ありがとう!

4

1 に答える 1

1

コードが間違っている場所を見つけてほしい場合は、コードを提示する必要があります。

エラーメッセージ(私は思う)はSaxonから来ており、構成変更の結果として、以前はXalanをピックアップしていたXSLTプロセッサーとしてSaxonをピックアップしている可能性があります。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命令の結果として書き込まれた可能性があります。

于 2012-09-06T10:14:36.917 に答える