Первоначально это было сделано, скажем, по историческим причинам!Я согласен, что это нежелательное ограничение.
Однако практически вы не можете просто удалить ограничение в диалоговом окне: причина в том, что каждое действие имеет следующий код:
<action ev:event="xforms-submit-done" ev:observer="my-service-submission">
Это означает, чточто если вы создадите более одного действия, каждое действие зарегистрирует обработчик событий для завершения одной и той же службы, и будут запущены обработчики обоих действий, что будет неправильным поведением.
Здесь необходимо что-тоэти строки:
- каждое действие при запуске службы передает уникальный идентификатор (например, идентификатор действия) службе
- после завершения передается уникальный идентификаторto xforms-submit-done
- обработчик событий для каждого действия может фильтровать по этому идентификатору
- только обработчик для действия, запустившего службу, запускает
Thisпотребовалось бы усовершенствовать механизм XForms для реализации этой функции, которая, кстати, уже была предложена для XForms 2.0 .