0

我无法通过 xml/xsl 转换呈现项目符号列表。我希望输出是一个带有圆形项目符号的列表。

这是xml文件-

<bulletList name="list">
        <item>&#8226; Item1</item>
        <item>&#8226; Item2</item>
        <item>&#8226; Item3</item>
        <item>&#8226; Item4</item>
        <item>&#8226; Item5</item>
</bulletList>

这是相应的 XSL -

<div class="sansIcon">
            <xsl:apply-templates select="content[@name='con1']" mode="impl_expandContent"/>

            <ul>
            <xsl:apply-templates select="bulletList[@name='list']" mode="impl_expandContent">
                <xsl:for-each select="item">
                    <li><xsl:value-of /></li>
                </xsl:for-each>
            </xsl:apply-templates>  
            </ul>

       </div>

请帮忙!提前致谢。

4

1 回答 1

0

这里<xsl:value-of />改为<xsl:value-of select="text()"/>

这样做,而不是对 bulletList 使用应用模板

<ul>
    <xsl:for-each select="bulletList[@name='list']/item">
        <li>
            <xsl:value-of select="text()"/>
        </li>
    </xsl:for-each>
</ul>

编辑:

对于这种类型的 XML,

<item>Item1 - Description1</item>
<item>Item2 - Description2</item>

使 Item1, Item2, .... 加粗。使用substring-before()substring-after()

<li>
    <xsl:variable name="itemText" select="substring-before(text(), '-')"/>
    <b><xsl:value-of select="$itemText"/></b><xsl:value-of select="substring-after(text(), $itemText)"/>
</li>
于 2012-06-28T05:26:37.687 回答