| <?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, <samp>Resource.Factory.Registry.INSTANCE</samp>, 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 <samp>org.eclipse.emf.ecore.resource.Resource.Factory |
| </samp>. |
| </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: |
| <pre> |
| <extension point="org.eclipse.emf.ecore.extension_parser"> |
| <parser type="xsd" class="org.eclipse.xsd.util.XSDResourceFactoryImpl"/> |
| </extension> |
| </pre> |
| </documentation> |
| </annotation> |
| |
| <annotation> |
| <appInfo> |
| <meta.section type="apiInfo"/> |
| </appInfo> |
| <documentation> |
| The value of the class attribute must represent a class |
| that implements <samp>org.eclipse.emf.ecore.resource.Resource.Factory</samp>. |
| <p> |
| A URI extension can be also registered from the source code with the <samp>Resource.Factory.Registry.INSTANCE</samp> as follows: |
| </p> |
| <pre> |
| Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("library", new XMIResourceFactoryImpl()); |
| </pre> |
| </documentation> |
| </annotation> |
| |
| <annotation> |
| <appInfo> |
| <meta.section type="implementation"/> |
| </appInfo> |
| <documentation> |
| The <samp>org.eclipse.emf.ecore.xmi</samp> plug-in extends this extension point to make the default EMF registrations: "ecore" is handled by <samp>EcoreResourceFactoryImpl</samp>, "emof" by <samp>EMOFResourceFactoryImpl</samp>, and <samp>XMIResourceFactoryImpl</samp> is the default. |
| </documentation> |
| </annotation> |
| |
| <annotation> |
| <appInfo> |
| <meta.section type="copyright"/> |
| </appInfo> |
| <documentation> |
| Copyright (c) 2002, 2004 IBM Corporation and others.<br> |
| 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 <a |
| href="http://www.eclipse.org/legal/epl-v20.html">http://www.eclipse.org/legal/epl-v20.html</a> |
| </documentation> |
| </annotation> |
| |
| </schema> |