Привет, я обычно программирую на c ++, поэтому XML / XSL / XPATH - не моя сильная сторона, но мне нужно выполнить преобразование, и я не могу найти хороший способ сделать это.
У нас есть XML-файл, который отформатирован так:
<outer>
<element/>
<other_element/>
<message pri="info">
[[!CDATA Error: something is not working]]
</message>
<message pri="info">
[[!CDATA Warning: warnings are boring]]
</message>
</outer>
Мне нужен xsl, который может преобразовать его в точно такой же XML-файл, за исключением того, что он соответствует части «Ошибка:» и изменяет атрибут pri на «ошибка».
Мне нужно сделать это с xsl-преобразователем, и я начал изучать XPATH, но мне трудно понять, как я могу это сделать.
Я дошел до совпадения сообщений с
<xsl:template match="message">
<xsl:choice>
<xsl:when test="tricky part">
</xsl:when>
<xsl:otherwise>
<xsl:justcopythetag>
</xsl:otherwise>
</xsl:choice>
</xsl:template>
Я узнал, как копировать другие теги сообщений, но не знаю, как сопоставить часть «ошибка».
Кто-нибудь может мне помочь?