2012-01-19 13 views
1

アクションオブジェクト内のデフォルト評価コンテキストを上書きするために使用できるXFormsオブジェクトはありますか?私たちはbody部分にxforms:groupを持っていますが、xforms:actionには何もありますか?私はパス全体を繰り返す必要はありませんアクションオブジェクト内のデフォルト評価コンテキストの変更

<xf:action ev:event="DOMActivate"> 
    <?xf:context? ref="instance('main')/d:Content/d:Attachment[index('repeat-id')]"> <!-- ?? --> 
    <xf:setvalue ref="d:FileName" value="..." /> 
    <xf:setvalue ref="d:Description" value="..." /> 
    <xf:setvalue ref="d:MimeType" value="..." /> 
    <xf:setvalue ref="d:Size" value="..." /> 
    <xf:setvalue ref="d:Location" value="..." /> 
    </?xf:context?> 
</xf:action> 

:それは私が頻繁に私はそのようなコードを受け取りたい私は

上で動作しています基本要素と同一のノードセットを使用して、コードを単純化します何度も何度も。

答えて

2

だからあなたのコードは次のようになります。 XForms 1.1以降では、context属性はinsertdeleteアクションで正式にのみ利用可能ですが、一部の実装では既にすべてのアクションでサポートされています。scheduled for inclusion in XForms 2です。

<xf:action ev:event="DOMActivate" context="instance('main')/d:Content/d:Attachment[index('repeat-id')]"> 
    <xf:setvalue ref="d:FileName" value="..." /> 
    <xf:setvalue ref="d:Description" value="..." /> 
    <xf:setvalue ref="d:MimeType" value="..." /> 
    <xf:setvalue ref="d:Size" value="..." /> 
    <xf:setvalue ref="d:Location" value="..." /> 
</xf:action> 

refは、私の知る限りでは、正式にaction上で許可されないことに注意してください。今後のXForms 2に計画としてrefcontext差があり

  • contextのみのXPath評価コンテキストを変更
  • ref通常このような制御を結合、又は指定のような他の効果を有しますinsert unfort上の値(setvalue)の宛先などのXForms 1.1で

context XForms 2はそれを改善する予定であり、その使用を非難するのはcontextです。

+0

私はこの解決法もチェックしており、Orbeonはref属性と同じ方法でコンテキスト属性をサポートしています。レスポンスありがとう。 – jaygo

1

はい。 <xforms:action>タグにはrefという属性が設定できます。これを<xforms:trigger><xforms:group>タグにも適用できます。

これで、タグ内のステートメントのコンテキストを指定します。

これはうまく動作しました。あなたが探している属性がcontextある

<xf:action ev:event="DOMActivate" ref="instance('main')/d:Content/d:Attachment[index('repeat-id')]"> 
    <xf:setvalue ref="d:FileName" value="..." /> 
    <xf:setvalue ref="d:Description" value="..." /> 
    <xf:setvalue ref="d:MimeType" value="..." /> 
    <xf:setvalue ref="d:Size" value="..." /> 
    <xf:setvalue ref="d:Location" value="..." /> 
    </?xf:context?> 
</xf:action> 
+0

明日の朝にこれをチェックしますが、今は[XForms 1.1リファレンス](http://www.w3.org/TR/xforms/#action-action)のref属性が見つかりませんでしたので、それは、Orbeonの拡張子ですか? – jaygo

+0

朝まで待つことができず、すでにチェックしてあり、本当にうまくいきます...この答えはありがとうございます。私は参照にかかわらず直観的な解決策を試す必要があると感じています:-) – jaygo

+0

それを確認していただきありがとうございます。また、他の人が簡単にアクセスできるように答えを受け入れる場合は、upv​​oteしてください。 – Jayy

関連する問題