Brilliant I've now got this <?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 select="node()|@*"/> </xsl:copy> </xsl:template> <xsl:template match="//control[name='DelaySeconds']/numeric/max/text()"> <xsl:text>5</xsl:text> </xsl:template> <xsl:template match="//control[name='DelaySeconds']/numeric/scalemax/text()"> <xsl:text>5</xsl:text> </xsl:template> </xsl:stylesheet> And it seems to work, thanks for your help. On Mon, Jul 16, 2012 at 1:22 PM, Noam Postavsky < npost...@users.sourceforge.net> wrote: > On Mon, Jul 16, 2012 at 6:09 AM, stuart shepherd > <jonny.w...@googlemail.com> wrote: > > <xsl:template match="//control[name='DelaySeconds']/numeric/max"> > > <xsl:element name="{name(.)}"> > > <xsl:value-of select="translate(string(.), '110', '5')" /> > > </xsl:element> > > </xsl:template> > > I think you could just do > > <xsl:template match="//control[name='DelaySeconds']/numeric/max[. = > 110]/text()"> > <xsl:text>5</xsl:text> > </xsl:template> > > Actually I guess you don't care about the original value so you don't > even need the [. = 110] part. > > > I've tried using replace instead of translate but I get the error message > > > > xmlXPathCompOpEval: function replace not found > > XPath error : Unregistered function > > replace is an Exslt function, add xmlns:str="http://exslt.org/strings" > to your root node, > then you can call str:replace. >
_______________________________________________ xml mailing list, project page http://xmlsoft.org/ xml@gnome.org https://mail.gnome.org/mailman/listinfo/xml