File: extension_parser.exsd

package info (click to toggle)
eclipse-emf 2.42.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 73,344 kB
  • sloc: java: 711,198; xml: 12,829; makefile: 5
file content (134 lines) | stat: -rw-r--r-- 5,075 bytes parent folder | download | duplicates (4)
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
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.emf.ecore" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
      <appInfo>
         <meta.schema plugin="org.eclipse.emf.ecore" id="extension_parser" name="URI Extension Parser Registry"/>
      </appInfo>
      <documentation>
         This extension point is used to define the resource factory that handles a specific file (or URI) extension. The global EMF resource factory registry, &lt;samp&gt;Resource.Factory.Registry.INSTANCE&lt;/samp&gt;, is used to record the registration.
      </documentation>
   </annotation>

   <element name="extension">
      <annotation>
         <appInfo>
            <meta.element />
         </appInfo>
      </annotation>
      <complexType>
         <sequence>
            <element ref="parser" minOccurs="1" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="point" type="string" use="required">
            <annotation>
               <documentation>
                  A fully qualified identifier of the target extension point.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="id" type="string">
            <annotation>
               <documentation>
                  An optional identifier of the extension instance.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string">
            <annotation>
               <documentation>
                  An optional name of the extension instance.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="parser">
      <annotation>
         <appInfo>
            <meta.element labelAttribute="type"/>
         </appInfo>
      </annotation>
      <complexType>
         <attribute name="type" type="string" use="required">
            <annotation>
               <documentation>
                  A file extension (without the leading .) that identifies the filenames and URIs to be handled by a resource factory.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="class" type="string" use="required">
            <annotation>
               <documentation>
                  A fully qualified name of the Java class implementing &lt;samp&gt;org.eclipse.emf.ecore.resource.Resource.Factory
&lt;/samp&gt;.
               </documentation>
               <appInfo>
                  <meta.attribute kind="java" basedOn=":org.eclipse.emf.ecore.resource.Resource.Factory"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <annotation>
      <appInfo>
         <meta.section type="since"/>
      </appInfo>
      <documentation>
         1.0.0
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="examples"/>
      </appInfo>
      <documentation>
         Following is an example of how a URI extension can be registered: 
&lt;pre&gt;
  &lt;extension point=&quot;org.eclipse.emf.ecore.extension_parser&quot;&gt;
    &lt;parser type=&quot;xsd&quot; class=&quot;org.eclipse.xsd.util.XSDResourceFactoryImpl&quot;/&gt; 
  &lt;/extension&gt;
&lt;/pre&gt;
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="apiInfo"/>
      </appInfo>
      <documentation>
         The value of the class attribute must represent a class 
that implements &lt;samp&gt;org.eclipse.emf.ecore.resource.Resource.Factory&lt;/samp&gt;.
&lt;p&gt;
A URI extension can be also registered from the source code with the &lt;samp&gt;Resource.Factory.Registry.INSTANCE&lt;/samp&gt; as follows:
&lt;/p&gt;
&lt;pre&gt;
  Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put(&quot;library&quot;, new XMIResourceFactoryImpl());
&lt;/pre&gt;
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="implementation"/>
      </appInfo>
      <documentation>
         The &lt;samp&gt;org.eclipse.emf.ecore.xmi&lt;/samp&gt; plug-in extends this extension point to make the default EMF registrations: &quot;ecore&quot; is handled by &lt;samp&gt;EcoreResourceFactoryImpl&lt;/samp&gt;, &quot;emof&quot; by &lt;samp&gt;EMOFResourceFactoryImpl&lt;/samp&gt;, and &lt;samp&gt;XMIResourceFactoryImpl&lt;/samp&gt; is the default.
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="copyright"/>
      </appInfo>
      <documentation>
         Copyright (c) 2002, 2004 IBM Corporation and others.&lt;br&gt;
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v2.0 which accompanies this distribution, and is available at &lt;a 
href=&quot;http://www.eclipse.org/legal/epl-v20.html&quot;&gt;http://www.eclipse.org/legal/epl-v20.html&lt;/a&gt;
      </documentation>
   </annotation>

</schema>