2012-04-03 1 views
1

私は、XFormsアプリケーションに含めるためのjavascriptメディアプレーヤーコントロールの周りにOrbeon Forms XBLラッパーを作成しようとしています。Orbeon Xformsコントロールの値に基づいてjavascriptで動的URLを作成する方法

メディアファイルのURLは、同じデータインスタンスに関連付けられた別のコントロール(xforms:inputなど)の値に基づいて動的に構築する必要があります。したがって、コンポーネント・インターフェースは、次の形式のものとなる。

<comp:player ref="instance('data')/name"/> 

他のコントロールは、同じ値を参照している。参照されるインスタンスデータの値は、メディアファイルの最終的なURLを作成するXBLコンポーネント内のベースURLに付加されたファイルの名前を含むことになる

<xforms:input ref="instance('data')/name"/> 

私が抱えている問題は、XBLコンポーネント内のjavascriptからこの値にアクセスする方法を知ることです。参照されたデータインスタンスの値が変更されたときに呼び出されるスクリプトを組み込むことができますが、URLを作成してメディアコントロールに渡すことができるようにJavaScriptの値にアクセスする方法がわかりません。

<xxforms:script ev:event="xforms-value-changed" type="text/javascript"> 

    /* How do you access the components referenced value? */ 
    var controlValue = ORBEON.xforms.Document.getValue(??????????); 

    /* construct the url of the media file from this value. */ 
    media.player.load('baseurl/' + controlValue); 

</xxforms:script> 

XformsのXBLコンポーネントでこのような問題を解決する適切な方法を提案する人はいますか?

答えて

0

AJAXSLTライブラリを使用して属性値を取得するには、XPathクエリを作成します。

xpathParse("//xforms:input/@ref"); 
関連する問題