我有xml如下,
<doc>
<p type="para">.<t/>JMS<s/>
<style type="italic">Bambulla</style>
<s/>2012-13, s. 65 (ad § 3)
</p>
</doc>
我需要的是移除.
之后的<p type="para">
。请注意,每次.
位于<p type="para">
和<t/>
之间。
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="p[@type='para']">
<p type="para">
<xsl:apply-templates/>
</p>
</xsl:template>
如何在xsl上方展开以仅删除.
字符串?
答案 0 :(得分:1)
如果您添加<xsl:template match="p[@type='para']/node()[1][self::text() and . = '.' and following-sibling::node()[1][self::t[not(node())]]]"/>
,那么p[@type='para']
的任何第一个子节点(其为具有字符串值.
的文本节点,后跟一个空的t
元素将是删除。