[wix-users] Heat .xsl bug?

Edwin Castro egcastr at gmail.com
Thu Jun 21 15:33:24 PDT 2018


I expect that heat.exe just passes the xslt file to a Windows API that does
all the heavy lifting. It generates the code based on the xml namespaces
given to the transform.

Really, any code that parses wix source code should be able to handle
xmlns:wix="..." or any other namespace definition.

--
Edwin G. Castro


On Thu, Jun 21, 2018 at 2:36 PM, R <ryee at pronktech.com> wrote:

> Maybe you could use:
>
> <xsl:transform version="1.0"
>   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>   xmlns:wix="http://schemas.microsoft.com/wix/2006/wi">
>
> OR
>
> <xsl:transform version="1.0"
>   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>   xmlns="http://schemas.microsoft.com/wix/2006/wi">
>
> for backwards compatibility, but only generate:
>
> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
>
> ?
>
> If <Wix wix:xmlns="http://schemas.microsoft.com/wix/2006/wi"> is needed
> for backwards compatibility, them maybe let that be the default and allow
> a -option to generate the other one?
>
> In any case, I think having the workaround is fine; however, NOT having
> documentation about it is NOT fine. :( Sorry, I'm new to the wix community,
> so I'm not very confident in requesting to change anything.
>
> On Thu, Jun 21, 2018 at 11:24 AM, Edwin Castro <egcastr at gmail.com> wrote:
>
>> Now that you mention this I think I ran into this in the past (like a
>> decade ago)!
>>
>> I agree this workaround is less than ideal! I would personally consider
>> this a bug. I expect all the wix tools know enough about xml namespaces to
>> tell them apart but do not know how to use them in a generic fashion which
>> leads to these issues. I expect parsing is where this gets tough because
>> you'd have to parse knowing the namespace the user decided to use. It is
>> probably much easier to require  certain conventions instead of
>> complicating the parsing code. Extensions would also be affected if this
>> were changed now. The wix extensions could be fixed too but any custom
>> extensions by other folks would also need to be updated to work properly.
>> That would be really complicated.
>>
>> --
>> Edwin G. Castro
>>
>> On Thu, Jun 21, 2018 at 2:08 PM, R <ryee at pronktech.com> wrote:
>>
>>> It ends up generating an empty fragment. However, I've found a
>>> workaround that seems kind of lame.
>>>
>>> <xsl:transform version="1.0"
>>>   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>>>   xmlns="http://schemas.microsoft.com/wix/2006/wi"
>>>   xmlns:wix="http://schemas.microsoft.com/wix/2006/wi">
>>>
>>> which generates:
>>>
>>> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:wix="
>>> http://schemas.microsoft.com/wix/2006/wi">
>>>
>>> That seems to make candle.exe happy, at least, but it's definitely
>>> pointless, since the output files won't have any elements like
>>> "wix:element".
>>>
>>>
>>>
>>> On Thu, Jun 21, 2018 at 3:35 AM, Edwin Castro <egcastr at gmail.com> wrote:
>>>
>>>> What happens if you try
>>>>
>>>> <xsl:transform version="1.0"
>>>>   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>>>>   xmlns="http://schemas.microsoft.com/wix/2006/wi">
>>>>
>>>> and remove wix: from the WiX elements?
>>>>
>>>> --
>>>> Edwin G. Castro
>>>>
>>>>
>>>> On Wed, Jun 20, 2018, 20:51 R via wix-users <
>>>> wix-users at lists.wixtoolset.org> wrote:
>>>>
>>>>> Is it a bug in heat.exe when I can't seem to generate:
>>>>>
>>>>> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
>>>>>
>>>>> because heat requires the following in the .xsl to function?
>>>>>
>>>>> <xsl:transform version="1.0"
>>>>>   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>>>>>   xmlns:wix="http://schemas.microsoft.com/wix/2006/wi">
>>>>>
>>>>> The above generates <Wix xmlns:wix="http://schemas.micr
>>>>> osoft.com/wix/2006/wi">
>>>>> in the generated fragment, but if I change the .xsl to <Wix
>>>>> xmlns="..">,
>>>>> the directory harvest fails (i.e. the fragment is empty).
>>>>>
>>>>> This is a problem, because burn throws an error and wants to see <Wix
>>>>> xmlns=".."> and not <Wix xmlns:wix="..">
>>>>>
>>>>> ____________________________________________________________________
>>>>> WiX Toolset Users Mailing List provided by FireGiant
>>>>> http://www.firegiant.com/
>>>>>
>>>>
>>>
>>>
>>> --
>>> Please reply to confirm that you have read and understand the contents
>>> of this e-mail.
>>>
>>
>>
>
>
> --
> Please reply to confirm that you have read and understand the contents of
> this e-mail.
>


More information about the wix-users mailing list