Как сгенерировать xml с подменой данных в определенных тегах?
XSLT:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="node()|@*">
    <xsl:copy>
      <xsl:apply-templates />
    </xsl:copy>
  </xsl:template>
  <xsl:template match="url">
    <xsl:copy>
      <xsl:text>http://www.mytracker.ru/track.php?query=</xsl:text>
      <xsl:value-of select="substring-after(., "http://heverest.ru/" )" />
    </xsl:copy>
  </xsl:template>
</xsl:stylesheet>

Применять:

xsltproc this-xslt.xslt source.xml > target.xml

или, для форматирования:

xsltproc this-xslt.xslt source.xml | xmllint --format - > target.xml

XSLT:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="node()|@*">
    <xsl:copy>
      <xsl:apply-templates />
    </xsl:copy>
  </xsl:template>
  <xsl:template match="url">
    <xsl:copy>
      <xsl:text>http://www.mytracker.ru/track.php?query=</xsl:text>
      <xsl:value-of select="substring-after(., "http://heverest.ru/" )" />
    </xsl:copy>
  </xsl:template>
</xsl:stylesheet>

Применять:

xsltproc this-xslt.xslt source.xml > target.xml

или, для форматирования:

xsltproc this-xslt.xslt source.xml | xmllint --format - > target.xml
