【问题标题】:This Way we can code in xslt这样我们就可以在 xslt 中编码
【发布时间】: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 循环读取所有标签(如elementoptionalempty)?

如果它是可选的,那么我希望它在 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 &gt; (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 &gt; (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 &gt; (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>

【问题讨论】:

  • 我不明白你到底想从我们这里得到什么:)
  • 您可能会发现,如果您将问题拆分为多个句子,每个句子的开头为大写字母,结尾为句号或问号,我们会更好地理解。
  • 你考虑过只测试你的代码吗?

标签: xslt xslt-1.0


【解决方案1】:

了解“我们如何在 XSLT 中编码”的一个好方法是阅读一本关于 XSLT 的好书,阅读此标签中的任何好的答案,稍作练习...

如果您只想对可能的写作风格有一个印象,也请查看 FXSL 库的代码——您会感觉到一种特定的编码风格,我相信这还不错。

例如 this code 在纯 XSLT 2.0 中实现了一个通用的、表驱动的 LR(1) 解析器。

this code 计算出 600851475143 的最大素因数(一个很好的项目欧拉问题的纯 XSLT 解决方案)。

您可能也有兴趣了解 XPath,它是 XSLT 最重要的组成部分。

Here二叉搜索树 数据类型的纯 XPath 实现。

hereset 类型的纯 XPath 实现。

最后,here 是流行的 FizzBu​​zz 问题的 XPath 解决方案。

【讨论】:

  • @Dimitre Novatchev 我想用xslt把上面的xml代码转换成html代码
猜你喜欢
  • 1970-01-01
  • 2011-08-10
  • 2020-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多