【发布时间】:2012-03-24 02:45:56
【问题描述】:
这是我的 xml 代码:
<define name="Procedure">
<element name="Procedure" radlex:id="RID1559" radlex:match="Exact">
<element name="View" radlex:id="RID10420" radlex:match="Exact">
<optional>
<element name="Supine" radlex:id="RID10421" radlex:match="Exact" snomed:id="416733000">
<empty/>
</element>
</optional>
<optional>
<element name="Upright" radlex:id="RID10455" radlex:match="Exact">
<empty/>
</element>
</optional>
<text/>
</element>
<text/>
</element>
</define>
我已经这样编写了我的 XSLT 代码。这是编写我的代码的正确方法吗? 这是在 XSLT 中使用 if 条件的正确方法吗?
是否可以这样编码:
是否可以使用for each 循环读取所有标签(如element、optional、empty)?
如果它是可选的,那么我希望它在 HTML 中创建一个复选框;我希望它为所有人都这样做。
<xsl:template match="rng:define">
<table>
<xsl:for-each select="rng:element[@name='Procedure']">
<span style="color:blue;">
<tr>
<td>
<xsl:text> Procedure </xsl:text>
</td>
</tr>
<xsl:if test="rng:element > (rad:id='RID10420')">
<tr>
<td>
<xsl:text> View </xsl:text>
</td>
</tr>
<tr>
<td>
<input type="text" name="View"></input>
</td>
</tr>
</xsl:if>
<xsl:if test="rng:element/rng:optional > (rad:id='RID10421')">
<tr>
<td>
<input text="Supine" name="cSupine" type="checkbox" class="checkbox" id="cSupine" value="checkbox"/>
<xsl:text> Supine </xsl:text>
</td>
</tr>
</xsl:if>
<xsl:if test="rng:element/rng:optional > (rad:id='RID10455')">
<tr>
<td>
<input text="Upright" name="cUpright" type="checkbox" class="checkbox" id="cUpright" value="checkbox"/>
<xsl:text> Upright </xsl:text>
</td>
</tr>
</xsl:if>
</span>
</xsl:for-each>
</table>
</xsl:template>
【问题讨论】:
-
我不明白你到底想从我们这里得到什么:)
-
您可能会发现,如果您将问题拆分为多个句子,每个句子的开头为大写字母,结尾为句号或问号,我们会更好地理解。
-
你考虑过只测试你的代码吗?