我在这里面临一个大问题,即在 datapower 中使用 XSLT 显示范围/特定节点中的节点。该服务是 REST 服务。范围/节点号需要从服务 URI 中获取。URI 之一如下所示:-
http://{{servername enter code here
}}:7120/pateint/encounter/labslist/all?patientId=mpUp6R2Z&sourceSystemId=MT_COCAA
在这里,如果我们用某个数字“10”更改参数“all”,那么期望响应应该只包含 Encounter 的第 10 个节点。这意味着响应应该根据 URI 中发送的参数对其进行过滤。
数据如下:-
<Encounters>
<Encounter> <Encounter> -----1st occurance
<Encounter> <Encounter> -----2nd occurance
<Encounter> <Encounter> -----3rd occurance
<Encounter> <Encounter> -----4th occurance
<Encounter> <Encounter> -----5th occurance
<Encounter> <Encounter> -----6th occurance
<Encounters>
1) 如果我们在 URI "http://{{servername}}:7120/pateint/encounter/labslist/5?patientId=mpUp6R2Z&sourceSystemId=MT_COCAA" 中给出“5”而不是“all”,那么我们应该得到
<Encounters>
<Encounter> <Encounter> ----- 5th occurance
<Encounters>
2) 如果我们在 URI "http://{{servername}}:7120/pateint/encounter/labslist/2-5?patientId=mpUp6R2Z&sourceSystemId=MT_COCAA" 中给出从“2 到 5”而不是“all”的范围,那么我们应该得到
<Encounters>
<Encounter> <Encounter> -----2nd occurance
<Encounter> <Encounter> -----3rd occurance
<Encounter> <Encounter> -----4th occurance
<Encounter> <Encounter> -----5th occurance
<Encounters>
3)如果范围/数量超出响应中存在的节点总数,在当前示例中说“10”超过最大节点数 6 或范围“2-7”再次超过 6,那么它应该通过一些 HTTP错误。
这是可以实现的吗?我们可以为上面制作一个通用的 XSLT 以便它适用于任何列表,而不仅仅是遇到,无论是药物还是其他任何东西。它从服务传入 URI 中获取范围/特定节点号,然后根据它过滤掉输出。
谢谢和问候, 罗汉