<!--

    Copyright (C) 2009 eXo Platform SAS.

    This is free software; you can redistribute it and/or modify it
    under the terms of the GNU Lesser General Public License as
    published by the Free Software Foundation; either version 2.1 of
    the License, or (at your option) any later version.

    This software is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with this software; if not, write to the Free
    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    02110-1301 USA, or see the FSF site: http://www.fsf.org.

-->
<nodeTypes xmlns:nt="http://www.jcp.org/jcr/nt/1.0" xmlns:mix="http://www.jcp.org/jcr/mix/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:exo="http://www.exoplatform.com/jcr/exo/1.0">

   <nodeType name="exo:registryEntity" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
      <supertypes>
         <supertype>nt:base</supertype>
      </supertypes>
   </nodeType>

   <nodeType name="exo:registryEntry" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
      <supertypes>
         <supertype>exo:registryEntity</supertype>
      </supertypes>
      <propertyDefinitions>
         <propertyDefinition name="*" requiredType="undefined" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false"
            multiple="true">
            <valueConstraints />
         </propertyDefinition>
         <propertyDefinition name="*" requiredType="undefined" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false"
            multiple="false">
            <valueConstraints />
         </propertyDefinition>
      </propertyDefinitions>
      <childNodeDefinitions>
         <childNodeDefinition name="*" defaultPrimaryType="nt:unstructured" autoCreated="false" mandatory="false" onParentVersion="VERSION"
            protected="false" sameNameSiblings="false">
            <requiredPrimaryTypes>
               <requiredPrimaryType>nt:base</requiredPrimaryType>
            </requiredPrimaryTypes>
         </childNodeDefinition>
      </childNodeDefinitions>
   </nodeType>

   <nodeType name="exo:registryGroup" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
      <supertypes>
         <supertype>exo:registryEntity</supertype>
      </supertypes>
      <childNodeDefinitions>
         <childNodeDefinition name="*" defaultPrimaryType="exo:registryEntry" autoCreated="false" mandatory="false" onParentVersion="VERSION"
            protected="false" sameNameSiblings="false">
            <requiredPrimaryTypes>
               <requiredPrimaryType>exo:registryEntity</requiredPrimaryType>
            </requiredPrimaryTypes>
         </childNodeDefinition>
      </childNodeDefinitions>
   </nodeType>

   <nodeType name="exo:registry" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
      <supertypes>
         <supertype>nt:base</supertype>
      </supertypes>
      <childNodeDefinitions>
         <childNodeDefinition name="exo:services" defaultPrimaryType="exo:registryGroup" autoCreated="false" mandatory="false"
            onParentVersion="VERSION" protected="false" sameNameSiblings="false">
            <requiredPrimaryTypes>
               <requiredPrimaryType>exo:registryGroup</requiredPrimaryType>
            </requiredPrimaryTypes>
         </childNodeDefinition>
         <childNodeDefinition name="exo:applications" defaultPrimaryType="exo:registryGroup" autoCreated="false" mandatory="false"
            onParentVersion="VERSION" protected="false" sameNameSiblings="false">
            <requiredPrimaryTypes>
               <requiredPrimaryType>exo:registryGroup</requiredPrimaryType>
            </requiredPrimaryTypes>
         </childNodeDefinition>
         <childNodeDefinition name="exo:users" defaultPrimaryType="exo:registryGroup" autoCreated="false" mandatory="false" onParentVersion="VERSION"
            protected="false" sameNameSiblings="false">
            <requiredPrimaryTypes>
               <requiredPrimaryType>exo:registryGroup</requiredPrimaryType>
            </requiredPrimaryTypes>
         </childNodeDefinition>
         <childNodeDefinition name="exo:groups" defaultPrimaryType="exo:registryGroup" autoCreated="false" mandatory="false"
            onParentVersion="VERSION" protected="false" sameNameSiblings="false">
            <requiredPrimaryTypes>
               <requiredPrimaryType>exo:registryGroup</requiredPrimaryType>
            </requiredPrimaryTypes>
         </childNodeDefinition>
      </childNodeDefinitions>
   </nodeType>

</nodeTypes>
