当前位置: 首页 > 知识库问答 >
问题:

如何创建编号列表xsl

施自珍
2023-03-14

我的xml

  <section>
  <orderedlist>
      <listitem>
        <para>Lorem ipsum dolor sit amet, consectetur adipisicing elit,
        sed do eiusmod tempor incididunt ut labore et dolore magna
        aliqua.</para>
      </listitem>

      <listitem>
        <para>Ut enim ad minim veniam, quis nostrud exercitation ullamco
        laboris nisi ut aliquip ex ea commodo consequat.</para>
      </listitem>

      <listitem>
        <para>Duis aute irure dolor in reprehenderit in voluptate velit
        esse cillum dolore eu fugiat nulla pariatur.</para>
      </listitem>

      <listitem>
        <para>Excepteur sint occaecat cupidatat non proident, sunt in
        culpa qui officia deserunt mollit anim id est laborum.</para>
      </listitem>
 </orderedlist>
 </section>

我的xls

<xsl:stylesheet version = '1.0' 
 xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="listitem/para">
 <ol>
  <xsl:for-each select="//para">
   <li>
    <xsl:value-of select="."/>
   </li>
 </ol> 
</xsl:template>
</xsl:stylesheet>

在输出中,我得到4份,但我只想要一份。有什么问题吗?

  1. Lorem ipsum Dolor sat amet,consecetur adipith elit,se do eiusmod温度附带ut Workore et Dolore magna aliqua。
  2. Ut enim ad minim veniam, quis nostr的练习ullamco的劳动是nisi ut aliquip ex ea commodo的结果。
  3. Duis auteirure Dolor in r
  4. Excepteur sint在不负责的情况下,不能承担责任。

共有2个答案

冯祺
2023-03-14

您正在为文档中的每个< code>listitem/para创建一个单独的< code>ol。在< code>orderedlist级别创建< code>ol,然后在每个< code>para级别创建< code>li。

示例:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output indent="yes"/>
    <xsl:strip-space elements="*"/>

    <xsl:template match="orderedlist">
        <ol>
            <xsl:apply-templates/>
        </ol>
    </xsl:template>

    <xsl:template match="listitem/para">
        <li><xsl:apply-templates/></li>
    </xsl:template>

</xsl:stylesheet>
从智明
2023-03-14

您的模板具有匹配 4 倍的模板标签,因为您有 4 个标签,之后 //para 将返回 4 个标签,因为它在整个文档中的外观。我相信你想要这个:

<xsl:template match="listitem">
 <ol>
  <xsl:for-each select="para">
    <li>
   <xsl:value-of select="."/>
   </li>
  </ol> 
  </xsl:template>
</xsl:stylesheet>
 类似资料:
  • 有没有办法以降价格式创建自动编号的列表?目前,我必须手动输入我希望出现的数字,但如果我在列表中插入项目,则必须对以下所有项目重新编号很麻烦。

  • 我正在尝试创建列表列表,其中大列表表示纸张包含小列表表示问题的集合,问题列表由问题字符串及其ID组成。在这里我的代码: 现在我没有错误地制作问题列表,但是当我尝试创建更大的列表时,Visual Studio无法将可变问题类型识别为类型,哪里错了?

  • 问题内容: 我有一堂课 我有一个返回List对象的方法,例如 我需要像这样将列表转换为JSONArray 谁能帮我得到这个?在此先感谢.. 问题答案: 我认为您无需下载Jettison jar文件。 使用,您可以轻松地将该列表转换为JSON对象,例如@Juniad Answer

  • 问题内容: 我有一个简单的验证器来验证String值是否是预定义列表的一部分: 例如,它将验证: 我想为字符串列表创建一个验证器以验证如下内容: 我尝试了这个: 问题是,如果list包含2个或多个非法值,则将只有一个(第一个)约束违规。我希望它有多个。我应该怎么做? 问题答案: 您当前的代码有2个问题: 在您的方法中,您应该像这样遍历给定列表的所有元素(设置适当的标志): 第二个是针对约束违反的实

  • 问题内容: 如何在Python中创建对象(类实例)列表? 还是这是不良设计的结果?我需要这个原因是因为我有不同的对象,并且需要在以后的阶段中处理它们,所以我将继续将它们添加到列表中,然后再调用它们。 问题答案: 存储对象实例列表非常简单

  • 问题内容: 我有一个字符串列表,例如: 我想为列表中的每个元素创建一个列表,该列表的名称应与字符串完全相同: 如何在Python中做到这一点? 问题答案: 你可以通过创建一个dict: 然后按(例如:)访问每个你不想走单独的变量之路!