需要删除注意:从使用XSLT的字符串开始

需要删除注意:从使用XSLT的字符串开始,xslt,Xslt,我一直负责XML的样式设计,到目前为止,我得到的几乎所有标记都是p或ph,它们只在屏幕上显示标记的内容,我可以根据需要进行样式设计 例如: 将显示为: 2003年11月27日关于婚姻事项和父母责任事项的管辖权以及判决的承认和执行的欧盟理事会第2201/2003号条例,废除了欧盟第1347/2000号条例布鲁塞尔II修订版2003 OJ L 338/1,第20条 今天我注意到使用了一个新的note标签,这导致note:在每个字符串的开头加上前缀,例如: <p outputclass="LC

我一直负责XML的样式设计,到目前为止,我得到的几乎所有标记都是p或ph,它们只在屏幕上显示标记的内容,我可以根据需要进行样式设计

例如:

将显示为:

2003年11月27日关于婚姻事项和父母责任事项的管辖权以及判决的承认和执行的欧盟理事会第2201/2003号条例,废除了欧盟第1347/2000号条例布鲁塞尔II修订版2003 OJ L 338/1,第20条

今天我注意到使用了一个新的note标签,这导致note:在每个字符串的开头加上前缀,例如:

<p outputclass="LC ACourt"><note outputclass="CaseSearchCourt">Court of Appeal</note></p>
将显示为:

注:关于绑架:临时指示:地方当局提供的住宿[2010]EWCA Civ 586[2011]1 FLR 1

为此产生的FO为:

<fo:block><fo:inline font-weight="bold" border-right-width="0pt" border-left-width="0pt">Note: </fo:inline>  Court of Appeal</fo:block>
我尝试了从本网站其他地方收集的以下代码,但没有删除我想要的字符串:

<xsl:template match="note">
        <note>
            <xsl:if test="contains(., 'Note:')">
                <xsl:call-template name="remove">
                    <xsl:with-param name="value" select="."/>
                </xsl:call-template>
            </xsl:if>
        </note>
    </xsl:template>
<xsl:template name="remove">
        <xsl:param name="value"/>
        <xsl:value-of select="concat(substring-before($value, 'Note:'), substring-after($value, 'Note:'))"/>
    </xsl:template>
我曾尝试查看XSLT从何处获得Note:from,但在任何地方都找不到它,因此我的下一个想法是尝试对字符串进行模式匹配,并从字符串的开头删除Note:from。这是一个好办法吗?我该怎么做

谢谢

编辑:只是总结一下我的漫无边际和令人困惑的问题

在其呈现的情况下:

注:关于绑架:临时指示:地方当局提供的住宿[2010]EWCA Civ 586[2011]1 FLR 1

我只想让它呈现:

关于绑架:临时指示:地方当局的住宿[2010]EWCA Civ 586[2011]1 FLR 1

编辑2和答案

我最初的调查是基于grepping for Note:找不到。不过,我发现:

<xsl:template match="*[contains(@class,' topic/note ')]">
然后注释掉以下几行:

<!--<xsl:text>Note</xsl:text>-->
                    </xsl:otherwise>
                </xsl:choose>
                <!--<xsl:text>: </xsl:text>-->
            </fo:inline>
            <xsl:text>  </xsl:text>
            <xsl:apply-templates/>
我已经把那张纸条扔掉了

编辑3:


这实际上不起作用,因为它创建了一个打开的块,但没有关闭它,所以我最终删除了整个,因为我们的系统中不需要任何类型的注释

这实际上不起作用,因为它创建了一个打开的块,但没有关闭它,所以我最终删除了整个,因为我们的系统中不需要任何类型的注释

,如果我理解正确的话,你已经。。。在作为注释呈现的输入XML中:。。。你不想这样吗?这基本上意味着XSLT中的某些东西呈现了它。你为什么不能修改那部分?好的,我现在可以用了。谢谢Tomalak为我指出了正确的方向。如果你愿意,请用你自己的答案快速总结一下你所做的事情。你甚至可以在一段时间后接受你自己的答案。@LarsH,由于我的帐户烫发,我不得不等了8个小时才能回答这个问题。我现在关闭它。
<!--<xsl:text>Note</xsl:text>-->
                    </xsl:otherwise>
                </xsl:choose>
                <!--<xsl:text>: </xsl:text>-->
            </fo:inline>
            <xsl:text>  </xsl:text>
            <xsl:apply-templates/>