use xslt para modificar um input.xml:
<bla>
<start>501234</start>
<end>12345</end>
</bla>
e você deseja multiplicar o número entre as tags start
com 0.9
e criar um "arquivo de transformação" (transform.xsl):
<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="xml" indent="yes"/>
<!-- copy everything else -->
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<!-- transform what we are interested in -->
<xsl:template match="start">
<foo><xsl:value-of select="number(.) * 0.9" /></foo>
</xsl:template>
</xsl:stylesheet>
e aplique-o assim:
% xsltproc transform.xsl input.xml