<!--

  ADOBE CONFIDENTIAL
  __________________

   Copyright 2011 Adobe Systems Incorporated
   All Rights Reserved.

  NOTICE:  All information contained herein is, and remains
  the property of Adobe Systems Incorporated and its suppliers,
  if any.  The intellectual and technical concepts contained
  herein are proprietary to Adobe Systems Incorporated and its
  suppliers and are protected by trade secret or copyright law.
  Dissemination of this information or reproduction of this material
  is strictly forbidden unless prior written permission is obtained
  from Adobe Systems Incorporated.

  -->
<vaultfs version="1.1">
    <!--
        Defines the content aggregation. The order of the defined aggregates
        is important for finding the correct aggregator.
    -->
    <aggregates>
        <!--
            Defines an aggregate that handles nt:file and nt:resource nodes.
        -->
        <aggregate type="file" title="File Aggregate"/>

        <!--
            Defines an aggregate that handles file/folder like nodes. It matches
            all nt:hierarchyNode nodes that have or define a jcr:content
            child node and excludes child nodes that are nt:hierarchyNodes.
        -->
        <aggregate type="filefolder" title="File/Folder Aggregate"/>

        <!--
            Defines an aggregate that handles nt:nodeType nodes and serializes
            them into .cnd notation.
        -->
        <aggregate type="nodetype" title="Node Type Aggregate" />

        <!--
            Defines an aggregate that defines full coverage for certain node
            types that cannot be covered by the default aggregator.
        -->
        <aggregate type="full" title="Full Coverage Aggregate">
            <matches>
                <include nodeType="rep:AccessControl" respectSupertype="true" />
                <include nodeType="rep:Policy" respectSupertype="true" />
                <include nodeType="cq:Widget" respectSupertype="true" />
                <include nodeType="cq:EditConfig" respectSupertype="true" />
                <include nodeType="cq:WorkflowModel" respectSupertype="true" />
                <include nodeType="vlt:FullCoverage" respectSupertype="true" />
                <include nodeType="mix:language" respectSupertype="true" />
                <include nodeType="sling:OsgiConfig" respectSupertype="true" />
            </matches>
        </aggregate>

        <!--
            Defines an aggregate that handles nt:folder like nodes.
        -->
        <aggregate type="generic" title="Folder Aggregate">
            <matches>
                <include nodeType="nt:folder" respectSupertype="true" />
            </matches>
            <contains>
                <exclude isNode="true" />
            </contains>
        </aggregate>

        <!--
            Defines the default aggregate
        -->
        <aggregate type="generic" title="Default Aggregator" isDefault="true">
            <matches>
                <!-- all -->
            </matches>
            <contains>
                <exclude nodeType="nt:hierarchyNode" respectSupertype="true" />
            </contains>
        </aggregate>

    </aggregates>

    <!--
      defines the input handlers
    -->
    <handlers>
        <handler type="folder"/>
        <handler type="file"/>
        <handler type="nodetype"/>
        <handler type="generic"/>
    </handlers>
</vaultfs>
