Skip to content

Commit eef9ac7

Browse files
committed
Create XmlSchemas extension
1 parent 20ccca8 commit eef9ac7

File tree

9 files changed

+6912
-0
lines changed

9 files changed

+6912
-0
lines changed

XmlSchemas/ExcelDna.DnaLibrary.xsd

Lines changed: 275 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,275 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<xs:schema id="dna"
3+
targetNamespace="http://schemas.excel-dna.net/addin/2018/05/dnalibrary"
4+
attributeFormDefault="unqualified"
5+
elementFormDefault="qualified"
6+
xmlns="http://schemas.excel-dna.net/addin/2018/05/dnalibrary"
7+
xmlns:mstns="http://schemas.excel-dna.net/addin/2018/05/dnalibrary"
8+
xmlns:xs="http://www.w3.org/2001/XMLSchema">
9+
10+
<xs:simpleType name="Boolean">
11+
<xs:union>
12+
<xs:simpleType>
13+
<!-- Intellisense suggestions -->
14+
<xs:restriction base="xs:string">
15+
<xs:enumeration value="true" />
16+
<xs:enumeration value="false" />
17+
</xs:restriction>
18+
</xs:simpleType>
19+
<xs:simpleType>
20+
<!-- Other allowed values (but hidden from Intellisense) -->
21+
<xs:restriction base="xs:string">
22+
<xs:pattern value="[Tt]rue" />
23+
<xs:pattern value="[Ff]alse" />
24+
<xs:pattern value="0" />
25+
<xs:pattern value="1" />
26+
</xs:restriction>
27+
</xs:simpleType>
28+
</xs:union>
29+
</xs:simpleType>
30+
31+
<xs:simpleType name="RuntimeVersionType">
32+
<xs:union>
33+
<xs:simpleType>
34+
<!-- Intellisense suggestions -->
35+
<xs:restriction base="xs:string">
36+
<xs:enumeration value="v2.0" />
37+
<xs:enumeration value="v4.0" />
38+
</xs:restriction>
39+
</xs:simpleType>
40+
<xs:simpleType>
41+
<!-- Other allowed values (but hidden from Intellisense) -->
42+
<xs:restriction base="xs:string">
43+
<xs:pattern value="v2.0.50727" />
44+
<xs:pattern value="v4.0.30319" />
45+
</xs:restriction>
46+
</xs:simpleType>
47+
</xs:union>
48+
</xs:simpleType>
49+
50+
<xs:simpleType name="LanguageType">
51+
<xs:union>
52+
<xs:simpleType>
53+
<!-- Intellisense suggestions -->
54+
<xs:restriction base="xs:string">
55+
<xs:enumeration value="C#" />
56+
<xs:enumeration value="VB" />
57+
<xs:enumeration value="F#" />
58+
</xs:restriction>
59+
</xs:simpleType>
60+
<xs:simpleType>
61+
<!-- Other allowed values (but hidden from Intellisense) -->
62+
<xs:restriction base="xs:string">
63+
<xs:pattern value="(CS|cs)" />
64+
<xs:pattern value="(CSHARP|CSharp|csharp)" />
65+
<xs:pattern value="(C#|c#)" />
66+
<xs:pattern value="(VB|vb)" />
67+
<xs:pattern value="(VISUAL BASIC|Visual Basic)" />
68+
<xs:pattern value="(VISUALBASIC|VisualBasic)" />
69+
<xs:pattern value="(FS|fs)" />
70+
<xs:pattern value="(F#|f#)" />
71+
<xs:pattern value="(FSHARP|FSharp|fsharp)" />
72+
<xs:pattern value="(F SHARP|F Sharp|f sharp)" />
73+
</xs:restriction>
74+
</xs:simpleType>
75+
</xs:union>
76+
</xs:simpleType>
77+
78+
<xs:complexType name="ExternalLibraryType">
79+
<xs:simpleContent>
80+
<xs:extension base="xs:string">
81+
<xs:attribute name="Path"
82+
use="required"
83+
type="xs:string" />
84+
<xs:attribute name="TypeLibPath"
85+
use="optional"
86+
type="xs:string" />
87+
<xs:attribute name="ComServer"
88+
use="optional"
89+
type="Boolean" />
90+
<xs:attribute name="Pack"
91+
use="optional"
92+
type="Boolean" />
93+
<xs:attribute name="LoadFromBytes"
94+
use="optional"
95+
type="Boolean" />
96+
<xs:attribute name="ExplicitExports"
97+
use="optional"
98+
type="Boolean" />
99+
<xs:attribute name="ExplicitRegistration"
100+
use="optional"
101+
type="Boolean" />
102+
<xs:attribute name="UseVersionAsOutputVersion"
103+
use="optional"
104+
type="Boolean" />
105+
</xs:extension>
106+
</xs:simpleContent>
107+
</xs:complexType>
108+
109+
<xs:complexType name="SourceItemType"
110+
mixed="true">
111+
<xs:simpleContent>
112+
<xs:extension base="xs:string">
113+
<xs:attribute name="Name"
114+
use="optional"
115+
type="xs:string" />
116+
<xs:attribute name="Path"
117+
use="optional"
118+
type="xs:string" />
119+
<xs:attribute name="Pack"
120+
use="optional"
121+
type="Boolean" />
122+
</xs:extension>
123+
</xs:simpleContent>
124+
</xs:complexType>
125+
126+
<xs:complexType name="ProjectType"
127+
mixed="true">
128+
<xs:sequence>
129+
<xs:choice
130+
minOccurs="0"
131+
maxOccurs="unbounded">
132+
<xs:element name="Reference"
133+
maxOccurs="unbounded"
134+
minOccurs="0"
135+
type="ReferenceType">
136+
</xs:element>
137+
<xs:element name="SourceItem"
138+
maxOccurs="unbounded"
139+
minOccurs="0"
140+
type="SourceItemType">
141+
</xs:element>
142+
</xs:choice>
143+
</xs:sequence>
144+
<xs:attribute name="Name"
145+
use="optional"
146+
type="xs:string" />
147+
<xs:attribute name="Language"
148+
use="optional"
149+
type="LanguageType" />
150+
<xs:attribute name="CompilerVersion"
151+
use="optional"
152+
type="xs:string" />
153+
<xs:attribute name="DefaultReferences"
154+
use="optional"
155+
type="Boolean" />
156+
<xs:attribute name="DefaultImports"
157+
use="optional"
158+
type="Boolean" />
159+
<xs:attribute name="ExplicitExports"
160+
use="optional"
161+
type="Boolean" />
162+
<xs:attribute name="ExplicitRegistration"
163+
use="optional"
164+
type="Boolean" />
165+
<xs:attribute name="ComServer"
166+
use="optional"
167+
type="Boolean" />
168+
</xs:complexType>
169+
170+
<xs:complexType name="ReferenceType">
171+
<xs:simpleContent>
172+
<xs:extension base="xs:string">
173+
<xs:attribute name="Name"
174+
use="optional"
175+
type="xs:string" />
176+
<xs:attribute name="Path"
177+
use="optional"
178+
type="xs:string" />
179+
<xs:attribute name="AssemblyPath"
180+
use="optional"
181+
type="xs:string" />
182+
<xs:attribute name="Pack"
183+
use="optional"
184+
type="Boolean" />
185+
</xs:extension>
186+
</xs:simpleContent>
187+
</xs:complexType>
188+
189+
<xs:complexType name="ImageType">
190+
<xs:simpleContent>
191+
<xs:extension base="xs:string">
192+
<xs:attribute name="Name"
193+
use="required"
194+
type="xs:string" />
195+
<xs:attribute name="Path"
196+
use="required"
197+
type="xs:string" />
198+
<xs:attribute name="Pack"
199+
use="optional"
200+
type="Boolean" />
201+
</xs:extension>
202+
</xs:simpleContent>
203+
</xs:complexType>
204+
205+
<xs:complexType name="CustomUIType">
206+
<xs:sequence>
207+
<xs:any maxOccurs="unbounded"
208+
minOccurs="0"
209+
processContents="lax" />
210+
</xs:sequence>
211+
</xs:complexType>
212+
213+
<xs:complexType name="DnaLibraryType"
214+
mixed="true">
215+
<xs:sequence>
216+
<xs:choice
217+
minOccurs="0"
218+
maxOccurs="unbounded">
219+
<xs:element name="ExternalLibrary"
220+
maxOccurs="unbounded"
221+
minOccurs="0"
222+
type="ExternalLibraryType">
223+
</xs:element>
224+
<xs:element name="Project"
225+
maxOccurs="unbounded"
226+
minOccurs="0"
227+
type="ProjectType">
228+
</xs:element>
229+
<xs:element name="Reference"
230+
maxOccurs="unbounded"
231+
minOccurs="0"
232+
type="ReferenceType">
233+
</xs:element>
234+
<xs:element name="Image"
235+
maxOccurs="unbounded"
236+
minOccurs="0"
237+
type="ImageType">
238+
</xs:element>
239+
<xs:element name="CustomUI"
240+
maxOccurs="unbounded"
241+
minOccurs="0"
242+
type="CustomUIType">
243+
</xs:element>
244+
</xs:choice>
245+
</xs:sequence>
246+
<xs:attribute name="Name"
247+
use="optional"
248+
type="xs:string" />
249+
<xs:attribute name="RuntimeVersion"
250+
use="optional"
251+
type="RuntimeVersionType" />
252+
<xs:attribute name="ShadowCopyFiles"
253+
use="optional"
254+
type="Boolean" />
255+
<xs:attribute name="CreateSandboxedAppDomain"
256+
use="optional"
257+
type="Boolean" />
258+
<xs:attribute name="Language"
259+
use="optional"
260+
type="LanguageType" />
261+
<xs:attribute name="CompilerVersion"
262+
use="optional"
263+
type="xs:string" />
264+
<xs:attribute name="DefaultReferences"
265+
use="optional"
266+
type="Boolean" />
267+
<xs:attribute name="DefaultImports"
268+
use="optional"
269+
type="Boolean" />
270+
</xs:complexType>
271+
272+
<xs:element name="DnaLibrary"
273+
type="DnaLibraryType" />
274+
275+
</xs:schema>

