aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Data/Data/Xsd/objects.xsd
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/WixToolset.Data/Data/Xsd/objects.xsd143
1 files changed, 143 insertions, 0 deletions
diff --git a/src/WixToolset.Data/Data/Xsd/objects.xsd b/src/WixToolset.Data/Data/Xsd/objects.xsd
new file mode 100644
index 00000000..5d95a59c
--- /dev/null
+++ b/src/WixToolset.Data/Data/Xsd/objects.xsd
@@ -0,0 +1,143 @@
1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3
4
5<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
6 targetNamespace="http://wixtoolset.org/schemas/v4/wixobj"
7 xmlns="http://wixtoolset.org/schemas/v4/wixobj">
8 <xs:annotation>
9 <xs:documentation>
10 Schema for describing WiX Object files (.wixobj).
11 </xs:documentation>
12 </xs:annotation>
13
14 <xs:element name="wixObject">
15 <xs:complexType>
16 <xs:sequence minOccurs="0" maxOccurs="unbounded">
17 <xs:element ref="section" />
18 </xs:sequence>
19 <xs:attribute name="id" type="xs:string" use="required" />
20 <xs:attribute name="version" type="xs:string" use="required">
21 <xs:annotation>
22 <xs:documentation>Version of WiX used to create this object file.</xs:documentation>
23 </xs:annotation>
24 </xs:attribute>
25 </xs:complexType>
26 </xs:element>
27
28 <xs:element name="section">
29 <xs:complexType>
30 <xs:sequence>
31 <xs:element ref="table" minOccurs="0" maxOccurs="unbounded" />
32 </xs:sequence>
33 <xs:attribute name="id" type="xs:string">
34 <xs:annotation>
35 <xs:documentation>Identifier for section (optional for Fragments)</xs:documentation>
36 </xs:annotation>
37 </xs:attribute>
38 <xs:attribute name="type" type="SectionType" use="required">
39 <xs:annotation>
40 <xs:documentation>Type of section</xs:documentation>
41 </xs:annotation>
42 </xs:attribute>
43 <xs:attribute name="codepage" type="xs:integer" use="optional">
44 <xs:annotation>
45 <xs:documentation>Codepage for output file, only valid on entry sections.</xs:documentation>
46 </xs:annotation>
47 </xs:attribute>
48 </xs:complexType>
49 </xs:element>
50
51 <xs:element name="table">
52 <xs:complexType>
53 <xs:sequence minOccurs="0" maxOccurs="unbounded">
54 <xs:element ref="row" />
55 </xs:sequence>
56 <xs:attribute name="name" type="TableNameType" use="required">
57 <xs:annotation>
58 <xs:documentation>Name of table in Windows Installer database</xs:documentation>
59 </xs:annotation>
60 </xs:attribute>
61 <xs:attribute name="op">
62 <xs:simpleType>
63 <xs:restriction base="xs:string">
64 <xs:enumeration value="add" />
65 <xs:enumeration value="drop" />
66 </xs:restriction>
67 </xs:simpleType>
68 </xs:attribute>
69 </xs:complexType>
70 </xs:element>
71
72 <xs:element name="row">
73 <xs:annotation>
74 <xs:documentation>Row in a table</xs:documentation>
75 </xs:annotation>
76 <xs:complexType>
77 <xs:sequence maxOccurs="unbounded">
78 <xs:element ref="field" />
79 </xs:sequence>
80 <xs:attribute name="access">
81 <xs:simpleType>
82 <xs:restriction base="xs:string">
83 <xs:enumeration value="public" />
84 <xs:enumeration value="internal" />
85 <xs:enumeration value="protected" />
86 <xs:enumeration value="private" />
87 </xs:restriction>
88 </xs:simpleType>
89 </xs:attribute>
90 <xs:attribute name="op">
91 <xs:simpleType>
92 <xs:restriction base="xs:string">
93 <xs:enumeration value="add" />
94 <xs:enumeration value="delete" />
95 <xs:enumeration value="modify" />
96 </xs:restriction>
97 </xs:simpleType>
98 </xs:attribute>
99 <xs:attribute name="redundant" type="YesNoType" />
100 <xs:attribute name="sectionId" type="xs:string" />
101 <xs:attribute name="sourceLineNumber" type="xs:string" />
102 </xs:complexType>
103 </xs:element>
104
105 <xs:element name="field">
106 <xs:annotation>
107 <xs:documentation>Data for a particular field in a row.</xs:documentation>
108 </xs:annotation>
109 <xs:complexType mixed="true">
110 <xs:attribute name="cabinetFileId" type="xs:string" />
111 <xs:attribute name="modified" type="YesNoType" />
112 <xs:attribute name="previousData" type="xs:string" />
113 <xs:attribute name="unresolvedData" type="xs:string" />
114 <xs:attribute name="unresolvedPreviousData" type="xs:string" />
115 <xs:attribute name="previousCabinetFileId" type="xs:string" />
116 </xs:complexType>
117 </xs:element>
118
119 <xs:simpleType name="SectionType">
120 <xs:restriction base="xs:NMTOKEN">
121 <xs:enumeration value="bundle"/>
122 <xs:enumeration value="fragment" />
123 <xs:enumeration value="module" />
124 <xs:enumeration value="product" />
125 <xs:enumeration value="patchCreation" />
126 <xs:enumeration value="patch" />
127 </xs:restriction>
128 </xs:simpleType>
129
130 <xs:simpleType name="TableNameType">
131 <xs:restriction base="xs:string">
132 <xs:minLength value="1" />
133 <xs:maxLength value="62" />
134 </xs:restriction>
135 </xs:simpleType>
136
137 <xs:simpleType name="YesNoType">
138 <xs:restriction base="xs:NMTOKEN">
139 <xs:enumeration value="yes" />
140 <xs:enumeration value="no" />
141 </xs:restriction>
142 </xs:simpleType>
143</xs:schema>