Мне было поручено стилизовать XML, и до сих пор почти все теги, которые мне дали, были либо p, либо ph, которые просто отображают содержимое тега на экране, и я могу стилизовать их по необходимости
например:
<p outputclass="LC AStatProv">Council Regulation (EC) No 2201/2003 of 27 November 2003 Concerning Jurisdiction and the Recognition and Enforcement of Judgments in Matrimonial Matters and in Matters of Parental Responsibility, repealing Regulation (EC) No 1347/2000 (Brussels II Revised) (2003) OJ L 338/1, Art 20</p>
будет отображаться как:
Постановление Совета (ЕС) № 2201/2003 от 27 ноября 2003 года о юрисдикции, признании и исполнении судебных решений по брачно-семейным делам и по вопросам родительской ответственности, отменяющее постановление (ЕС) № 1347/2000 (пересмотренный в Брюсселе II) (2003 год) OJ L 338/1, Art & # x00A0; 20
Сегодня я заметил, что был использован новый тег note , и это приводит к тому, что к началу каждой строки добавляется «Note:», например:
<p outputclass="LC ACourt"><note outputclass="CaseSearchCourt">Court of Appeal</note></p>
будет отображаться как:
Примечание: Re A (Похищение: временные указания: размещение в местных органах власти) [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 получает «Примечание:», но не могу найти его нигде, поэтому моя следующая мысль - попытаться сопоставить шаблон со строкой и удалить «Примечание:» из начала строки. Это хороший способ сделать это и как мне это сделать?
спасибо.
РЕДАКТИРОВАТЬ: Просто чтобы подвести итог моего бессвязного и запутанного вопроса.
Где это делает:
Примечание: Re A (Похищение: временные указания: размещение в местных органах власти) [2010] EWCA Civ 586 [2011] 1 FLR 1
Я просто хочу, чтобы это выглядело:
Re A (Похищение: временные указания: размещение в местных органах власти) [2010] EWCA Civ 586 [2011] 1 FLR 1
РЕДАКТИРОВАТЬ 2 и ответ
Мои первоначальные исследования были основаны на поиске примечания: который не был найден. Я нашел следующее:
<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:
На самом деле это не сработало, так как создавало открывающийся блок, но не закрывало его, поэтому я в итоге удалил весь <xsl:template match="*[contains(@class,' topic/note ')]">
, так как нам не нужны никакие типы заметок в нашей системе