-
Notifications
You must be signed in to change notification settings - Fork 70
/
lemminxExtension.exsd
166 lines (148 loc) · 6.22 KB
/
lemminxExtension.exsd
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
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.wildwebdeveloper.xml" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appinfo>
<meta.schema plugin="org.eclipse.wildwebdeveloper.xml" id="lemminx" name="Lemminx Extensions"/>
</appinfo>
<documentation>
This extension point is used to contribute Lemminx extension jars to extend the functionality of the XML language server.
Jars can be contributed as an extension resource (by pointing to the path of the jar) or programmatically, by providing an implementation of the <b>LemminxClasspathExtensionProvider</b> interface.
</documentation>
</annotation>
<element name="extension">
<annotation>
<appinfo>
<meta.element />
</appinfo>
</annotation>
<complexType>
<sequence>
<element ref="jar" minOccurs="0" maxOccurs="unbounded"/>
<element ref="classpathExtensionProvider" minOccurs="0" maxOccurs="unbounded"/>
<element ref="initializationOptionsProvider" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="id" type="string">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
</documentation>
<appinfo>
<meta.attribute translatable="true"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="jar">
<complexType>
<attribute name="path" type="string" use="required">
<annotation>
<documentation>
</documentation>
<appinfo>
<meta.attribute kind="resource"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="classpathExtensionProvider">
<complexType>
<attribute name="provider" type="string" use="required">
<annotation>
<documentation>
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn=":org.eclipse.wildwebdeveloper.xml.LemminxClasspathExtensionProvider"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="initializationOptionsProvider">
<annotation>
<documentation>
@since 0.8
</documentation>
</annotation>
<complexType>
<attribute name="provider" type="string" use="required">
<annotation>
<documentation>
Options are included as children of the <code>settings/xml</code> element
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn=":org.eclipse.wildwebdeveloper.xml.InitializationOptionsProvider"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appinfo>
<meta.section type="since"/>
</appinfo>
<documentation>
0.7.0
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="examples"/>
</appinfo>
<documentation>
<br><b><u>Providing a jar as a resource</u></b><br>
<br> &lt;extension <br>
<span style="margin-left:2em">point=&quot;org.eclipse.wildwebdeveloper.xml.lemminxExtension&quot;&gt;<br>
<span style="margin-left:1em">&lt;jar<br>
<span style="margin-left:3em"> path=&quot;/path/to/extension.jar&quot;&gt;<br>
<span style="margin-left:1em">&lt;/jar&gt;<br>
&lt;/extension&gt;
<br>
<br>
<b><u>Providing a jar programmatically</u></b>
<br> &lt;extension <br>
<span style="margin-left:2em"> point=&quot;org.eclipse.wildwebdeveloper.xml.xmllsExtension&quot;&gt;<br>
<span style="margin-left:1em">&lt;classpathExtensionProvider<br>
<span style="margin-left:3em">provider=&quot;org.eclipse.m2e.editor.lemminx.MavenLemminxExtensionProvider&quot;&gt;<br>
<span style="margin-left:1em">&lt;/classpathExtensionProvider&gt;<br>
&lt;/extension&gt;
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="apiinfo"/>
</appinfo>
<documentation>
<p>The extension jars must implement the <b>IXMLExtension</b> interface and must register with Java Service Provider Interface (SPI) mechanism in the <b>/META-INF/services/org.eclipse.lemminx.services.extensions.IXMLExtension</b> file.
</p>
<p>
See https://github.com/redhat-developer/vscode-xml#custom-xml-extensions for more information.
</p>
<p>This extension points uses LemMinX 0.22.0, whose extension API is usually <b>not<b> backward-compatible prior releases. So you may need to update your extension to newer LemMinX for your extension to work with newer Wild Web Developer.</p>
<p>
In order to provide jars to the XML LS programmatically, contributing extensions must implement the <b>LemminxClasspathExtensionProvider</b> interface.
</p>
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="copyright"/>
</appinfo>
<documentation>
Copyright (c) 2019 Red Hat Inc.
</documentation>
</annotation>
</schema>