XmlSchemas/ExcelDnaCatalog.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<SchemaCatalog xmlns="http://schemas.microsoft.com/xsd/catalog">
3+
<Association extension="dna" schema="%InstallRoot%/xml/schemas/ExcelDna.DnaLibrary.xsd" defaultNamespace="http://schemas.excel-dna.net/addin/2018/05/dnalibrary" enableValidation="true" />
4+
</SchemaCatalog>

XmlSchemas/ExcelDnaSmall.ico

14.7 KB
Binary file not shown.
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
using System.Reflection;
2+
using System.Runtime.CompilerServices;
3+
using System.Runtime.InteropServices;
4+
5+
// General Information about an assembly is controlled through the following
6+
// set of attributes. Change these attribute values to modify the information
7+
// associated with an assembly.
8+
[assembly: AssemblyTitle("Excel-DNA XML Schemas Extension")]
9+
[assembly: AssemblyDescription("Visual Studio extension to provide XML schemas for Excel-DNA")]
10+
[assembly: AssemblyConfiguration("")]
11+
[assembly: AssemblyCompany("")]
12+
[assembly: AssemblyProduct("Excel-DNA Add-In Framework for Microsoft Excel")]
13+
[assembly: AssemblyCopyright("Copyright © 2005-2018 Govert van Drimmelen")]
14+
[assembly: AssemblyTrademark("")]
15+
[assembly: AssemblyCulture("")]
16+
17+
// Setting ComVisible to false makes the types in this assembly not visible
18+
// to COM components. If you need to access a type in this assembly from
19+
// COM, set the ComVisible attribute to true on that type.
20+
[assembly: ComVisible(false)]
21+
22+
// Version information for an assembly consists of the following four values:
23+
//
24+
// Major Version
25+
// Minor Version
26+
// Build Number
27+
// Revision
28+
//
29+
// You can specify all the values or you can default the Build and Revision Numbers
30+
// by using the '*' as shown below:
31+
// [assembly: AssemblyVersion("1.0.*")]
32+
[assembly: AssemblyVersion("0.1.0.0")]
33+
[assembly: AssemblyFileVersion("0.1.0.0")]

0 commit comments

Comments
 (0)