无法在xsl中呈现项目符号列表

时间:2012-06-28 05:15:07

标签: xml xslt

我无法通过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>

请帮忙!提前谢谢。

1 个答案:

答案 0 :(得分:0)

此处将<xsl:value-of />更改为<xsl:value-of select="text()"/>

这样做,而不是使用bulletList

的apply-templates
<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>