Search code examples
orbeonxforms

Retrieve data from specified http-service in xsl PDF template


I'm using orbeon 3.8 and have the first version of print-pdf-template.xml

And I have following problem, when I'm using http-services to fill xforms:select elements, everything works fine, until I'm trying to get pdf version of form, as I can understand the code below

<xsl:when test="local-name($control) = 'select1'">
   <!-- Other single-selection controls: just use label -->
   <field acro-field-name="'{$field-name}'" value="'{$control-resources/item[value = $control-value]/label}'"/>
</xsl:when>

is trying to get label value from resources which form has, and not from http-service. And surely there's no data in form.xhtml with such value.

When I'm filling xforms:element with static fields everything displays in PDF as it should be. If I would change

<field acro-field-name="'{$field-name}'" value="'{$control-resources/item[value = $control-value]/label}'"/>

to

<field acro-field-name="'{$field-name}'" value="'{$control-value}'"/>

then PDF will show the value of selected item.

As I understand data for print-pdf-template.xsl is described in print-pdf-template.xpl, which determine which processor to use for data transformation.

So I'm wondering what best way to retrieve label data from http-service, which fills xforms:select element with data, in PDF template?

Is it possible to retrieve data without changing processor code?

Thanks for any reply.


Solution

  • This has been fixed starting with this commit (other subsequent commits are also involved) from September 2, 2011.

    So this is not a trivial fix and there is no simple answer. From here you could:

    1. patch your build based on those commits (not necessarily trivial)
    2. upgrade to a nightly build
    3. wait for the next stable release