将子元素放在xslt中父元素的外部
使用XSLT将子节点放置在父节点之外 输入:将子元素放在xslt中父元素的外部,xslt,xslt-2.0,Xslt,Xslt 2.0,使用XSLT将子节点放置在父节点之外 输入: <?xml version="1.0" encoding="UTF-8"?> <p>para content <ol> <li>li content</li> <li>li content</li> <li>li content</li>
<?xml version="1.0" encoding="UTF-8"?>
<p>para content
<ol>
<li>li content</li>
<li>li content</li>
<li>li content</li>
</ol>
Para content continues
</para>
对位含量
li内容
li内容
li内容
第2段内容继续
输出
<p>para content Para content continues</p>
<ol>
<li>li content</li>
<li>li content</li>
<li>li content</li>
</ol>
段落内容段落内容继续
li内容
li内容
li内容
我已尝试使用以下代码:
<xsl:template match="p">
<p><xsl:value-of select="node()"/></p>
<xsl:choose>
<xsl:when test="child::ol">
<ul>
<xsl:apply-templates select="ol"/>
</ul>
</xsl:when>
</xsl:choose>
</xsl:template>
但获得的输出如下:
<p>para content</p>
<p>para content
</p><ul>
li content
li content
li content
</ul>
段落内容
对位含量
li内容
li内容
li内容
段落内容继续缺少文本编写模板
<xsl:template match="p">
<xsl:copy>
<xsl:apply-templates select="text()"/>
</xsl:copy>
<xsl:apply-templates select="*"/>
</xsl:template>
当然,从标识转换开始创建样式表
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* , node()"/>
</xsl:copy>
</xsl:template>
请向我们展示您的尝试。。。