如何使用XML和XSLT显示本地链接?
如何使用XSL和XML显示带有本地href地址的链接,使其成为可单击的链接 到目前为止,我的XSLT: 我的XML: 目前的结果是: 应将其呈现为如何使用XML和XSLT显示本地链接?,xml,xslt,Xml,Xslt,如何使用XSL和XML显示带有本地href地址的链接,使其成为可单击的链接 到目前为止,我的XSLT: 我的XML: 目前的结果是: 应将其呈现为 <a href="\\myFolder\myApps\Tool1.jpg">Tool1</a> 但是,我的链接上缺少反斜杠,因此它不起作用 我有很多这样的XML文件,所以如果可能的话,只需更改XSLT中的代码就可以了。 谢谢你的建议 XSLT中的以下更改应保持@Location的值不变 下面是完整的XSLT <xsl:
<a href="\\myFolder\myApps\Tool1.jpg">Tool1</a>
但是,我的链接上缺少反斜杠,因此它不起作用
我有很多这样的XML文件,所以如果可能的话,只需更改XSLT中的代码就可以了。
谢谢你的建议 XSLT中的以下更改应保持@Location的值不变 下面是完整的XSLT
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="Binaries">
<xsl:if test='count(Item) > 0'>
<h3>Tools</h3>
<ul>
<xsl:for-each select="Item">
<li>
<a href="{@Location}">
<xsl:value-of select="@Title" />
</a>
</li>
</xsl:for-each>
</ul>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
当应用于共享XML时,结果如下所示
<h3>Tools</h3>
<ul>
<li>
<a href="\\myFolder\myApps\Tool1.jpg">Tool1</a>
</li>
<li>
<a href="\\myFolder\myApps\Tool2.jpg">Tool2</a>
</li>
</ul>
我觉得不错。你到底有什么问题?链接不起作用,因为它的格式不正确。你缺少结束标记。请注意,Windows平台也支持正斜杠/。如果对本地机器上的本地文件进行浏览是可取的,请考虑使用前向斜线,而不是反斜杠指定协议以及文件的路径。例如file:///myfolder/myapps/Tool1.jpg. 这需要更改所有XML文件,这可以使用高级编辑器或GNU命令行工具(如sed)轻松完成。您的输入XML和XSLT与声明的输出不对应。样式表包含单个模板匹配元素,而输入XML中没有此类元素。因此,只有默认模板将匹配任何节点,而这将不会产生显示的输出。
<a href="\\myFolder\myApps\Tool1.jpg">Tool1</a>
<a href="{@Location}">
<xsl:value-of select="@Title" />
</a>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="Binaries">
<xsl:if test='count(Item) > 0'>
<h3>Tools</h3>
<ul>
<xsl:for-each select="Item">
<li>
<a href="{@Location}">
<xsl:value-of select="@Title" />
</a>
</li>
</xsl:for-each>
</ul>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
<h3>Tools</h3>
<ul>
<li>
<a href="\\myFolder\myApps\Tool1.jpg">Tool1</a>
</li>
<li>
<a href="\\myFolder\myApps\Tool2.jpg">Tool2</a>
</li>
</ul>