我有一个xquery,其中定义了一个实例:
<xf:instance id="table" xmlns="">
<results>
<result>
<interfaceName></interfaceName>
<reportDate></reportDate>
<testResult></testResult>
<fileLink></fileLink>
<fileName></fileName>
</result>
</results>
</xf:instance>稍后,我通过提交和检索来自另一个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,'&','date=',instance('defaultInstance')//CalendarDate)"/>
</xf:submission>返回的'table‘实例如下:
<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>但这只会使表的第一行中的值成为链接。在所有next记录中,此列仍为平面文本。
我宁愿使用一个简单的href (您可以在那里看到它被注释掉了),但是我不知道如何从fileLink元素获取一个值?
这不起作用,因为fileName没有连接到字符串(我认为它没有被找到):
<a href="{concat(request:get-scheme(), "://", request:get-server-name(),":", '8080', '/exist/rest', fileName)}">Link</a>这不起作用(这是显而易见的,但我还是试过了)
<a href="fileLink">Link</a>在这两种可能的解决方案中,我不知道:如果我决定使用href,我如何在纯HTML中引用fileLink元素来使其工作(对于我的解决方案更好)?如果我使用xf:output和xf:bind而不是href,我如何才能使字段的第一次出现都成为可单击的链接,而且使接下来的所有出现都成为可点击的链接?
谢谢。
发布于 2016-06-09 21:55:25
这就解决了这个问题:
<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>https://stackoverflow.com/questions/37724706
复制相似问题