Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 使用XSL将XML项转换为超链接_Html_Xml_Xslt - Fatal编程技术网

Html 使用XSL将XML项转换为超链接

Html 使用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

 <?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