首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Xproc p:http-请求动态href URI

Xproc p:http-请求动态href URI
EN

Stack Overflow用户
提问于 2014-07-15 20:08:35
回答 2查看 134关注 0票数 0

我的Calabash xproc管道使用p:http-request来触发GET请求。服务器需要身份验证,所以我使用带有username / password / auth-method属性的c:request。我正在努力解决如何动态填充c:request的href属性的问题。

Calabash似乎不喜欢:

代码语言:javascript
运行
复制
<c:request method="GET" href="{$href}" username="username" password="password" auth-method="basic" detailed="false"/>

这并不奇怪,因为动态设置href在p:load上也不起作用。但在后一种情况下,添加一个p:with-option子级会有所帮助。对于c:request,它不会。

因此,这让我想知道是否还有其他解决方案?

EN

回答 2

Stack Overflow用户

发布于 2014-07-17 22:52:19

XProc 1.0不支持属性值模板。但是,还有一个可选但非常有用的p:template步骤(据我所知,Calabash支持这个步骤)-- Introduction部分准确地介绍了您的用例。

票数 1
EN

Stack Overflow用户

发布于 2014-07-16 04:02:11

我认为这里的解决方案是动态构造c:request元素+属性。

工作示例如下所示:

代码语言:javascript
运行
复制
<p:declare-step xmlns:p="http://www.w3.org/ns/xproc" xmlns:c="http://www.w3.org/ns/xproc-step" version="1.0">
  <p:input port="source">
    <p:inline>
      <c:request method="GET" username="username" password="password" auth-method="basic"/>
    </p:inline>
  </p:input>
  <p:output port="result"/>

  <p:option name="area" select="'testvalue1'"/>
  <p:option name="work" select="'testvalue2'"/>

  <p:add-attribute match="/c:request" attribute-name="href">
    <p:with-option name="attribute-value" select="concat('http://localhost:8181/exist/rest/db/OEP/code/test/testGet.xql?area=', $area, '&amp;work=', $work)"/>
  </p:add-attribute>

  <p:http-request/>
</p:declare-step>

我仍然对一种更好的方式感兴趣,因为这看起来不太对:-(

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24757859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档