WiX Database XML Schema

Element: Column

Description

Column definition for a Custom Table

Derived By

Restricting anyType

Attributes

Name  Type  Required?  Default  Description 
Id  string  Yes    Identifier for the column.
PrimaryKey  YesNoType  No    Whether this column is a primary key.
Type  NMTOKEN (restriction)  Yes    The type of this column.
Width  integer  No    Width of this column.
Nullable  YesNoType  No    Whether this column can be left null.
Localizable  YesNoType  No    Whether this column can be localized.
MinValue  integer  No    Minimum value for a numeric value, date or version in this column.
MaxValue  integer  No    Maximum value for a numeric value, date or version in this column.
KeyTable  string  No    Table in which this column is an external key.
KeyColumn  integer  No    Column in the table in KeyTable attribute.
Category  NMTOKEN (restriction)  No    Category of this column.
Set  string  No    Semicolon delimited list of permissible values.
Description  string  No    Description of this column.
Modularize  NMTOKEN (restriction)  No    How this column should be modularized, if at all.

Content Model

Always empty.

Referenced By

Definition

<xs:element name="Column">
<xs:annotation>
<xs:documentation>Column definition for a Custom Table</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identifier for the column.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PrimaryKey" type="YesNoType">
<xs:annotation>
<xs:documentation>Whether this column is a primary key.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Type" use="required">
<xs:annotation>
<xs:documentation>The type of this column.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="binary">
<xs:annotation>
<xs:documentation>
Column contains a path to a file that will be inserted into the column as a binary object.
If this value is set, the Category attribute must also be set with a value of 'Binary' to pass ICE validation.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="int">
<xs:annotation>
<xs:documentation>
Column contains an integer or datetime value (the MinValue and MaxValue attributes should also be set).
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="string">
<xs:annotation>
<xs:documentation>
Column contains a non-localizable string value.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Width" type="xs:integer">
<xs:annotation>
<xs:documentation>Width of this column.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Nullable" type="YesNoType">
<xs:annotation>
<xs:documentation>Whether this column can be left null.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Localizable" type="YesNoType">
<xs:annotation>
<xs:documentation>Whether this column can be localized.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MinValue" type="xs:integer">
<xs:annotation>
<xs:documentation>Minimum value for a numeric value, date or version in this column.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="MaxValue" type="xs:integer">
<xs:annotation>
<xs:documentation>Maximum value for a numeric value, date or version in this column.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="KeyTable" type="xs:string">
<xs:annotation>
<xs:documentation>Table in which this column is an external key. Can be semicolon delimited.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="KeyColumn" type="xs:integer">
<xs:annotation>
<xs:documentation>Column in the table in KeyTable attribute.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Category">
<xs:annotation>
<xs:documentation>
Category of this column.
This attribute must be specified with a value of 'Binary' if the Type attribute's value is 'binary'.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Text" />
<xs:enumeration value="UpperCase" />
<xs:enumeration value="LowerCase" />
<xs:enumeration value="Integer" />
<xs:enumeration value="DoubleInteger" />
<xs:enumeration value="TimeDate" />
<xs:enumeration value="Identifier" />
<xs:enumeration value="Property" />
<xs:enumeration value="Filename" />
<xs:enumeration value="WildCardFilename" />
<xs:enumeration value="Path" />
<xs:enumeration value="Paths" />
<xs:enumeration value="AnyPath" />
<xs:enumeration value="DefaultDir" />
<xs:enumeration value="RegPath" />
<xs:enumeration value="Formatted" />
<xs:enumeration value="Template" />
<xs:enumeration value="Condition" />
<xs:enumeration value="Guid" />
<xs:enumeration value="Version" />
<xs:enumeration value="Language" />
<xs:enumeration value="Binary" />
<xs:enumeration value="CustomSource" />
<xs:enumeration value="Cabinet" />
<xs:enumeration value="Shortcut" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Set" type="xs:string">
<xs:annotation>
<xs:documentation>Semicolon delimited list of permissible values.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" type="xs:string">
<xs:annotation>
<xs:documentation>Description of this column.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Modularize">
<xs:annotation>
<xs:documentation>How this column should be modularized, if at all.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="None">
<xs:annotation>
<xs:documentation>
Column should not be modularized. This is the default value.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Column">
<xs:annotation>
<xs:documentation>
Column should be modularized.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Condition">
<xs:annotation>
<xs:documentation>
Column is a condition and should be modularized.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Icon">
<xs:annotation>
<xs:documentation>
When the column is an primary or foreign key to the Icon table it should be modularized special.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Property">
<xs:annotation>
<xs:documentation>
Any Properties in the column should be modularized.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="SemicolonDelimited">
<xs:annotation>
<xs:documentation>
Semi-colon list of keys, all of which need to be modularized.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>