順序付きリストを除いてすべてが適切に構造化された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[]]
います。