我有一个 XML 文件,其中除了有序列表之外的所有内容都结构良好。每个列表项都被标记为一个段落<p>
,并手动添加枚举:(1)。我想从该源创建一个有效的 HTML 列表。
使用该xsl:matching-substring
方法和正则表达式,我能够提取每个列表项,但我似乎找不到添加周围<ol>
标签的方法。
这是一个例子:
XML 源:
<Content>
<P>(1) blah</P>
<P>(2) blah</P>
<P>(2) blah</P>
</Content>
到目前为止我所拥有的:
<xsl:variable name="text" select="/Content/*/text()"/>
<xsl:analyze-string select="$text" regex="(\(\d+\))([^(]*)">
<xsl:matching-substring>
<![CDATA[<li>]]><xsl:value-of select="regex-group(2)"/><![CDATA[</li>]]>
</xsl:matching-substring>
</xsl:analyze-string>
输出:
<li>blah</li>
<li>blah</li>
<li>blah</li>
如果您想知道:通常输出必须是纯文本,只有$text
变量的内容必须以 HTML 格式输出。这就是我使用<![CDATA[]]
.