超链接的XSLT转换

时间:2016-01-25 15:30:13

标签: html xml xslt hyperlink

我有一个XSLT网页,用于转换我从MS Access中提取的表格。在xml文档中,我有一些超链接,例如 C:\ My Work \ My HTML test.htm ,据我所知,保留了空格。我的问题是,当我将其转换为超链接时,链接将更改为 file:/// C:\ My%20Work \ My%20HTML%20test.htm ,这不起作用。我有其他以正常方式(没有空格)形成的链接可以正常工作,因此我可以查明添加%20的问题。

我有命令:

<a>
 <xsl:attribute name="href">
  <xsl:value-of select="clmAttach1Link"/>
 </xsl:attribute>
 <xsl:value-of select="clmAttach2Name"/>
</a>

在XSL文档中。转换XML的代码是:

C:\Users\antonio.a\workspace_cusomization\Checklist\build\deploy\Checklist.jar
java.lang.NullPointerException: Location is required.
        at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
        at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
        at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
        at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
        at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
        at javafx.fxml.FXMLLoader.load(Unknown Source)
        at sidia.org.br.Main.start(Unknown Source)
        at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(Unknown Source)
        at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(Unknown Source)
        at com.sun.javafx.application.PlatformImpl.lambda$null$173(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(Unknown Source)
        at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source)
        at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
        at com.sun.glass.ui.win.WinApplication.lambda$null$148(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

此代码正确显示所有信息,但未链接到本地​​文件。

任何人都可以帮我转换超链接以保留空格,以便链接到本地​​文件吗?

由于

2 个答案:

答案 0 :(得分:0)

假设的正确链接是什么?它应该是空格吗?否则你可以尝试使用:

<xsl:strip-space>

并且有一条没有空格的路径。

答案 1 :(得分:0)

网址中的空格不被视为安全,但您可以尝试使用<xsl:text>

<xsl:text disable-output-escaping="yes">&lt;a href="</xsl:text>
<xsl:value-of disable-output-escaping="yes" select="clmAttach1Link"/>
<xsl:text disable-output-escaping="yes">"></xsl:text>
<xsl:value-of disable-output-escaping="yes" select="clmAttach2Name"/>
<xsl:text disable-output-escaping="yes">&lt;/a></xsl:text>

或仅value-ofconcat

<xsl:value-of disable-output-escaping="yes" select="concat(
    '&lt;a href=&quot;', clmAttach1Link, '&quot;>', clmAttach2Name ,'&lt;/a>')"/>