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 に 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>
于 2012-06-28T05:26:37.687 に答える