XMLとXSLTで同じ文書へのリンクを作成しようとしています。私はgenerate-id()を使用してインデックスを作成し、それぞれの項目のアンカーを作成しようとしています。generate-id()で同じ文書へのハイパーリンク
問題は、要素名はXMLでは同じではありませんが、私はそれにリンクしたいと思います。例えば
XML:
<testresults>
<test testname="ComparisonResult">
<step stepname="Step1">
<result>true</result>
</step>
<step stepname="Step2" >
<result>true</result>
</step>
</test>
<step stepname="results" stepresult="true">
<drilldown>
<taskresults>
<testResults>
<test testname="ComparisonResult_Step1">
</test>
<test testname="ComparisonResult_Step2">
</test>
</testResults>
</taskresults>
</drilldown>
</step>
</testresults>
XSLT:
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<font face="Arial" size="2">
<h4>Steps</h4>
<table border="1" bordercolor="#000000">
<tr bgcolor="#dccdc">
<th align="center">Task</th>
</tr>
<xsl:for-each select="testresults/test/step">
<tr>
<td bgcolor="#F2F5A9">
<a href="#{generate-id(@stepname)}">
<xsl:value-of select="@stepname" />
</a>
</td>
</tr>
</xsl:for-each>
</table>
<h2>Test Results</h2>
<xsl:for-each select="testresults/step/drilldown/taskresults/testResults/test">
<h3>
<a name="{generate-id(@testname)}">
<xsl:value-of select="@testname" />
</a>
</h3>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
、これは迅速なモックアップで間違いを無視するが、あなたがやろうと何イムのアイデアを得る必要がありますしてください。私はそれを対応するアイテムにリンクすることができません。すなわち、Step1〜ComparisonResult_Step1。
あなたが生成-IDを必要とする理由を任意のアイデアが