Манипулирование текстом в элементе XML - PullRequest
0 голосов
/ 15 февраля 2019

В моем документе XSL у меня есть это:

<xsl:if test="notification_data/incoming_request/note != ''">
<tr>
<td><h2><b>@@request_note@@: </b> <xsl:value-of select="notification_data/incoming_request/note"/></h2></td>
</tr>
</xsl:if>

Где текст в элементе примечания XML на самом деле представляет собой три фрагмента данных, соединенных вместе, разделенных ||.Так поступает наш продавец.

<note>||Christie, James||1234567||Lutheran College</note>

Есть ли способ, внутри этого же XSL-документа, проанализировать эти три фрагмента данных и выбрать, что печатать на письме?

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 18 февраля 2019

Спасибо большое!Я использую XSLT 1.0, поэтому я решил использовать вложенные substring-before и substring-after для решения этой проблемы.Для тех, кто заинтересован:

<xsl:value-of select="substring-before(substring-after(notification_data/incoming_request/note,'||'),'||')"/> - <xsl:value-of select="substring-after(substring-after(substring-after(notification_data/incoming_request/note,'||'),'||'),'||')"/>

Результат:

Christie,James - Lutheran College 

, что мы и хотели напечатать.И да, порядок элементов данных всегда будет одинаковым.еще раз спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...