Hmm, I am no XSLT GURU, but could you do... <xsl:template name="replace-string"> <xsl:param name="text"/> <xsl:param name="replace"/> <xsl:param name="with"/> <xsl:choose> <xsl:when test="contains($text,$replace)"> <xsl:value-of select="substring-before($text,$replace)"/> <xsl:value-of select="$with"/> <xsl:call-template name="replace-string"> <xsl:with-param name="text" select="substring-after($text,$replace)"/> <xsl:with-param name="replace" select="$replace"/> <xsl:with-param name="with" select="$with"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="$text"/> </xsl:otherwise> </xsl:choose> </xsl:template>
<xsl:template match="wix:RegistryValue/@Value"> <xsl:attribute name="Value"> <xsl:choose> <xsl:when test="starts-with(., 'C:\windows\system32')"> <xsl:call-template name="replace-string"> <xsl:with-param name="text" select="."/> <xsl:with-param name="replace" select="'C:\windows\system32'" /> <xsl:with-param name="with" select="'[SystemFolder]'"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="."/> </xsl:otherwise> </xsl:choose> </xsl:attribute> </xsl:template> -----Original Message----- From: Gabriel Ivanes [mailto:g...@fastmail.net] Sent: Monday, February 11, 2013 10:16 AM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] [Wix-users] XSLT I already has a template. I changed attributes components few times. In this case, i don't know how to identify template : <xsl:template match="wix:RegistryValue"> <RegistryValue Value="@Value"> <xsl:apply-templates select="[SystemFolder]"/> </RegistryValue> </xsl:template> This is bad. Sure i want to resolv my issue, but i also wanted advises of good documentation with a wix approach. I find Nick's book to be a good way to learn wix. Maybe Wix's community has well-know ressource for XSLT. Thanks. Le %:Date:, "Hoover, Jacob" <jacob.hoo...@greenheck.com> a écrit: > I assume you mean how do I invoke an XSLT from heat. The "wix specific" > portion is simply passing -t transformfilename.xslt. From there on > out, it's all just XSLT. > > Here's an identity template to get you started: > > <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > xmlns:msxsl="urn:schemas-microsoft-com:xslt" > xmlns:wix="http://schemas.microsoft.com/wix/2006/wi" > exclude-result-prefixes="msxsl wix"> > <xsl:output method="xml" indent="yes"/> > <xsl:namespace-alias result-prefix="#default" stylesheet-prefix="wix" > /> > > <xsl:template match="@* | node()"> > <xsl:copy> > <xsl:apply-templates select="@* | node()"/> > </xsl:copy> > </xsl:template> > </xsl:stylesheet> > > >From there, it's up to you to determine which element's you want to change. > >If you wanted to tweak a directory, you'd use something like <xsl:template > >match="wix:Directory">. > > > Jacob > > -----Original Message----- > From: Gabriel Ivanes [mailto:g...@fastmail.net] > Sent: Monday, February 11, 2013 9:50 AM > To: wix-users@lists.sourceforge.net > Subject: [WiX-users] [Wix-users] XSLT > > Good day, > > Any good tutorial to use xsl with wix ? > > For example, replacing "C:\windows\system32" with [SystemFolder] in a > reg's file with heat. > > Thanks. > > -- > Sincerely, > Gabriel > > "I know no way of judging the future but by the past." > Patrick Henry > "You can never plan the future by the past." > Edmund Burke > > ---------------------------------------------------------------------- > -------- > Free Next-Gen Firewall Hardware Offer > Buy your Sophos next-gen firewall before the end March 2013 and get > the hardware for free! Learn more. > http://p.sf.net/sfu/sophos-d2d-feb > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > ---------------------------------------------------------------------- > -------- > Free Next-Gen Firewall Hardware Offer > Buy your Sophos next-gen firewall before the end March 2013 and get > the hardware for free! Learn more. > http://p.sf.net/sfu/sophos-d2d-feb > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users -- Sincerely, Gabriel "I know no way of judging the future but by the past." Patrick Henry "You can never plan the future by the past." Edmund Burke ------------------------------------------------------------------------------ Free Next-Gen Firewall Hardware Offer Buy your Sophos next-gen firewall before the end March 2013 and get the hardware for free! Learn more. http://p.sf.net/sfu/sophos-d2d-feb _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Free Next-Gen Firewall Hardware Offer Buy your Sophos next-gen firewall before the end March 2013 and get the hardware for free! Learn more. http://p.sf.net/sfu/sophos-d2d-feb _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users