使用在文件系统上打开xml文件的XSLT创建超链接

使用在文件系统上打开xml文件的XSLT创建超链接,xml,xslt,hyperlink,Xml,Xslt,Hyperlink,我需要向我编写的XSL文件添加超链接。此超链接必须通过用户单击事件打开XML文件。这些XML文件位于我的本地文件系统中的当前目录中 XML文档的一部分 <Document> <racine> <label>Jdk from Sun</label> </racine> <racine> <label>Maven plugin Eclipse</label> </racine> </D

我需要向我编写的XSL文件添加超链接。此超链接必须通过用户单击事件打开XML文件。这些XML文件位于我的本地文件系统中的当前目录中

XML文档的一部分

<Document>
<racine> <label>Jdk from Sun</label> </racine>
<racine> <label>Maven plugin Eclipse</label>  </racine>
</Document>

来自太阳的Jdk
Maven插件Eclipse
对于我的文档的这一部分,有两个XML文件放在工作目录中,即'Jdk from Sun.XML'和'Maven plugin Eclipse'

我编写的XSL的一部分

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="2.0"
xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" cdata-section-elements="Cdata" indent="yes"/>
<xsl:template match = "/">

<html> 
  <head/>
  <Body>
   <xsl:for-each select="Document/racine">
   <html><a href="<H3><xsl:value-of select="label"/></H3>"</a></html>
   </xsl:for-each>
  </Body>
<html>

我的表情

<html><a href="<H3><xsl:value-of select="label"/></H3>"</a></html>

这是胡说八道,我知道,但我不知道如何做到最好。为了更精确,我使用href属性将本地文件系统链接到'Jdk from Sun.xml'和'Jdk from Sun.xml'文件。 你的帮助非常宝贵。 提前感谢

我不确定
应该是什么意思,所以我假设您想要这样的东西:

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="html" indent="yes"/>

  <xsl:template match="Document">
    <html> 
      <head/>
      <body>
        <xsl:apply-templates select="racine" />
      </body>
    </html>
  </xsl:template>

  <xsl:template match="racine">
    <h3>
      <a href="{encode-for-uri(label)}"><xsl:value-of select="label" /></a>
    </h3>
  </xsl:template>
</xsl:stylsheet>

  • 使用属性值模板(大括号)填充
    href
    属性
  • 必须使用
    encode-for-uri()
    ()来创建格式良好的URL

我已经找到了解决问题的方法。我与那些能够满足这一点的人分享

对于以下XML文件

<Document>
 <racine> <label>Jdk from Sun</label> </racine>
 <racine> <label>Maven plugin Eclipse</label>  </racine>
</Document>

来自太阳的Jdk
Maven插件Eclipse
这是XSL的一部分

<xsl:element name="a">
  <xsl:attribute name="href"><xsl:value-of select="label" />
  <xsl:text>.xml</xsl:text>       
  </xsl:attribute>
  <xsl:value-of select="label" />
</xsl:element>

.xml
在上面的屏幕截图中查看输出


谢谢大家

您的问题有点不清楚,但是您可以始终使用
href
属性中的
文件://
协议链接到本地文件系统。是的,这就是我想要的。但我不知道如何使用它。这就是为什么我需要你的帮助!感谢您的XSL,浏览器IE上没有指向“来自Sun.xml的Jdk”或“来自Sun.xml的Jdk”的链接。IE只是显示了“来自Sun Maven插件Eclipse的Jdk”。为了更精确,我使用href属性将本地文件系统链接到'Jdk from Sun.xml'和'Jdk from Sun.xml'文件。谢谢,这不是一个XSLT问题,而是一个基本的HTML问题。弄清楚如何创建工作链接不应该花费你超过半小时的阅读时间。我知道如何用HTML创建链接,没问题。我的问题是在XSL文件中创建它。很抱歉,因为我是XSL的新手,所以我把我的问题贴在这里。谢谢,我不明白。如果您知道链接的外观,那么问题出在哪里?名为“a”的标记表示HTML中的链接元素。但从XML文档中检索到的元素标签不会显示为显示中的链接。很抱歉,我的英语不是很好!