Это мой XML-код:Этот способ можно закодировать в XSLT
<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 код, как это. Это правильный способ написать мой код? Правильно ли это использовать условие if в XSLT?
Можно ли кодировать это следующим образом:
Можно прочитать все теги (как element
, optional
, empty
) с помощью for each
цикла?
И если это не обязательно, то я хочу, чтобы он создал флажок в 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>
Я не понимаю, что именно вы хотите от нас :) – Lukasz
Возможно, вы поймете, что мы лучше понимаем ваш вопрос, если вы разделите его на предложения с большой буквы в начале каждого предложения и с полной остановкой или вопросом отметьте в конце. –
Рассматривали ли вы просто тестирование своего кода? – Marcin