如何统计 Orbeon Forms 中的数据集?
How to count a dataset in Orbeon Forms?
我有一个 HTTP 服务 returns Orbeon 将 JSON 响应转换为 XML,如下所示:
<json type="object">
<data type="object">
<timeSlots type="array">
<_ type="object">
<label>9:00AM to 9:30AM</label>
<value>1</value>
</_>
<_ type="object">
<label>10:00AM to 10:30AM</label>
<value>2</value>
</_>
</timeSlots>
</data>
<is_success type="boolean">true</is_success>
</json>
我已经设置了一个 Orbeon“动作”,它使用名为“time-slots”的保存到数据集:
Screen shot showing Save to Dataset
但是,我不知道如何计算控件中的数据集。我尝试将以下内容添加到控件的计算值中:
count(fr:dataset('time-slots')/json/data/timeSlots/_)
和
count(fr:dataset('time-slots')/json/data/timeSlots)
我搞不懂语法。任何提示或想法将不胜感激!
fr:dataset()
function returns 根元素而不是文档节点,就像 doc()
一样,因此您需要跳过 XPath 中的 json
。如果你想根据你引用的 XML 来计算时隙的数量,下面的方法应该可以做到:
count(fr:dataset('time-slots')/data/timeSlots/_)
我有一个 HTTP 服务 returns Orbeon 将 JSON 响应转换为 XML,如下所示:
<json type="object">
<data type="object">
<timeSlots type="array">
<_ type="object">
<label>9:00AM to 9:30AM</label>
<value>1</value>
</_>
<_ type="object">
<label>10:00AM to 10:30AM</label>
<value>2</value>
</_>
</timeSlots>
</data>
<is_success type="boolean">true</is_success>
</json>
我已经设置了一个 Orbeon“动作”,它使用名为“time-slots”的保存到数据集:
Screen shot showing Save to Dataset
但是,我不知道如何计算控件中的数据集。我尝试将以下内容添加到控件的计算值中:
count(fr:dataset('time-slots')/json/data/timeSlots/_)
和
count(fr:dataset('time-slots')/json/data/timeSlots)
我搞不懂语法。任何提示或想法将不胜感激!
fr:dataset()
function returns 根元素而不是文档节点,就像 doc()
一样,因此您需要跳过 XPath 中的 json
。如果你想根据你引用的 XML 来计算时隙的数量,下面的方法应该可以做到:
count(fr:dataset('time-slots')/data/timeSlots/_)