[wix-devs] Simplifying WiX xmlns values
Rob Mensching
rob at firegiant.com
Wed Jun 24 05:43:33 PDT 2020
After applying this change across the codebase, it started to look wrong. So, I've abandoned this idea and kept the existing URI based xmlns.
-----Original Message-----
From: wix-devs <wix-devs-bounces at lists.wixtoolset.org> On Behalf Of Rob Mensching via wix-devs
Sent: Wednesday, June 3, 2020 9:25 PM
To: WiX Toolset Developer Mailing List <wix-devs at lists.wixtoolset.org>
Cc: Rob Mensching <rob at firegiant.com>
Subject: Re: [wix-devs] Simplifying WiX xmlns values
I kinda' like what you're doing there at the end but I think there is still a bit more value in the tie between the extension name and the namespace value.
So, I still lean towards:
wix4:WixToolset
wix4:WixToolset.Util.wixext
wix4:FireGiant.Msix.wixext
Especially since those names will show up in NuGet and on the command-line like and in the project:
wix extension add WixToolset.Util.wixext wix build -ext WixToolset.Util.wixext a.wxs
Or:
<Project>
<ItemGroup>
<PackageReference Include="WixToolset.Util.wixext" />
If this generally sounds right, I'll put together a quick WIP for this tomorrow.
-----Original Message-----
From: wix-devs <wix-devs-bounces at lists.wixtoolset.org> On Behalf Of Sean Hall via wix-devs
Sent: Wednesday, June 3, 2020 8:19 PM
To: WiX Toolset Developer Mailing List <wix-devs at lists.wixtoolset.org>
Cc: Sean Hall <r.sean.hall at gmail.com>
Subject: Re: [wix-devs] Simplifying WiX xmlns values
I think basing it off the Nuget package name makes sense. I'm tempted to make the default/Core namespace just 'wix4:'.
But if we're going for easier to remember, I would prefer
<Wix xmlns="wix:4" xmlns:util="wix:4:util">
On Thu, Jun 4, 2020 at 1:03 PM Rob Mensching <rob at firegiant.com> wrote:
> I forgot that scheme was required on a URI. Honestly, it can serve as
> the root of the versioned namespace. "wix4" is great.
>
> So, something like:
>
> wix4:WixToolset - for the "core" namespace.
> wix4:WixToolset.Util.wixext - for the "util" extension.
> wix4:WixToolset.Iis.wixext - for the "iis" extension.
> wix4:FireGiiant.Msix.wixext - for the "MSIX" extension from FireGiant.
>
> I could entertain removing the .wixext from the extensions above,
> which is shorter and cleaner (but probably not worth the mental load
> to remember it isn't used):
>
> wix4:WixToolset.Util
> wix4:WixToolset.Iis
> wix4:FireGiiant.Msix
>
> So, something like:
>
> <Wix xmlns="wix4:WixToolset" xmlns:util="wix4:WixToolset.Util.wixext">
>
> Way easier to remember *and* _versioned_ which is necessary.
>
> Thoughts?
>
> -----Original Message-----
> From: wix-devs <wix-devs-bounces at lists.wixtoolset.org> On Behalf Of
> Sean Hall via wix-devs
> Sent: Wednesday, June 3, 2020 6:32 PM
> To: WiX Toolset Developer Mailing List <wix-devs at lists.wixtoolset.org>
> Cc: Sean Hall <r.sean.hall at gmail.com>
> Subject: Re: [wix-devs] Simplifying WiX xmlns values
>
> Actually I think wix:4:core is valid, only the first part must start
> with a letter.
>
> On Thu, Jun 4, 2020 at 11:24 AM Sean Hall <r.sean.hall at gmail.com> wrote:
>
> > I think the namespace is required to be a URI. So while it would be
> > nice to do those I don't think we can. We could do wix4:core or
> > wix4://Core or WixToolset:Ext:Util or WixToolset:Util.wixext. But we
> > couldn't do wix:4:core since each element must begin with a letter.
> >
> > On Thu, Jun 4, 2020 at 9:10 AM Rob Mensching via wix-devs <
> > wix-devs at lists.wixtoolset.org> wrote:
> >
> >> I can *never* remember the xmlns URIs for the various extensions.
> >> They are better in v4 but after writing the extension cache WIP, I
> >> wondered
> >>
> >> What if we used the extension name as the xmlns
> >> value instead of a URI?
> >>
> >> The result would be:
> >>
> >> <Wix xmlns="..." xmlns:util="WixToolset.Util.wixext">
> >>
> >> And on the command-line you'd have:
> >>
> >> wix.exe build -ext WixToolset.Util.wixext
> >>
> >> *And* then instead of having to remember the default WiX Toolset
> >> namespace (can you type it in without looking?) we could use just
> >> "WixToolset", so:
> >>
> >> <Wix xmlns="WixToolset" xmlns:util="WixToolset.Util.wixext">
> >>
> >> I'm open to other suggestions for the base xmlns, but "WixToolset"
> >> is a pretty good start.
> >>
> >> Thoughts?
> >>
> >> Rob Mensching
> >> CEO
> >> FireGiant
> >> _______________________________________________________________
> >> FireGiant | Dedicated support for the WiX toolset |
> >> http://www.firegiant.com/
> >>
More information about the wix-devs
mailing list