导航到 Orbeon 按钮的 PDF 操作
Navigate to PDF action for Orbeon button
我已经为我的一些表单上的提交按钮设置了自定义流程,如下所示:
<property as="xs:string" name="oxf.fr.detail.process.submit.App.*">
require-valid
then confirm(message = "Are you sure you would like to submit the form?")
then suspend
then review
</property>
我希望它导航到表单的 pdf 副本,而不是转到评论页面(就像使用 pdf 按钮所做的那样)。我查看了文档,但还没有找到相应的操作。我找到了 pdf-url,但不确定如何使用它来做我想做的事。
我找到了用于为 pdf 按钮生成 pdf url 的 xbl,但卡在 $app 和 $form 未定义上。
<fr:href-button
xmlns:frf="java:org.orbeon.oxf.fr.FormRunner"
model="fr-persistence-model"
ref="instance('fr-triggers-instance')/pdf"
href=
"/fr/service/{
$app
}/{
$form
}/pdf/{{
string-join(
(
xxf:instance('fr-parameters-instance')/document/string(),
xxf:document-id(),
frf:filenameOrNull('pdf')[. != '']
),
'/'
)
}}.pdf">
<property as="xs:string" name="oxf.fr.detail.process.submit.App.*">
require-valid
then confirm(message = "Are you sure you would like to submit the form?")
then suspend
then navigate(uri = "/fr/service/{ $app }/{ $form }/pdf/{ string-join( ( xxf:instance('fr-parameters-instance')/document/string(), xxf:document-id()) , '/' ) }.pdf")
</property>
我还注意到,当它尝试重定向到 pdf 的 404 时,它会尝试确认您要离开该页面。
我要用什么替换 then review
才能转到 pdf?
使用:
navigate(
uri =
"/fr/service/{
xxf:instance('fr-parameters-instance')/app}/{
xxf:instance('fr-parameters-instance')/form}/pdf/{
string-join(
(
xxf:instance('fr-parameters-instance')/document/string(),
xxf:document-id()
),
'/')
}.pdf"
)
确实应该有 built-in 函数来访问应用程序名称、表单名称和文档 ID。但现在您可以从 fr-parameters-instance
实例访问它们。 fr-parameters-instance
包含:
<app></app>
<form></form>
<form-version></form-version>
<document></document>
<mode>new</mode>
<uuid/>
您可以使用 set-data-status
操作强制数据状态为 safe
。
为我工作
uri =
"/fr/{
xxf:instance('fr-parameters-instance')/app}/{
xxf:instance('fr-parameters-instance')/form}/pdf/{
xxf:instance('fr-parameters-instance')/document/string()} "
)
我已经为我的一些表单上的提交按钮设置了自定义流程,如下所示:
<property as="xs:string" name="oxf.fr.detail.process.submit.App.*">
require-valid
then confirm(message = "Are you sure you would like to submit the form?")
then suspend
then review
</property>
我希望它导航到表单的 pdf 副本,而不是转到评论页面(就像使用 pdf 按钮所做的那样)。我查看了文档,但还没有找到相应的操作。我找到了 pdf-url,但不确定如何使用它来做我想做的事。
我找到了用于为 pdf 按钮生成 pdf url 的 xbl,但卡在 $app 和 $form 未定义上。
<fr:href-button
xmlns:frf="java:org.orbeon.oxf.fr.FormRunner"
model="fr-persistence-model"
ref="instance('fr-triggers-instance')/pdf"
href=
"/fr/service/{
$app
}/{
$form
}/pdf/{{
string-join(
(
xxf:instance('fr-parameters-instance')/document/string(),
xxf:document-id(),
frf:filenameOrNull('pdf')[. != '']
),
'/'
)
}}.pdf">
<property as="xs:string" name="oxf.fr.detail.process.submit.App.*">
require-valid
then confirm(message = "Are you sure you would like to submit the form?")
then suspend
then navigate(uri = "/fr/service/{ $app }/{ $form }/pdf/{ string-join( ( xxf:instance('fr-parameters-instance')/document/string(), xxf:document-id()) , '/' ) }.pdf")
</property>
我还注意到,当它尝试重定向到 pdf 的 404 时,它会尝试确认您要离开该页面。
我要用什么替换 then review
才能转到 pdf?
使用:
navigate(
uri =
"/fr/service/{
xxf:instance('fr-parameters-instance')/app}/{
xxf:instance('fr-parameters-instance')/form}/pdf/{
string-join(
(
xxf:instance('fr-parameters-instance')/document/string(),
xxf:document-id()
),
'/')
}.pdf"
)
确实应该有 built-in 函数来访问应用程序名称、表单名称和文档 ID。但现在您可以从 fr-parameters-instance
实例访问它们。 fr-parameters-instance
包含:
<app></app>
<form></form>
<form-version></form-version>
<document></document>
<mode>new</mode>
<uuid/>
您可以使用 set-data-status
操作强制数据状态为 safe
。
为我工作
uri =
"/fr/{
xxf:instance('fr-parameters-instance')/app}/{
xxf:instance('fr-parameters-instance')/form}/pdf/{
xxf:instance('fr-parameters-instance')/document/string()} "
)