Add Prj2Make from Francisco Martinez
[mono.git] / mcs / tools / prj2make / doc / schemas / csproj_ver2003.xsd
1 <?xml version="1.0" encoding="UTF-8"?>\r
2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">\r
3         <xs:element name="Build">\r
4                 <xs:complexType>\r
5                         <xs:sequence>\r
6                                 <xs:element ref="Settings"/>\r
7                                 <xs:element ref="References"/>\r
8                         </xs:sequence>\r
9                 </xs:complexType>\r
10         </xs:element>\r
11         <xs:element name="CSHARP">\r
12                 <xs:complexType>\r
13                         <xs:sequence>\r
14                                 <xs:element ref="Build"/>\r
15                                 <xs:element ref="Files"/>\r
16                         </xs:sequence>\r
17                         <xs:attribute name="ProjectType" type="xs:string" use="required"/>\r
18                         <xs:attribute name="ProductVersion" type="xs:string" use="required"/>\r
19                         <xs:attribute name="SchemaVersion" type="xs:decimal" use="required"/>\r
20                         <xs:attribute name="ProjectGuid" type="xs:string" use="required"/>\r
21                 </xs:complexType>\r
22         </xs:element>\r
23         <xs:element name="Config">\r
24                 <xs:complexType>\r
25                         <xs:attribute name="Name" type="xs:string" use="required"/>\r
26                         <xs:attribute name="AllowUnsafeBlocks" type="xs:boolean" use="required"/>\r
27                         <xs:attribute name="BaseAddress" type="xs:int" use="required"/>\r
28                         <xs:attribute name="CheckForOverflowUnderflow" type="xs:boolean" use="required"/>\r
29                         <xs:attribute name="ConfigurationOverrideFile" type="xs:string" use="required"/>\r
30                         <xs:attribute name="DefineConstants" type="xs:string" use="required"/>\r
31                         <xs:attribute name="DocumentationFile" type="xs:string" use="required"/>\r
32                         <xs:attribute name="DebugSymbols" type="xs:boolean" use="required"/>\r
33                         <xs:attribute name="FileAlignment" type="xs:short" use="required"/>\r
34                         <xs:attribute name="IncrementalBuild" type="xs:boolean" use="required"/>\r
35                         <xs:attribute name="NoStdLib" type="xs:boolean" use="required"/>\r
36                         <xs:attribute name="NoWarn" type="xs:string" use="required"/>\r
37                         <xs:attribute name="Optimize" type="xs:boolean" use="required"/>\r
38                         <xs:attribute name="OutputPath" type="xs:string" use="required"/>\r
39                         <xs:attribute name="RegisterForComInterop" type="xs:boolean" use="required"/>\r
40                         <xs:attribute name="RemoveIntegerChecks" type="xs:boolean" use="required"/>\r
41                         <xs:attribute name="TreatWarningsAsErrors" type="xs:boolean" use="required"/>\r
42                         <xs:attribute name="WarningLevel" type="xs:byte" use="required"/>\r
43                 </xs:complexType>\r
44         </xs:element>\r
45         <xs:element name="File">\r
46                 <xs:complexType>\r
47                         <xs:attribute name="RelPath" type="xs:string" use="required"/>\r
48                         <xs:attribute name="BuildAction" use="required">\r
49                                 <xs:simpleType>\r
50                                         <xs:restriction base="xs:NMTOKEN">\r
51                                                 <xs:enumeration value="Compile"/>\r
52                                                 <xs:enumeration value="Content"/>\r
53                                                 <xs:enumeration value="EmbeddedResource"/>\r
54                                                 <xs:enumeration value="None"/>\r
55                                         </xs:restriction>\r
56                                 </xs:simpleType>\r
57                         </xs:attribute>\r
58                         <xs:attribute name="SubType" type="xs:string" use="required"/>\r
59                         <xs:attribute name="DependentUpon" type="xs:string"/>\r
60                 </xs:complexType>\r
61         </xs:element>\r
62         <xs:element name="Files">\r
63                 <xs:complexType>\r
64                         <xs:sequence>\r
65                                 <xs:element ref="Include"/>\r
66                         </xs:sequence>\r
67                 </xs:complexType>\r
68         </xs:element>\r
69         <xs:element name="Include">\r
70                 <xs:complexType>\r
71                         <xs:sequence>\r
72                                 <xs:element ref="File" maxOccurs="unbounded"/>\r
73                         </xs:sequence>\r
74                 </xs:complexType>\r
75         </xs:element>\r
76         <xs:element name="Reference">\r
77                 <xs:complexType>\r
78                         <xs:attribute name="Name" type="xs:string" use="required"/>\r
79                         <xs:attribute name="AssemblyName" type="xs:string" />\r
80                         <xs:attribute name="HintPath" type="xs:string" />\r
81                         <xs:attribute name="Project" type="xs:string"/>\r
82                         <xs:attribute name="Package" type="xs:string"/>\r
83                 </xs:complexType>\r
84         </xs:element>\r
85         <xs:element name="References">\r
86                 <xs:complexType>\r
87                         <xs:sequence>\r
88                                 <xs:element ref="Reference" maxOccurs="unbounded"/>\r
89                         </xs:sequence>\r
90                 </xs:complexType>\r
91         </xs:element>\r
92         <xs:element name="Settings">\r
93                 <xs:complexType>\r
94                         <xs:sequence>\r
95                                 <xs:element ref="Config" maxOccurs="unbounded"/>\r
96                         </xs:sequence>\r
97                         <xs:attribute name="ApplicationIcon" type="xs:string" use="required"/>\r
98                         <xs:attribute name="AssemblyKeyContainerName" type="xs:string" use="required"/>\r
99                         <xs:attribute name="AssemblyName" type="xs:string" use="required"/>\r
100                         <xs:attribute name="AssemblyOriginatorKeyFile" type="xs:string" use="required"/>\r
101                         <xs:attribute name="DefaultClientScript" type="xs:string" use="required"/>\r
102                         <xs:attribute name="DefaultHTMLPageLayout" type="xs:string" use="required"/>\r
103                         <xs:attribute name="DefaultTargetSchema" type="xs:string" use="required"/>\r
104                         <xs:attribute name="DelaySign" type="xs:boolean" use="required"/>\r
105                         <xs:attribute name="OutputType" type="xs:string" use="required"/>\r
106                         <xs:attribute name="PreBuildEvent" type="xs:string" use="required"/>\r
107                         <xs:attribute name="PostBuildEvent" type="xs:string" use="required"/>\r
108                         <xs:attribute name="RootNamespace" type="xs:string" use="required"/>\r
109                         <xs:attribute name="RunPostBuildEvent" type="xs:string" use="required"/>\r
110                         <xs:attribute name="StartupObject" type="xs:string" use="required"/>\r
111                 </xs:complexType>\r
112         </xs:element>\r
113         <xs:element name="VisualStudioProject">\r
114                 <xs:complexType>\r
115                         <xs:sequence>\r
116                                 <xs:element ref="CSHARP"/>\r
117                         </xs:sequence>\r
118                 </xs:complexType>\r
119         </xs:element>\r
120 </xs:schema>\r