如何在xsl中创建超链接

时间:2013-03-28 10:38:37

标签: xml xslt xslt-1.0 xslt-2.0

我正在使用以下xml并希望使用xslt以HTML格式显示。

    <resultDetailsData>
    <itemProperties>
      <ID>0</ID> 
      <type>RESULTSTATUS</type> 
      <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="status">NOSTATUS</value> 
    </itemProperties>
    <itemProperties>
      <ID>1</ID> 
      <type>LEVEL</type> 
      <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:int">1</value> 
    </itemProperties>
    <itemProperties>
      <ID>2</ID> 
      <type>RESULTTYPE</type> 
      <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="resultType">SCREENIMAGE</value> 
    </itemProperties>
    <itemProperties>
      <ID>3</ID> 
      <label>Description</label> 
      <type>TEXT</type> 
      <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">SC</value> 
    </itemProperties>
    <itemProperties>
      <ID>4</ID> 
      <type>LINK</type> 
      <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">2013-03-25 111117-840.jpg</value> 
    </itemProperties>
    <itemProperties>
      <ID>5</ID> 
      <type>SCREENSHOT</type> 
      <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">2013-03-25 111117-840.jpg</value> 
    </itemProperties>
    <itemProperties>
      <ID>6</ID> 
      <type>DURATION</type> 
      <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:long">711</value> 
    </itemProperties>
    <itemProperties>
      <ID>7</ID> 
      <type>STEPDESCRIPTION</type> 
      <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">SC</value> 
    </itemProperties>
    <itemProperties>
      <ID>8</ID> 
      <type>RESULTDESCRIPTION</type> 
      <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Screen Capture - SC</value> 
    </itemProperties>
  </resultDetailsData>

我必须为值标记类型 * RESULTDESCRIPTION *的值创建超链接。即,“屏幕截图 - SC”当我点击它时,它应该打开文件,其值将来自标签类型 * LINK *的值。即“2013-03-25 111117-840.jpg”。

我正在为此寻找xsl代码。任何建议。

1 个答案:

答案 0 :(得分:0)

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output indent="yes"/>
    <xsl:template match="/resultDetailsData">
        <a href="{itemProperties[type='LINK']/value}"><xsl:value-of select="itemProperties[type='RESULTDESCRIPTION']/value"/></a>
    </xsl:template>
</xsl:transform>

<强> Working example