root/org.nuxeo.ecm.core/trunk/nuxeo-core-schema/src/main/resources/OSGI-INF/SchemaService.xml

Revision 25643, 3.3 kB (checked in by bstefanescu, 2 years ago)

exposing type helper through an extension point

  • Property svn:eol-style set to native
Line 
1 <?xml version="1.0"?>
2
3 <component name="org.nuxeo.ecm.core.schema.TypeService"
4   version="1.0.0">
5   <documentation>
6     Manage document types and schemas.
7     Allows registrering new types defined using XSD schemas
8     @author Bogdan Stefanescu (bs@nuxeo.com)
9   </documentation>
10
11   <service>
12     <provide
13       interface="org.nuxeo.ecm.core.schema.SchemaManager"/>
14   </service>
15
16   <implementation class="org.nuxeo.ecm.core.schema.TypeService" />
17
18   <extension-point name="configuration">
19
20     <documentation>
21       Type manager configuration
22       <p>
23       This includes prefetching options and other global configuration regarding type management
24       </p>
25     </documentation>
26
27     <object
28       class="org.nuxeo.ecm.core.schema.TypeConfiguration" />
29   </extension-point>
30
31   <extension-point name="doctype">
32
33     <documentation>
34       Extension Point to register new document types.
35       <p/>
36       Document types may implement several schemas and extends other
37       document types. You can compare document types with java
38       classes and schemas with java interfaces. Document types may
39       also contains several facets that define a behavior.
40       <p/>
41       A doctype XML extension may contain several 'doctype' elements.
42       A doctype element may look like this:
43
44       <pre>
45         <doctype name="File" extends="Document">
46           <schema name="common" />
47           <schema name="file" />
48           <schema name="dublincore" />
49           <schema name="uid" />
50           <facet name="Downloadable" />
51           <facet name="Versionable" />
52         </doctype>
53       </pre>
54     </documentation>
55
56     <object
57       class="org.nuxeo.ecm.core.schema.DocumentTypeDescriptor" />
58   </extension-point>
59
60   <extension-point name="schema">
61
62     <documentation>
63       Extension Point to register new schemas.
64       <p/>
65       Schemas are defined using XSD files.
66       The schema extension XML may containg  several 'schema' objects as
67       the following ones:
68       <pre>
69         <schema name="common" src="schema/common.xsd" />
70         <schema name="dublincore" prefix="dc" src="schema/dublincore.xsd" />
71       </pre>
72       The <i>name</i> attribute uniquely identify the schema, the <i>src</i> attribute specify
73       the path to that schema (relative to the bundle root) and the <i>prefix</i> is used as
74       a prefix (short name) of the schema namespace.
75       The schema namespace is the targetNamespace defined inside the XSD file
76       <p/>
77       Note that multiple schemas can share the same target namespace and prefix
78     </documentation>
79
80     <object
81       class="org.nuxeo.ecm.core.schema.SchemaBindingDescriptor" />
82   </extension-point>
83
84   <extension-point name="typeHelpers">
85     <documentation>
86       This extension point let you contribute new type helpers that control extended
87       type handling like encondig, decodig values etc.
88       <p/>
89       A contribution example:
90       <pre>
91         <helper schema="file" type="content" class="BlobHelper"/>
92       </pre>
93     </documentation>
94     <object class="org.nuxeo.ecm.core.schema.TypeHelperDescriptor" />
95   </extension-point>
96
97
98   <extension-point name="provider">
99     <documentation>
100     Extension point to register type providers. Type providsers are usually used to import types
101     defined on remote servers
102     </documentation>
103     <object class="org.nuxeo.ecm.core.schema.TypeProviderDescriptor"/>
104   </extension-point>
105
106 </component>
Note: See TracBrowser for help on using the browser.