Рассмотрите возможность извлечения значения узла в переменную $param
:
<xsl:variable name="param">
<xsl:value-of select="/root/param"/>
</xsl:variable>
Теперь вы можете использовать начиная с XSLT 2.0 функцию replace
, чтобы получить число:
<xsl:value-of select="replace($param, '.*?ORDERID:(\d+)\.\w{4} .*', '$1')"/>
Регулярное выражение .*?ORDERID:(\d+)\.\w{4} .*
демонстрируется в Регулярное выражение 101 .