2014-07-15 1 views
0

My Calabash xproc 파이프 라인은 p : http-request를 사용하여 GET 요청을 실행합니다. 서버에는 인증이 필요하므로 username/password/auth-method 속성과 함께 c : 요청을 사용합니다. 나는 c : request의 href 속성을 동적으로 채우는 방법에 대해 고심하고있다.Xproc p : http-request 동적 href URI

호리병박 좋아하지 않는 것 : 중 부하 :

<c:request method="GET" href="{$href}" username="username" password="password" auth-method="basic" detailed="false"/> 

설정 href가 동적 페이지에서 작동하지 않기 때문에 이것은 큰 놀라움이 아니다. 하지만 후자의 경우 p : with-option 하위를 추가하면 도움이됩니다. c : request를 사용하면 그렇지 않습니다.

그래서 다른 해결책이 있는지 궁금합니다.

답변

0

음, 여기 해결책은 c : request 요소 + 속성을 동적으로 구성하는 것입니다.

동작하는 예제는 다음과 같습니다

<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> 

이 바로 :-(을하지 않는 것 때문에 난 아직도 더 나은 방법에 관심이있을 것

1

속성 값 템플릿을 지원하지 않습니다 XProc 1.0 그러나 선택이지만 매우 유용한 p:template 단계가 있습니다. (내가 알기까지는 캐러밴이 지원합니다.) Introduction 섹션은 정확하게 사용 사례를 다룹니다.

+0

감사합니다. 내 문제는 정확하게 설명하고 있지만 만약 확실하지 않다면 p : 템플릿은 사용자 라이브러리에서 자신의 XProc 단계를 롤링하는 것보다 훨씬 명확하고 깨끗합니다. –