Я пытаюсь создать оболочку Orbeon Forms XBL вокруг элемента управления медиапроигрывателем javascript для включения в приложение XForms.
URL-адрес медиа-файла должен создаваться динамически на основе значения другого элемента управления (например, xforms: input), также связанного с тем же экземпляром данных. Поэтому интерфейс компонента будет иметь вид:
<comp:player ref="instance('data')/name"/>
и в других местах на странице будет другой элемент управления, ссылающийся на то же значение, например,
<xforms:input ref="instance('data')/name"/>
где значение ссылочных данных экземпляра будет содержать имя файла, который затем добавляется к базовому URL-адресу в компоненте XBL для создания окончательного URL-адреса медиа-файла.
Проблема в том, что я знаю, как получить доступ к этому значению из javascript в компоненте XBL. Я могу включить скрипт, который вызывается при изменении значения экземпляра данных, на который ссылаются, но я просто не вижу, как вы можете получить доступ к значению из javascript, чтобы я мог создать URL и передать его элементу управления мультимедиа.
<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?