xmlからXSLTへの外部キーIDREFのリンクに問題があります。私はその問題を解決するために多くの方法で試みました。しかし、私はそれを表示すると、私はIDREFをXSLTから見ることができません。例えば、以下のコードは、患者の医者参照d1、d2 ...を表示しなければなりません。しかし、医者から何も表示されません。ここでIDREFからXMLへのリンク方法
は、XMLのための私のコードです:
<patient unique_no="p1" gender="F">
<f_name>MMA</f_name>
<l_name>STONE</l_name>
<doctor-ref IDREF="d1"/>
<doctor-ref IDREF="d2"/>
</patient>
<doctor id="d1">
<d_f_name>Chef Linguini</d_f_name>
<d_l_name>Gusteau</d_l_name>
<specification>&on;</specification>
</doctor>
<doctor id="d2">
<d_f_name>Gordon</d_f_name>
<d_l_name>Ramsay</d_l_name>
<specification>&ENT;</specification>
</doctor>
<xsl:template match="/">
<xsl:for-each select="hospital/patient">
<xsl:sort select="f_name" />
<tr>
<td>
<xsl:value-of select="@unique_no" />
</td>
<td>
<xsl:value-of select="f_name" />
</td>
<td>
<xsl:value-of select="l_name" />
</td>
<xsl:choose>
<xsl:when test="@gender='M'">
<td bgcolor="red">
<xsl:value-of select="@gender"/></td>
</xsl:when>
<xsl:when test="@gender='F'">
<td bgcolor="Yellow">
<xsl:value-of select="@gender"/></td>
</xsl:when>
<xsl:otherwise>
<td><xsl:value-of select="@gender"/></td>
</xsl:otherwise>
</xsl:choose>
<!-- <td>
<xsl:value-of select="@gender" />
</td> -->
<td>
<!-- <xsl:value-of select="key('Medications', @Medications/@IDREF)"/>
-->
<xsl:value-of select="@Medications"/>
</td>
<td>
<xsl:value-of select="@doctor" />
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text>
</xsl:if>
</td>
</tr>
</xsl:for-each>
</xsl:template>
私の出力はまた、show.Whyなかった.But IDREFショーの医者を持っている必要がありますか?
enter image description here