2016-06-09 2 views
0

클릭 할 수있는 링크 :만들기 XF : 출력 내가 인스턴스가 정의 된 XQuery를 가지고

<xf:submission id="showTable" 
         method="post" 
         replace="instance" 
         ref="instance('table')" 
         instance="table"> 
       <xf:resource value="concat('/exist/rest/db/xquery/returnTable.xq?interface=',instance('defaultInstance')//InterfaceName,'&amp;','date=',instance('defaultInstance')//CalendarDate)"/>   
      </xf:submission> 

:

<xf:instance id="table" xmlns=""> 
     <results> 
      <result> 
       <interfaceName></interfaceName> 
       <reportDate></reportDate> 
       <testResult></testResult> 
       <fileLink></fileLink> 
       <fileName></fileName> 
      </result> 
     </results> 
    </xf:instance> 

나중에 내가 다른 XQuery를으로부터 제출 및 정보를 검색하여이 인스턴스를 '대체'를 반환 된 '테이블'인스턴스 모양은 다음과 같습니다.

<results> 
<result> 
<interfaceName>test1</interfaceName> 
<reportDate>2016-06-01</reportDate> 
<testResult>failure</testResult> 
<fileLink>http://localhost:8080/exist/rest/db/junitReports/Report2.xml</fileLink> 
<fileName>/db/junitReports/Report2.xml</fileName> 
</result> 
<result> 
<interfaceName>test2</interfaceName> 
<reportDate>2016-06-01</reportDate> 
<testResult>success</testResult> 
<fileLink>http://localhost:8080/exist/rest/db/junitReports/Report1.xml</fileLink> 
<fileName>/db/junitReports/Report1.xml</fileName> 
</result> 
</results> 

그런 다음 값을 참조하여 테이블을 작성하려고합니다. 이 반환 된 인스턴스 :

<tbody xf:repeat-nodeset="instance('table')//result"> 
        <tr> 
         <td> 
          <xf:output ref="interfaceName"></xf:output> 
         </td> 
         <td> 
          <xf:output ref="reportDate"></xf:output> 
         </td> 
         <td> 
          <xf:output ref="testResult"></xf:output> 
         </td> 
         <td> 
          <li> 
           <!-- <a href="{concat(request:get-scheme(), "://", request:get-server-name(),":", '8080', '/exist/rest', fileLink)}">Link</a> --> 
           <xf:output ref="fileLink"></xf:output> 
          </li> 
         </td> 
        </tr> 
       </tbody> 

마지막 열은 클릭 가능한 링크가되어야하고 그 방법을 찾지 못했습니다.

나는 유형을 지정하여 '테이블'인스턴스의 fileLink 요소 URL을 만들려고 :

<xf:bind nodeset="instance('table')//result/fileLink" type="anyURI"></xf:bind> 

하지만이 테이블 링크의 첫 번째 행에서만 값을합니다. 다음 모든 레코드에서이 열은 평면 텍스트로 유지됩니다.

필자는 간단한 href (주석 처리 된 것을 볼 수 있음)를 사용 하겠지만 fileLink 요소에서 값을 얻는 방법을 모르겠습니다.

파일 이름 문자열 (나는 그것을 찾을 수없는 생각)에 연결된되지 않기 때문에이 작동하지 않습니다

<a href="{concat(request:get-scheme(), "://", request:get-server-name(),":", '8080', '/exist/rest', fileName)}">Link</a> 

이 작동하지 않습니다 (명백하다,하지만 난 아직 시도)

<a href="fileLink">Link</a> 

둘 다 가능한 해결책은 모르겠다. 내가 pureRemote에서 fileLink 요소를 참조하여 href로 작업하게하려면 어떻게 사용하면 좋을까? 어떻게하면 필드의 첫 번째 항목을 클릭 할 수있는 링크로 만들 수있을뿐만 아니라 xf : output 및 xf : href 대신 bind를 사용하면 다음 단계까지 모두 수행 할 수 있습니까?

감사합니다.

   <td> 
        <xf:trigger appearance="minimal"> 
         <xf:label>File link</xf:label> 
         <xf:action ev:event="DOMActivate"> 
          <xf:load show="new"> 
           <xf:resource value="fileLink"/> 
          </xf:load> 
         </xf:action> 
        </xf:trigger> 
       </td> 
:

답변