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:[email protected]]
Sent: Monday, February 11, 2013 10:16 AM
To: [email protected]
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" <[email protected]> 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:[email protected]]
> Sent: Monday, February 11, 2013 9:50 AM
> To: [email protected]
> 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
> [email protected]
> 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
> [email protected]
> 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
[email protected]
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users