使用XSLT,如何在文本框中显示只读文本?
当使用XSLT做解析的过程中,希望在页面上显示只读文本,效果如下图所示:
有两种方法实现上述的效果:
1. 短模式:<input type="text" value="..." readonly="readonly"/>
现举例说明如下:
<td>随访医生</td>
<td>
<input type="text" value="{cda:author/cda:assignedAuthor/cda:assignedPerson/cda:name}" readonly="readonly"/>
</td>
效果如下所示:
2.长模式:<input type="text" readonly="readonly">
<xsl:attribute name="value">
......
</xsl:attribute>
</input>
举例:
<input type="text" readonly="readonly">
<xsl:attribute name="value">
<xsl:call-template name="date-format1">
<xsl:with-param name="date" select="cda:component/cda:structuredBody/cda:component/cda:section/cda:entry/cda:observation/cda:effectiveTime/@value" />
</xsl:call-template>
</xsl:attribute>
</input>
<xsl:template name="date-format1">
<xsl:param name="date" />
<xsl:if test="$date">
<xsl:value-of select="substring($date, 1, 4)" />
<xsl:text>-</xsl:text>
<xsl:value-of select="substring($date, 5, 2)" />
<xsl:text>-</xsl:text>
<xsl:value-of select="substring ($date, 7, 2)" />
<xsl:text></xsl:text>
</xsl:if>
</xsl:template>
效果如下所示: