| 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> |
|---|