<remark role="removethis"/>
<para>Content to be removed.</para>
<para>Don't remove this.</para>
我想在具有角色=“ removethis”的备注之后直接删除该元素。 在上面的示例中,
<para>Content to be removed.</para>
将被删除。 要删除的元素不必是para。它可以是屏幕,节目列表等。
我认为使用跟随兄弟可能会这样做(请参阅下文)。但这与以下所有同胞匹配。
<xsl:template match="remark[@role = 'removethis']::following-sibling"/>
答案 0 :(得分:1)
您的方法有两个问题:
remark[@role = 'removethis']::following-sibling
不是有效的XPath表达式;
您不能在match pattern的定位步骤中使用following-sibling
轴。 child
或attribute
以外的任何轴都只能在谓词中使用。
请尝试:
<xsl:template match="para[preceding-sibling::*[1][self::remark[@role='removethis']]]"/>
解决这个问题的方法可能更简单,但您只是向我们展示了部分图片。