2012-02-03 11 views
0

コードごとに予期しないエラーが発生しています。Orbeonフォームのボタンをクリックしているときにエラーが発生する

これはエラーです。

Attempting to access a sequence as a singleton item (org.orbeon.saxon.trans.XPathException) 

これは私の[追加]ボタンのコードです:これは私の要約変数defnition

<xxforms:variable name="summary" select="instance('abc-attributes')/form-global/summary"/> 

iは<xforms:action>でINSERTコマンドを削除する場合は、エラーダイアログボックスが表示されません

<xforms:trigger appearance="minimal" id="repeat-add-id" ref=".[$summary='false' and instance('abc-instance')/product/accounts]"> 
    <xforms:label> 
     <span class="input-label">Add</span> 
    </xforms:label> 
    <xforms:action ev:event="DOMActivate"> 
     <xforms:insert nodeset="instance('abc-instance')/product/accounts[last()&lt;10]" 
      origin="instance('abc-instance-template')/product/accounts" /> 
     <!-- <xforms:message modal="level">Xforms Message</xforms:message> --> 
</xforms:trigger> 

です。

何か助けていただければ幸いです。

+0

トリガの 'ref'の'インスタンス(abc-instance) 'が間違っています。ほとんどの場合、 'instance( 'abc-instance')'のように引用符が必要です。また、 'accounts(last()<10}'は私にとっては不思議です。何をしようとしていますか?申し訳ありませんが、私はあなたのコードを実行することができないと、より具体的にすることはできません。 – avernet

+0

はい、インスタンス名には引用符が必要です。私はそれを修正した。しかし、私は実際の問題を発見した、以下の答えを参照してください。 – Jayy

答えて

2

問題が見つかりました。トリガ自体のコードには何も問題はありません。後のコードでxxforms:valid()をノードセットinstance('abc-instance')/product/accountsに使用しています。最初の実行ではノードが1つしかないため、エラーはありません。しかし、私はボタンのリンクをクリックすると、2つのノードがありますが、xxforms:valid()は、単一のノード、したがってエラーメッセージが必要です。

概要:あなたはあなたの形式でいくつかの機能があることを意味し、このエラーは「シングルトン項目としてシーケンスにアクセスしようとすると、」見たらそうここ一番下の行は、ある

ました単一のノードがパラメータであると予想していますが、複数のノードが存在します。

+1

ソリューションを共有していただきありがとうございます。エラーの報告を改善して、エラーが発生した式とその式がどこにあったのかをよりよく示す計画があります。 – avernet

+0

ありがとうございました。これは、問題をデバッグするのに非常に役立ちます。 – Jayy

関連する問題