Это дает вывод, как показано ниже
я проблема со связыванием внешнего ключа IDREF из xml в XSLT. Я пытался во многом решить эту проблему. Но все же, когда я показываю его, я не вижу свой IDREF из XSLT. Например, приведенный ниже код должен отображать справочник пациента d1, d2 ... и т. Д. Но он ничего не отображает от врача. Кто-нибудь может мне помочь решить его?
Вот мой код для 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>
Мой вывод должен показывать доктора idref также. Но он не показал. Почему?введите описание изображения здесь