Html 使用XSL将XML项转换为超链接
下面是正在处理的XMLHtml 使用XSL将XML项转换为超链接,html,xml,xslt,Html,Xml,Xslt,下面是正在处理的XML <?xml version="1.0" encoding="UTF-8"?> <javancss> <sourceFile name="D:\EM_Projects\javancssParser\src\old_code_complexity.xml"/> <compareFile name="D:\EM_Projects\javancssParser\src\new_code_complexity.xml"/&
<?xml version="1.0" encoding="UTF-8"?>
<javancss>
<sourceFile name="D:\EM_Projects\javancssParser\src\old_code_complexity.xml"/>
<compareFile name="D:\EM_Projects\javancssParser\src\new_code_complexity.xml"/>
<summaryFile name="D:\EM_Projects\javancssParser\src\Summary.xml"/>
<packages />
<functions />
<objects />
</javancss>
下面是XSLT的一个片段
<center><table border="1" cellspacing="5">
<tr>
<th>File</th>
<th>Path</th>
<th>Link </th>
</tr>
<tr>
<td>sourceFile</td>
<td> <a> <xsl:value-of select="/javancss/sourceFile/@name" /> </a></td>
<td> </td>
</tr>
<tr>
<td>compareFile </td>
<td><xsl:value-of select="/javancss/compareFile/@name" /> </td>
<td> </td>
</tr>
<tr>
<td>compareFile </td>
<td><xsl:value-of select="/javancss/compareFile/@name" /> </td>
<td> </td>
</tr>
</table>
</center>
文件
路径
链接
源文件
比较文件
比较文件
我要做的是选择路径(由每行的第2列表示)并在第3列中放置指向它的超链接(在相应的
中,目前为空)。同样的方法是什么
欢迎所有输入。以下XSLT
<?xml version="1.0" encoding="utf-8"?>
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes"/>
<xsl:template match="/">
<center>
<table border="1" cellspacing="5">
<tr>
<th>File</th>
<th>Path</th>
<th>Link </th>
</tr>
<xsl:apply-templates/>
</table>
</center>
</xsl:template>
<xsl:template match="javancss">
<xsl:apply-templates mode="link-row" select="sourceFile"/>
<xsl:apply-templates mode="link-row" select="compareFile"/>
<xsl:apply-templates mode="link-row" select="summaryFile"/>
</xsl:template>
<xsl:template match="*" mode="link-row">
<tr>
<td><xsl:value-of select="name()"/></td>
<td><xsl:value-of select="@name" /></td>
<td>
<a href="{@name}">link</a>
</td>
</tr>
</xsl:template>
</xsl:transform>
文件
路径
链接
应用于给定的输入文档
<?xml version="1.0" encoding="UTF-8"?>
<javancss>
<sourceFile name="D:\EM_Projects\javancssParser\src\old_code_complexity.xml"/>
<compareFile name="D:\EM_Projects\javancssParser\src\new_code_complexity.xml"/>
<summaryFile name="D:\EM_Projects\javancssParser\src\Summary.xml"/>
<packages />
<functions />
<objects />
</javancss>
生成以下输出
<center>
<table border="1" cellspacing="5">
<tr>
<th>File</th>
<th>Path</th>
<th>Link </th>
</tr>
<tr>
<td>sourceFile</td>
<td>D:\EM_Projects\javancssParser\src\old_code_complexity.xml</td>
<td>
<a href="D:\EM_Projects\javancssParser\src\old_code_complexity.xml">link</a>
</td>
</tr>
<tr>
<td>compareFile</td>
<td>D:\EM_Projects\javancssParser\src\new_code_complexity.xml</td>
<td>
<a href="D:\EM_Projects\javancssParser\src\new_code_complexity.xml">link</a>
</td>
</tr>
<tr>
<td>summaryFile</td>
<td>D:\EM_Projects\javancssParser\src\Summary.xml</td>
<td>
<a href="D:\EM_Projects\javancssParser\src\Summary.xml">link</a>
</td>
</tr>
</table>
</center>
文件
路径
链接
源文件
D:\EM\u Projects\javancssParser\src\old\u code\u complexity.xml
比较文件
D:\EM\u Projects\javancssParser\src\new\u code\u complexity.xml
摘要文件
D:\EM\u Projects\javancssParser\src\Summary.xml
请注意:
- 您可能不希望表头位于用于数据行的同一模板中
- 将上下文设置为感兴趣的节点可以使XPath表达式更短、更可读
- 您可能是指最后一项的summaryFile