У меня есть XML, который содержит серию изображений и их ширину:
<p>
<image width="10cm"/>
<image width="3cm"/>
</p>
Мне нужно рассчитать общую ширину этих изображений.
Когда у меня есть только 1 изображение, это просто:
<template match="p">
<xsl:variable name="imgwidth">
<xsl:value-of select="number(substring-before(image/@width,'cm'))"/>
Наивно я пытался расширить это, чтобы вместить больше изображений:
<xsl:value-of select="sum(number(substring-before(image/@width,'cm')))"/>
Когда я запускаю это на моем примере, я получаю сообщение об ошибке:
Последовательность из более чем одного элемента не допускается в качестве первого аргумента функции fn: substring-before () ("10cm", "3cm")
Я провел несколько поисков, но не могу понять, как запустить подстроку-до на каждом узле изображения внутри моего <p>
.