Используя XSLT, как добавить элемент вокруг текста до и после элемента в смешанном контенте? - PullRequest
0 голосов
/ 02 мая 2019

Это структура моего XML-документа:

<body><p>Some text <em>before</em> image<img src="" width="" height=""/>some text <b>after</b> image</p></body>

После обработки это должно выглядеть так:

<body><p>Some text <em>before</em> image</p><img src="" width="" height=""/><p>some text <b>after</b> image</p></body>

Как я могу добавить элементы p в текст доа после элемента img?

1 Ответ

0 голосов
/ 02 мая 2019

Для XSLT 2.0:

<xsl:template match="p[img]">
  <xsl:for-each-group select="node()" group-adjacent="boolean(self::img)">
    <xsl:choose>
      <xsl:when test="self::img">
        <xsl:copy-of select="."/>
      </xsl:when>
      <xsl:otherwise>
        <p><xsl:copy-of select="current-group()"/></p>
      </
    </
  </
</
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...