blob: 06ce5127d52cad2cddaf148bbaabf1e774c2b890 [file] [log] [blame]
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.ogee.model.api" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appinfo>
<meta.schema plugin="org.eclipse.ogee.model.api" id="org.eclipse.ogee.model.api.schemata" name="OData Model API: Registered Schema Providers"/>
</appinfo>
<documentation>
A schema groups model elements and defines a globally unique namespace for it. Typically, elements of the same schema depend on each other and will be used together in a common modeling context.
With regards to OData modeling schemata can be associated with data services, annotation sets or vocabularies.
Especially vocabularies will be re-used very often. Some vocabularies may always be needed to express very basic modeling aspects, such as service capabilities, unit of measure and currency handling or the like.
Multiple schemata can be stored in files. However, a schema may also be provided by some implementation logic, being distributed like coding, always available consistently and out-of-the-box, independent from any file.
This extension point can be used to register schema provider classes used for OData modeling.
</documentation>
</annotation>
<element name="extension">
<annotation>
<appinfo>
<meta.element />
</appinfo>
</annotation>
<complexType>
<choice>
<element ref="schema" minOccurs="1" maxOccurs="unbounded"/>
</choice>
<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="schema">
<annotation>
<documentation>
A schema that is provided by registration. It becomes available automatically without the need to import a file.
</documentation>
</annotation>
<complexType>
<attribute name="namespace" type="string" use="required">
<annotation>
<documentation>
A unique identifier for the schema.
</documentation>
</annotation>
</attribute>
<attribute name="uri" type="string">
<annotation>
<documentation>
A well-known URL that could be used to retrieve the original file.
</documentation>
</annotation>
</attribute>
<attribute name="classifier" use="required">
<annotation>
<documentation>
A classification of the intended schema usage. The model supports these classifiers: Vocabulary, AnnotationSet and Service.
</documentation>
</annotation>
<simpleType>
<restriction base="string">
<enumeration value="Vocabulary">
</enumeration>
</restriction>
</simpleType>
</attribute>
<attribute name="description" type="string" use="required">
<annotation>
<documentation>
A user-displayable (translatable) schema description.
</documentation>
<appinfo>
<meta.attribute translatable="true"/>
</appinfo>
</annotation>
</attribute>
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
The class used as schema provider.
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn=":org.eclipse.ogee.model.api.ISchemaProvider"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appinfo>
<meta.section type="since"/>
</appinfo>
<documentation>
0.4.0
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="examples"/>
</appinfo>
<documentation>
The following vocabularies are provided as part of the core package already:
- CoreVocabulary
- CapabilityVocabulary
- MeasuresVocabulary
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="apiinfo"/>
</appinfo>
<documentation>
The provider implements interface org.eclipse.ogee.model.api.ISchemaProvider.
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="implementation"/>
</appinfo>
<documentation>
Adapter classes shall be derived from org.eclipse.ogee.model.api.vocabularies.SchemaAdapterImpl. For vocabulary adapters VocabularyAdapterImpl must be used as base class.
</documentation>
</annotation>
</schema>