forked from PowerShell/PowerShell
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTypes.xsd
More file actions
167 lines (167 loc) · 7.19 KB
/
Types.xsd
File metadata and controls
167 lines (167 loc) · 7.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xsi:schemaLocation="http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en">
<xs:element name="Types">
<xs:annotation>
<xs:documentation>The `<Types>` tag encloses all of the types that are defined in the file. There should be only one pair of `<Types>` tags.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="Type" maxOccurs="unbounded" type="Type">
<xs:annotation>
<xs:documentation>Each .NET Framework type mentioned in the file should be represented by a pair of `<Type>` tags.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="Type">
<xs:sequence>
<xs:element name="Name" type="xs:string">
<xs:annotation>
<xs:documentation>A pair of `<Name>` tags that enclose the name of the affected .NET Framework type.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="Members" type="Members" />
<xs:element minOccurs="0" name="TypeConverter" type="TypeConverter" />
<xs:element minOccurs="0" name="TypeAdapter" type="TypeAdapter" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="Members">
<xs:sequence maxOccurs="unbounded">
<xs:element minOccurs="0" name="NoteProperty" maxOccurs="unbounded" type="NoteProperty">
<xs:annotation>
<xs:documentation>Defines a property with a static value.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="AliasProperty" maxOccurs="unbounded" type="AliasProperty">
<xs:annotation>
<xs:documentation>Defines a new name for an existing property.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="ScriptProperty" maxOccurs="unbounded" type="ScriptProperty">
<xs:annotation>
<xs:documentation>Defines a property whose value is the output of a script.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="CodeProperty" maxOccurs="unbounded" type="CodeProperty">
<xs:annotation>
<xs:documentation>References a static method of a .NET Framework class.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="ScriptMethod" maxOccurs="unbounded" type="ScriptMethod">
<xs:annotation>
<xs:documentation>Defines a method whose value is the output of a script.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="CodeMethod" maxOccurs="unbounded" type="CodeMethod">
<xs:annotation>
<xs:documentation> References a static method of a .NET Framework class.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="PropertySet" maxOccurs="unbounded" type="PropertySet">
<xs:annotation>
<xs:documentation>Defines a collection of properties of the object.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="MemberSet" maxOccurs="unbounded" type="MemberSet">
<xs:annotation>
<xs:documentation>Defines a collection of members (properties and methods).</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TypeConverter">
<xs:sequence>
<xs:element name="TypeName" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="TypeAdapter">
<xs:sequence>
<xs:element name="TypeName" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="NoteProperty">
<xs:sequence>
<xs:element name="Name" type="xs:string" />
<xs:element name="Value" type="xs:string" />
<xs:element minOccurs="0" name="TypeName" type="xs:string" />
</xs:sequence>
<xs:attribute name="IsHidden" type="xs:boolean" />
</xs:complexType>
<xs:complexType name="AliasProperty">
<xs:sequence>
<xs:element name="Name" type="xs:string" />
<xs:element name="ReferencedMemberName" type="xs:string" />
<xs:element minOccurs="0" name="TypeName" type="xs:string" />
</xs:sequence>
<xs:attribute name="IsHidden" type="xs:boolean" />
</xs:complexType>
<xs:complexType name="ScriptProperty">
<xs:sequence>
<xs:element name="Name" type="xs:string" />
<xs:element minOccurs="0" name="GetScriptBlock" type="xs:string" />
<xs:element minOccurs="0" name="SetScriptBlock" type="xs:string" />
</xs:sequence>
<xs:attribute name="IsHidden" type="xs:boolean" />
</xs:complexType>
<xs:complexType name="CodeProperty">
<xs:sequence>
<xs:element name="Name" type="xs:string" />
<xs:element name="GetCodeReference" type="GetCodeReference" />
<xs:element minOccurs="0" name="SetCodeReference" type="SetCodeReference" />
</xs:sequence>
<xs:attribute name="IsHidden" type="xs:boolean" />
</xs:complexType>
<xs:complexType name="GetCodeReference">
<xs:sequence>
<xs:element name="TypeName" type="xs:string" />
<xs:element name="MethodName" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="SetCodeReference">
<xs:sequence>
<xs:element name="TypeName" type="xs:string" />
<xs:element name="MethodName" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ScriptMethod">
<xs:sequence>
<xs:element name="Name" type="xs:string" />
<xs:element name="Script" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="CodeMethod">
<xs:sequence>
<xs:element name="Name" type="xs:string" />
<xs:element name="CodeReference" type="CodeReference" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="CodeReference">
<xs:sequence>
<xs:element name="TypeName" type="xs:string" />
<xs:element name="MethodName" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="PropertySet">
<xs:sequence>
<xs:element name="Name" type="xs:string" />
<xs:element name="ReferencedProperties" type="ReferencedProperties" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ReferencedProperties">
<xs:sequence>
<xs:element name="Name" maxOccurs="unbounded" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="MemberSet">
<xs:sequence>
<xs:element name="Name" type="xs:string" />
<xs:element minOccurs="0" name="InheritMembers" type="xs:boolean" />
<xs:element name="Members" type="Members">
<xs:annotation>
<xs:documentation>A pair of `<Members>` tags that enclose the tags for the new properties and methods that are defined for the .NET Framework type.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>