【发布时间】:2021-12-13 11:33:42
【问题描述】:
假设我有一个这样的 HTML 文件:
<ol>
<li>item 1</li>
<li>item 2</li>
</ol>
<ul>
<li>item 3</li>
<li>item 4</li>
<li> </li>
</ul>
对于那些列表项,无论是在有序列表还是无序列表中,我都想将
标记中。这样处理后的 HTML 文件将如下所示:
<ol>
<li><p>item 1</p></li>
<li><p>item 2</p></li>
</ol>
<ul>
<li><p>item 3</p></li>
<li><p>item 4</p></li>
<li> </li>
</ul>
这是我写的.xsl文件:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match='/'>
<xsl:apply-templates select='*' />
</xsl:template>
<xsl:template match='*'>
<xsl:copy-of select='.' />
</xsl:template>
<xsl:template match='li'>
<xsl:if test='normalize-space(.)'>
<xsl:element name='p'>
<xsl:value-of select='.' />
</xsl:element>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
但是,这不起作用。谁能告诉我我哪里做错了?谢谢。
【问题讨论】:
标签: xml xslt xslt-1.0 xslt-2.0