我有这些嵌套<ul>
标签。我想做的是将其中一些转换为<para>
标签。
所以我有这个代码:
<xsl:template match="ul">
<para>
<xsl:apply-templates select="*|@*|text()"/>
</para>
</xsl:template>
我的问题是,当我有嵌套<ul>
标签时,它会<para>
为所有标签创建一个 - 所以如果我有<ul><ul>
它会创建<para><para>
. <para>
当它<ul>
嵌套在另一个<ul>
标签或任何其他标签中时,我如何让它只创建一个,或者什么都没有?
示例 XML 输入:
是的-所以我有类似的东西<ul>A. The definition of "Panoply" is:</ul>
然后<ul><ul>A Large assortment</ul></ul>
。我想将 double<ul>
变成 a <blockquote>
,但它已经<para>
从另一个模板中提取,并且我正在使用的 dtd 不允许 paras 中的块引用
另一个编辑
基本上我想要做的是删除两个标签而不是一个。如果我写
<xsl:template match="ul/ul">
<xsl:apply-templates select="*|@*|text()"/>
</xsl:template>
它只会删除第二个<ul>
,如何删除两者?
我对上面示例输入的预期输出是
<para>A. The definition of "Panoply" is:</para>
<blockquote>A Large assortment</blockquote>
代替
<para>A. The definition of "Panoply" is:</para>
<para><para>A Large assortment</para></para>