Xslt 如何修复一些损坏的标签
我的输入中有一些损坏的标记,我想在xslt中修复它们。 我已经搜索和尝试了不同的东西,但我似乎不明白 输入:Xslt 如何修复一些损坏的标签,xslt,xslt-1.0,xslt-2.0,Xslt,Xslt 1.0,Xslt 2.0,我的输入中有一些损坏的标记,我想在xslt中修复它们。 我已经搜索和尝试了不同的东西,但我似乎不明白 输入: 我的内容中有一些文本断开的标签,这真的很烦人 期望输出: 我的内容中有一些文本断开的标签,这真的很烦人 有人能帮我找到正确的方向吗 以下内容适用于您的示例,但对于其他情况可能不够通用 XSLT2.0 <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xs
我的内容中有一些文本断开的标签,这真的很烦人
期望输出:
我的内容中有一些文本断开的标签,这真的很烦人
有人能帮我找到正确的方向吗 以下内容适用于您的示例,但对于其他情况可能不够通用 XSLT2.0
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:strip-space elements="*"/>
<!-- identity transform -->
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="p">
<xsl:copy>
<xsl:for-each-group select="node()" group-adjacent="string(@class)">
<xsl:choose>
<xsl:when test="current-grouping-key()">
<span class="{current-grouping-key()}">
<xsl:apply-templates select="current-group()/node()"/>
</span>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="current-group()"/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each-group>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
谢谢!这对我有用。就像你说的,有点复杂,因为span元素嵌套在其他内联元素中(粗体、强调等),但我将分组放在一个单独的模板中,我在所有这些情况下都会调用这个模板。这对我现在的情况有效,但我不知道这样做是否正确。