Platform Explorer / Nuxeo Platform 8.2

Component org.nuxeo.ecm.core.schema.TypeService


Javadoc: org.nuxeo.ecm.core.schema.TypeService


Extension points


XML source

<?xml version="1.0"?>

<component name="org.nuxeo.ecm.core.schema.TypeService"
    Manage document types and schemas.
    Allows registrering new types defined using XSD schemas
    @author Bogdan Stefanescu (


  <implementation class="org.nuxeo.ecm.core.schema.TypeService" />

  <extension-point name="configuration">

      Type manager configuration.
      For now this contains default prefetch options. For example:
          <prefetch>common.icon, dc:title, dc:modified, dc:contributors, dc:creator</prefetch>

      class="org.nuxeo.ecm.core.schema.TypeConfiguration" />

  <extension-point name="doctype">

      Extension Point to register new document types and facets.
      Document types may implement several schemas and extends other
      document types. You can compare document types with java
      classes and schemas with java interfaces. Document types may
      also contains several facets that define a behavior.
      The prefetch element defines what fields are synchronously
      indexed, and are made available in search results listings.
      A doctype XML extension may contain several 'doctype' elements.
      A doctype element may look like this:

        <doctype name="File" extends="Document">
          <schema name="common" />
          <schema name="file" />
          <schema name="dublincore" />
          <schema name="uid" />
          <facet name="Downloadable" />
          <facet name="Versionable" />
          <prefetch>dc:title, dc:modified, uid.uid</prefetch>

      Facets are also defined by this extension point.
      They can have zero or more schemas:

        <facet name="MyFacet" perDocumentQuery="false"/>
        <facet name="MyFacetWithData">
          <schema name="myschema" />
          <schema name="otherschema" />

      Queries using ecm:mixinType on facets marked with
      perDocumentQuery="false" will not match any document where
      this facet has been added using DocumentModel.addFacet() and does
      not belong to the document type (this is done for performance reasons).

      It's also possible to associate one or more schemas to all proxies:
          <schema name="myschema" />

      class="org.nuxeo.ecm.core.schema.DocumentTypeDescriptor" />
      class="org.nuxeo.ecm.core.schema.FacetDescriptor" />
      class="org.nuxeo.ecm.core.schema.ProxiesDescriptor" />

  <extension-point name="schema">

      Extension Point to register new schemas.
      Schemas are defined using XSD files.
      The schema extension XML may containg  several 'schema' objects as
      the following ones:
        <schema name="common" src="schema/common.xsd" />
        <schema name="dublincore" prefix="dc" src="schema/dublincore.xsd" />
      The <i>name</i> attribute uniquely identify the schema, the <i>src</i> attribute specify
      the path to that schema (relative to the bundle root) and the <i>prefix</i> is used as
      a prefix (short name) of the schema namespace.
      The schema namespace is the targetNamespace defined inside the XSD file
      Note that multiple schemas can share the same target namespace and prefix
      You can also create a Nuxeo Schema from a sub part of the XSD schema.
      For that you can use the xsdRootElement attribute to indicate the complex type to use.
        <schema name="employeeSchema" src="schema/testExtension.xsd" xsdRootElement="employee"/>

      class="org.nuxeo.ecm.core.schema.SchemaBindingDescriptor" />

  <extension target="org.nuxeo.runtime.EventService" point="listeners">


Manage document types and schemas. Allows registrering new types defined using XSD schemas