Skip to content
This repository was archived by the owner on Feb 14, 2025. It is now read-only.

Commit c4416c8

Browse files
committed
Improve handling of preprocessor variables in GUIDs and numbers.
Fixes 8217
1 parent 6526328 commit c4416c8

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

src/xsd4/wix.xsd

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13926,15 +13926,15 @@
1392613926
<xs:documentation>Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF" or "{01234567-89AB-CDEF-0123-456789ABCDEF}". Also allows "PUT-GUID-HERE" for use in examples.</xs:documentation>
1392713927
</xs:annotation>
1392813928
<xs:restriction base="xs:string">
13929-
<xs:pattern value="[{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?|PUT\-GUID\-(\d+\-)?HERE|([!$])(\(var|\(loc|\(wix)\.[_A-Za-z][0-9A-Za-z_.]*\)" />
13929+
<xs:pattern value="[{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?|PUT\-GUID\-(\d+\-)?HERE|\$\((var\.)?[_A-Za-z]{1}[0-9A-Za-z_\.]*\)|!\((loc|wix)\.[_A-Za-z]{1}[0-9A-Za-z_\.]*\)" />
1393013930
</xs:restriction>
1393113931
</xs:simpleType>
1393213932
<xs:simpleType name="AutogenGuid">
1393313933
<xs:annotation>
1393413934
<xs:documentation>Values of this type will look like: "01234567-89AB-CDEF-0123-456789ABCDEF" or "{01234567-89AB-CDEF-0123-456789ABCDEF}". A GUID can be auto-generated by setting the value to "*". Also allows "PUT-GUID-HERE" for use in examples.</xs:documentation>
1393513935
</xs:annotation>
1393613936
<xs:restriction base="xs:string">
13937-
<xs:pattern value="[{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?|[{(]?\?{8}\-\?{4}\-\?{4}\-\?{4}\-\?{12}[})]?|PUT\-GUID\-(\d+\-)?HERE|([!$])(\(var|\(loc|\(wix)\.[_A-Za-z][0-9A-Za-z_.]*\)|\*" />
13937+
<xs:pattern value="[{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?|PUT\-GUID\-(\d+\-)?HERE|\$\((var\.)?[_A-Za-z]{1}[0-9A-Za-z_\.]*\)|!\((loc|wix)\.[_A-Za-z]{1}[0-9A-Za-z_\.]*\)|\*" />
1393813938
</xs:restriction>
1393913939
</xs:simpleType>
1394013940
<xs:simpleType name="BitnessTypeUnion">
@@ -13996,47 +13996,47 @@
1399613996
<xs:documentation>Values of this type must be a GUID, with or without braces: `01234567-89AB-CDEF-0123-456789ABCDEF` or `{01234567-89AB-CDEF-0123-456789ABCDEF}`. `PUT-GUID-HERE` can be used for sample code. Empty values are also supported.</xs:documentation>
1399713997
</xs:annotation>
1399813998
<xs:restriction base="xs:string">
13999-
<xs:pattern value="[{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?|PUT\-GUID\-(\d+\-)?HERE|([!$])(\(var|\(loc|\(wix)\.[_A-Za-z][0-9A-Za-z_.]*\)|\*|^$" />
13999+
<xs:pattern value="[{(]?[0-9A-Fa-f]{8}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{4}\-?[0-9A-Fa-f]{12}[})]?|PUT\-GUID\-(\d+\-)?HERE|\$\((var\.)?[_A-Za-z]{1}[0-9A-Za-z_\.]*\)|!\((loc|wix)\.[_A-Za-z]{1}[0-9A-Za-z_\.]*\)|\*|^$" />
1400014000
</xs:restriction>
1400114001
</xs:simpleType>
1400214002
<xs:simpleType name="Integer">
1400314003
<xs:annotation>
1400414004
<xs:documentation>Values of this type must be a non-negative integer or a preprocessor variable with the format `$(Variable)` or `$(var.Variable)`.</xs:documentation>
1400514005
</xs:annotation>
1400614006
<xs:restriction base="xs:string">
14007-
<xs:pattern value="[\d]+|\$\((var\.)?[_A-Za-z][0-9A-Za-z_.]*\)" />
14007+
<xs:pattern value="[\d]+|\$\((var\.)?[_A-Za-z]{1}[0-9A-Za-z_\.]*\)" />
1400814008
</xs:restriction>
1400914009
</xs:simpleType>
1401014010
<xs:simpleType name="LocalizableInteger">
1401114011
<xs:annotation>
1401214012
<xs:documentation>Values of this type must be a non-negative integer or a localization variable with the format `!(loc.Variable)` where `Variable` is the name of the localization variable.</xs:documentation>
1401314013
</xs:annotation>
1401414014
<xs:restriction base="xs:string">
14015-
<xs:pattern value="[\d]+|\$\((var\.)?[_A-Za-z][_A-Za-z0-9.]*\)|!\((loc|bind)\.[_A-Za-z][_A-Za-z0-9.]*\)" />
14015+
<xs:pattern value="[\d]+|\$\((var\.)?[_A-Za-z]{1}[_A-Za-z0-9\.]*\)|!\((loc|bind)\.[_A-Za-z]{1}[_A-Za-z0-9\.]*\)" />
1401614016
</xs:restriction>
1401714017
</xs:simpleType>
1401814018
<xs:simpleType name="NegativeInteger">
1401914019
<xs:annotation>
1402014020
<xs:documentation>Values of this allow negative integer or a preprocessor variable with the format `$(Variable)` or `$(var.Variable).</xs:documentation>
1402114021
</xs:annotation>
1402214022
<xs:restriction base="xs:string">
14023-
<xs:pattern value="-?[\d]+|\$\((var\.)?[_A-Za-z][0-9A-Za-z_.]*\)" />
14023+
<xs:pattern value="-?[\d]+|\$\((var\.)?[_A-Za-z]{1}[0-9A-Za-z_\.]*\)" />
1402414024
</xs:restriction>
1402514025
</xs:simpleType>
1402614026
<xs:simpleType name="ShortFileNameType">
1402714027
<xs:annotation>
1402814028
<xs:documentation>Values of this type will look like: "FileName.ext". Only one period is allowed. The following characters are not allowed: \ ? | &gt; : / * " + , ; = [ ] &lt;, or whitespace. The name cannot exceed 8 characters and the extension cannot exceed 3 characters. The value could also be a localization variable with the format !(loc.VARIABLE).</xs:documentation>
1402914029
</xs:annotation>
1403014030
<xs:restriction base="xs:string">
14031-
<xs:pattern value="[^\\\?|&gt;&lt;:/\*&quot;\+,;=\[\]\. ]{1,8}(\.[^\\\?|&gt;&lt;:/\*&quot;\+,;=\[\]\. ]{0,3})?|([!$])\(loc\.[_A-Za-z][0-9A-Za-z_.]*\)" />
14031+
<xs:pattern value="[^\\\?|&gt;&lt;:/\*&quot;\+,;=\[\]\. ]{1,8}(\.[^\\\?|&gt;&lt;:/\*&quot;\+,;=\[\]\. ]{0,3})?|([!$])\(loc\.[_A-Za-z]{1}[0-9A-Za-z_\.]*\)" />
1403214032
</xs:restriction>
1403314033
</xs:simpleType>
1403414034
<xs:simpleType name="LongFileNameType">
1403514035
<xs:annotation>
1403614036
<xs:documentation>Values of this type will look like: "Long File Name.extension". Legal long names contain no more than 260 characters and must contain at least one non-period character. The following characters are not allowed: \ ? | &gt; : / * " or &lt;. The name must be shorter than 260 characters. The value could also be a localization variable with the format !(loc.VARIABLE).</xs:documentation>
1403714037
</xs:annotation>
1403814038
<xs:restriction base="xs:string">
14039-
<xs:pattern value="[^\\\?|&gt;&lt;:/\*&quot;]{1,259}|([!$])\(loc\.[_A-Za-z][0-9A-Za-z_.]*\)" />
14039+
<xs:pattern value="[^\\\?|&gt;&lt;:/\*&quot;]{1,259}|([!$])\(loc\.[_A-Za-z]{1}[0-9A-Za-z_\.]*\)" />
1404014040
</xs:restriction>
1404114041
</xs:simpleType>
1404214042
<xs:simpleType name="VersionType">
@@ -14052,31 +14052,31 @@
1405214052
<xs:documentation>Values of this type will look exactly like: "x.x.x" where x is an integer.</xs:documentation>
1405314053
</xs:annotation>
1405414054
<xs:restriction base="xs:string">
14055-
<xs:pattern value="(\d+\.){2}\d+|\$\((var\.)?[_A-Za-z][0-9A-Za-z_.]*\)|!\((loc|bind)\.[_A-Za-z][_A-Za-z0-9.]*\)" />
14055+
<xs:pattern value="(\d+\.){2}\d+|\$\((var\.)?[_A-Za-z]{1}[0-9A-Za-z_\.]*\)|!\((loc|bind)\.[_A-Za-z]{1}[0-9A-Za-z_\.]*\)" />
1405614056
</xs:restriction>
1405714057
</xs:simpleType>
1405814058
<xs:simpleType name="WixVersionType">
1405914059
<xs:annotation>
1406014060
<xs:documentation>Values of this type will be a 1-part, 2-part, 3-part or 4-part version number or a semantic version.</xs:documentation>
1406114061
</xs:annotation>
1406214062
<xs:restriction base="xs:string">
14063-
<xs:pattern value="v?(\d+\.){0,3}\d+(-[\w.\d]+)?||\$\((var\.)?[_A-Za-z][_A-Za-z0-9.]*\)|!\((loc|bind)\.[_A-Za-z][_A-Za-z0-9.]*\)" />
14063+
<xs:pattern value="v?(\d+\.){0,3}\d+(-[\w.\d]+)?||\$\((var\.)?[_A-Za-z]{1}[0-9A-Za-z_\.]*\)|!\((loc|bind)\.[_A-Za-z]{1}[0-9A-Za-z_\.]*\)" />
1406414064
</xs:restriction>
1406514065
</xs:simpleType>
1406614066
<xs:simpleType name="WildCardShortFileNameType">
1406714067
<xs:annotation>
1406814068
<xs:documentation>Values of this type will look like: "File?.*". Only one period is allowed. The following characters are not allowed: \ | &gt; : / " + , ; = [ ] &lt;, or whitespace. The name cannot be longer than 8 characters and the extension cannot exceed 3 characters. The value could also be a localization variable with the format !(loc.VARIABLE).</xs:documentation>
1406914069
</xs:annotation>
1407014070
<xs:restriction base="xs:string">
14071-
<xs:pattern value="[^\\\|&gt;&lt;:/&quot;\+,;=\[\]\. ]{1,16}(\.[^\\\|&gt;&lt;:/&quot;\+,;=\[\]\. ]{0,6})?|([!$])\(loc\.[_A-Za-z][0-9A-Za-z_.]*\)" />
14071+
<xs:pattern value="[^\\\|&gt;&lt;:/&quot;\+,;=\[\]\. ]{1,16}(\.[^\\\|&gt;&lt;:/&quot;\+,;=\[\]\. ]{0,6})?|([!$])\(loc\.[_A-Za-z]{1}[0-9A-Za-z_\.]*\)" />
1407214072
</xs:restriction>
1407314073
</xs:simpleType>
1407414074
<xs:simpleType name="WildCardLongFileNameType">
1407514075
<xs:annotation>
1407614076
<xs:documentation>Values of this type will look like: "Long File N?me.extension*". Legal long names contain no more than 260 characters and must contain at least one non-period character. The following characters are not allowed: \ | &gt; : / " or &lt;. The name must be shorter than 260 characters. The value could also be a localization variable with the format !(loc.VARIABLE).</xs:documentation>
1407714077
</xs:annotation>
1407814078
<xs:restriction base="xs:string">
14079-
<xs:pattern value="[^\\\|&gt;&lt;:/&quot;]{1,259}|([!$])\(loc\.[_A-Za-z][0-9A-Za-z_.]*\)" />
14079+
<xs:pattern value="[^\\\|&gt;&lt;:/&quot;]{1,259}|([!$])\(loc\.[_A-Za-z]{1}[0-9A-Za-z_\.]*\)" />
1408014080
</xs:restriction>
1408114081
</xs:simpleType>
1408214082
<xs:simpleType name="HexType">

0 commit comments

Comments
 (0)