2014-11-08 53 views
0

我正在使用send按钮(正式workflow-send)提交以Orbeon表单输入的数据。之后,我将这些数据发送到一个定制的servlet来解析这些数据并将这些值发送给一个流程引擎。确定Orbeon表单提交数据中的数据类型

问题是,在Orbeon生成的提交XML数据中,没有关于数据类型的信息。可以说我有一个带有文本框,文本框和日期栏的Orbeon窗体。生成的XML提交如下:

<?xml version="1.0" encoding="UTF-8"?> 
<form xmlns:xxf="http://orbeon.org/oxf/xml/xforms" xxf:id="0f81046cee210b5b64db5706b6fe79f986fb539b">      
    <section-1 xxf:id="e7d2bb4ac261e77159fc236e7fd922c3540756f8">       
    <approver xxf:id="6e3c7a6f088fb15e633358f17f9a495cbbb0191f">Person 1</approver>       
    <duedate xxf:id="b28aedbc6f2d4bd8872a48c06d2eed65cc062498">2014-11-20</duedate>       
    <comments xxf:id="0f931e5351491df185889d62274e1d706c901293">This is a test comment</comments>      
    </section-1> 
</form> 

因为我将不得不处理与同一个servlet不同的形式,我需要知道哪些数据在相应Orbeon形式存在的类型。有没有办法配置这个? Orbeon还应该在提交xml中发送数据类型,以便http服务能够正确处理这些数据。

回答

1

你可以这样做,因为Orbeon Forms 4.7和send(content = "metadata")。您可以在send() action的文档中找到更多信息。

+0

感谢您的回答。我需要在一个请求中处理一个servlet中的表单数据。因此,是否也可以在一个XML结构中发送内容和元数据,而不是使用两个不同的内容和元数据请求? – Ben 2014-11-16 09:08:33

+0

因此,当您要求发送元数据时,控件的值也在那里。例如,请参阅此示例中的''元素:https://gist.github.com/orbeon/3684806b0a30a9a5ace9。但是我们一直在想办法在相同的请求中发送数据+元数据+附件(例如multipart/form-data),但是现在还没有实现。 – avernet 2014-11-17 17:50:54

+0

@BenSchnarr另外,我应该补充一点,自从4.7开始,一个新的请求参数'process'被传递给服务,并且该请求参数的值对于作为相同部分执行的所有send()操作是相同的处理。因此,如果要发送数据和元数据,即使这将在两个不同的请求中完成,您也可以通过'process'请求参数知道哪些请求关联。 – avernet 2014-11-19 18:20:45