Удалить встроенные теги XML из строк без добавления пробелов - PullRequest
0 голосов
/ 05 ноября 2019

Я посмотрел, но не смог найти ответ на эту конкретную проблему, но если я ошибаюсь, я извиняюсь.

В основном у меня есть такие вещи во всем моем XML:

<some-text>
   Here is something interesting<em>/</em>cool to look at
</some-text>

Я хочу получить текст, но убрать теги "em", не заменяя их пробелом, чтобы я в итоге получил:

Вот кое-что интересное / крутое на взгляд

, а не:

Вот кое-что интересное / крутое на взгляд

Примечание: я использую xslt 2.0, и это не такт только в одном теге, это документ шириной, поэтому мне нужно решение, чтобы удалить их из всех.

Спасибо

1 Ответ

0 голосов
/ 05 ноября 2019

Я протестировал следующий шаблон с Saxon:

<xsl:template match="em">
    <xsl:value-of select="string(.)"/>
</xsl:template>

Результат без (нежелательных) пробелов.
Это работает в сочетании с шаблоном идентификации

<!-- Identity template -->
<xsl:template match="@*|node()">
    <xsl:copy>
        <xsl:apply-templates select="@* | node()"/>
    </xsl:copy>
</xsl:template>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...