<commit_before><?xml version="1.0" encoding="UTF-8"?>
<!--
/*
 * Copyright 2004-2005 The Apache Software Foundation or its licensors,
 *                     as applicable.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
 -->
<!DOCTYPE nodeTypes [
	<!ELEMENT nodeTypes (nodeType)*>
		<!ELEMENT nodeType (supertypes?|propertyDefinition*|childNodeDefinition*)>

		<!ATTLIST nodeType
			name CDATA #REQUIRED
			isMixin (true|false) #REQUIRED
 			hasOrderableChildNodes (true|false) #REQUIRED
			primaryItemName CDATA #REQUIRED
		>
		<!ELEMENT supertypes (supertype+)>
		<!ELEMENT supertype (CDATA)>

		<!ELEMENT propertyDefinition (valueConstraints?|defaultValues?)>
		<!ATTLIST propertyDefinition
			name CDATA #REQUIRED
			requiredType (String|Date|Path|Name|Reference|Binary|Double|Long|Boolean|undefined) #REQUIRED
			autoCreated (true|false) #REQUIRED
			mandatory (true|false) #REQUIRED
			onParentVersion (COPY|VERSION|INITIALIZE|COMPUTE|IGNORE|ABORT) #REQUIRED
			protected (true|false) #REQUIRED
			multiple  (true|false) #REQUIRED
		>
		<!ELEMENT valueConstraints (valueConstraint+)>
		<!ELEMENT valueConstraint (CDATA)>
		<!ELEMENT defaultValues (defaultValue+)>
		<!ELEMENT defaultValue (CDATA)>

		<!ELEMENT childNodeDefinition (requiredPrimaryTypes)>
		<!ATTLIST childNodeDefinition
			name CDATA #REQUIRED
			defaultPrimaryType  CDATA #REQUIRED
			autoCreated (true|false) #REQUIRED
			mandatory (true|false) #REQUIRED
			onParentVersion (COPY|VERSION|INITIALIZE|COMPUTE|IGNORE|ABORT) #REQUIRED
			protected (true|false) #REQUIRED
			sameNameSiblings (true|false) #REQUIRED
		>
		<!ELEMENT requiredPrimaryTypes (requiredPrimaryType+)>
		<!ELEMENT requiredPrimaryType (CDATA)>
]>
<nodeTypes
    xmlns:rep="internal"
    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">

    <!-- primary types -->
    <nodeType name="nt:base" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <propertyDefinition name="jcr:primaryType" requiredType="Name" autoCreated="true" mandatory="true" onParentVersion="COMPUTE" protected="true" multiple="false"/>
        <propertyDefinition name="jcr:mixinTypes" requiredType="Name" autoCreated="false" mandatory="false" onParentVersion="COMPUTE" protected="true" multiple="true"/>
    </nodeType>
    <nodeType name="nt:unstructured" isMixin="false" hasOrderableChildNodes="true" primaryItemName="">
        <supertypes>
            <supertype>nt:base</supertype>
        </supertypes>
        <childNodeDefinition name="*" defaultPrimaryType="nt:unstructured" autoCreated="false" mandatory="false" onParentVersion="VERSION" protected="false" sameNameSiblings="true">
            <requiredPrimaryTypes>
                <requiredPrimaryType>nt:base</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
        <propertyDefinition name="*" requiredType="undefined" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true"/>
        <propertyDefinition name="*" requiredType="undefined" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false"/>
    </nodeType>
    <nodeType name="nt:hierarchyNode" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:base</supertype>
        </supertypes>
        <propertyDefinition name="jcr:created" requiredType="Date" autoCreated="true" mandatory="true" onParentVersion="INITIALIZE" protected="true" multiple="false"/>
    </nodeType>
    <nodeType name="nt:file" isMixin="false" hasOrderableChildNodes="false" primaryItemName="jcr:content">
        <supertypes>
            <supertype>nt:hierarchyNode</supertype>
        </supertypes>
        <childNodeDefinition name="jcr:content" defaultPrimaryType="" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" sameNameSiblings="false">
            <requiredPrimaryTypes>
                <requiredPrimaryType>nt:base</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
    </nodeType>
    <nodeType name="nt:linkedFile" isMixin="false" hasOrderableChildNodes="false" primaryItemName="jcr:content">
        <supertypes>
            <supertype>nt:hierarchyNode</supertype>
        </supertypes>
        <propertyDefinition name="jcr:content" requiredType="Reference" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false"/>
    </nodeType>
    <nodeType name="nt:folder" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:hierarchyNode</supertype>
        </supertypes>
        <childNodeDefinition name="*" defaultPrimaryType="" autoCreated="false" mandatory="false" onParentVersion="VERSION" protected="false" sameNameSiblings="false">
            <requiredPrimaryTypes>
                <requiredPrimaryType>nt:hierarchyNode</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
    </nodeType>
    <nodeType name="nt:resource" isMixin="false" hasOrderableChildNodes="false" primaryItemName="jcr:data">
        <supertypes>
            <supertype>nt:base</supertype>
            <supertype>mix:referenceable</supertype>
        </supertypes>
        <propertyDefinition name="jcr:encoding" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:mimeType" requiredType="String" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:data" requiredType="Binary" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:lastModified" requiredType="Date" autoCreated="false" mandatory="true" onParentVersion="IGNORE" protected="false" multiple="false"/>
    </nodeType>
    <nodeType name="nt:nodeType" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:base</supertype>
        </supertypes>
        <propertyDefinition name="jcr:nodeTypeName" requiredType="Name" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:supertypes" requiredType="Name" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true"/>
        <propertyDefinition name="jcr:isMixin" requiredType="Boolean" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:hasOrderableChildNodes" requiredType="Boolean" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:primaryItemName" requiredType="Name" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false"/>
        <childNodeDefinition name="jcr:propertyDefinition" defaultPrimaryType="nt:propertyDefinition" autoCreated="false" mandatory="false" onParentVersion="VERSION" protected="false" sameNameSiblings="true">
            <requiredPrimaryTypes>
                <requiredPrimaryType>nt:propertyDefinition</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
        <childNodeDefinition name="jcr:childNodeDefinition" defaultPrimaryType="nt:childNodeDefinition" autoCreated="false" mandatory="false" onParentVersion="VERSION" protected="false" sameNameSiblings="true">
            <requiredPrimaryTypes>
                <requiredPrimaryType>nt:childNodeDefinition</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
    </nodeType>
    <nodeType name="nt:propertyDefinition" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:base</supertype>
        </supertypes>
        <propertyDefinition name="jcr:name" requiredType="Name" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:autoCreated" requiredType="Boolean" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:mandatory" requiredType="Boolean" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:onParentVersion" requiredType="String" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false">
            <valueConstraints>
                <valueConstraint>COPY</valueConstraint>
                <valueConstraint>VERSION</valueConstraint>
                <valueConstraint>INITIALIZE</valueConstraint>
                <valueConstraint>COMPUTE</valueConstraint>
                <valueConstraint>IGNORE</valueConstraint>
            </valueConstraints>
        </propertyDefinition>
        <propertyDefinition name="jcr:protected" requiredType="Boolean" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:requiredType" requiredType="String" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false">
            <valueConstraints>
                <valueConstraint>STRING</valueConstraint>
                <valueConstraint>BINARY</valueConstraint>
                <valueConstraint>LONG</valueConstraint>
                <valueConstraint>DOUBLE</valueConstraint>
                <valueConstraint>BOOLEAN</valueConstraint>
                <valueConstraint>DATE</valueConstraint>
                <valueConstraint>NAME</valueConstraint>
                <valueConstraint>PATH</valueConstraint>
                <valueConstraint>REFERENCE</valueConstraint>
                <valueConstraint>UNDEFINED</valueConstraint>
            </valueConstraints>
        </propertyDefinition>
        <propertyDefinition name="jcr:valueConstraints" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true"/>
        <propertyDefinition name="jcr:defaultValues" requiredType="undefined" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true"/>
        <propertyDefinition name="jcr:multiple" requiredType="Boolean" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false"/>
    </nodeType>
    <nodeType name="nt:childNodeDefinition" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:base</supertype>
        </supertypes>
        <propertyDefinition name="jcr:name" requiredType="Name" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:autoCreated" requiredType="Boolean" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:mandatory" requiredType="Boolean" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:onParentVersion" requiredType="String" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false">
            <valueConstraints>
                <valueConstraint>COPY</valueConstraint>
                <valueConstraint>VERSION</valueConstraint>
                <valueConstraint>INITIALIZE</valueConstraint>
                <valueConstraint>COMPUTE</valueConstraint>
                <valueConstraint>IGNORE</valueConstraint>
            </valueConstraints>
        </propertyDefinition>
        <propertyDefinition name="jcr:protected" requiredType="Boolean" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:requiredPrimaryTypes" requiredType="Name" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="true">
            <defaultValues>
                <defaultValue>nt:base</defaultValue>
            </defaultValues>
        </propertyDefinition>
        <propertyDefinition name="jcr:defaultPrimaryType" requiredType="Name" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:sameNameSiblings" requiredType="Boolean" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false"/>
    </nodeType>
    <nodeType name="nt:versionHistory" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:base</supertype>
            <supertype>mix:referenceable</supertype>
        </supertypes>
        <propertyDefinition name="jcr:versionableUuid" requiredType="String" autoCreated="true" mandatory="true" onParentVersion="ABORT" protected="true" multiple="false"/>
        <childNodeDefinition name="jcr:rootVersion" defaultPrimaryType="nt:version" autoCreated="true" mandatory="true" onParentVersion="ABORT" protected="true" sameNameSiblings="false">
            <requiredPrimaryTypes>
                <requiredPrimaryType>nt:version</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
        <childNodeDefinition name="jcr:versionLabels" defaultPrimaryType="nt:versionLabels" autoCreated="true" mandatory="true" onParentVersion="ABORT" protected="true" sameNameSiblings="false">
            <requiredPrimaryTypes>
                <requiredPrimaryType>nt:versionLabels</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
        <childNodeDefinition name="*" defaultPrimaryType="nt:version" autoCreated="false" mandatory="false" onParentVersion="ABORT" protected="true" sameNameSiblings="false">
            <requiredPrimaryTypes>
                <requiredPrimaryType>nt:version</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
    </nodeType>
    <nodeType name="nt:versionLabels" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:base</supertype>
        </supertypes>
        <propertyDefinition name="*" requiredType="Reference" autoCreated="false" mandatory="false" onParentVersion="ABORT" protected="true" multiple="false">
            <valueConstraints>
                <valueConstraint>nt:version</valueConstraint>
            </valueConstraints>
        </propertyDefinition>
    </nodeType>
    <nodeType name="nt:version" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:base</supertype>
            <supertype>mix:referenceable</supertype>
        </supertypes>
        <propertyDefinition name="jcr:created" requiredType="Date" autoCreated="true" mandatory="true" onParentVersion="ABORT" protected="true" multiple="false"/>
        <propertyDefinition name="jcr:predecessors" requiredType="Reference" autoCreated="false" mandatory="false" onParentVersion="ABORT" protected="true" multiple="true">
            <valueConstraints>
                <valueConstraint>nt:version</valueConstraint>
            </valueConstraints>
        </propertyDefinition>
        <propertyDefinition name="jcr:successors" requiredType="Reference" autoCreated="false" mandatory="false" onParentVersion="ABORT" protected="true" multiple="true">
            <valueConstraints>
                <valueConstraint>nt:version</valueConstraint>
            </valueConstraints>
        </propertyDefinition>
        <childNodeDefinition name="jcr:frozenNode" defaultPrimaryType="" autoCreated="false" mandatory="false" onParentVersion="ABORT" protected="true" sameNameSiblings="false">
            <requiredPrimaryTypes>
                <requiredPrimaryType>nt:frozenNode</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
    </nodeType>
    <nodeType name="nt:frozenNode" isMixin="false" hasOrderableChildNodes="true" primaryItemName="">
        <supertypes>
            <supertype>nt:base</supertype>
            <supertype>mix:referenceable</supertype>
        </supertypes>
        <propertyDefinition name="jcr:frozenPrimaryType" requiredType="Name" autoCreated="true" mandatory="true" onParentVersion="ABORT" protected="true" multiple="false"/>
        <propertyDefinition name="jcr:frozenMixinTypes" requiredType="Name" autoCreated="false" mandatory="false" onParentVersion="ABORT" protected="true" multiple="true"/>
        <propertyDefinition name="jcr:frozenUuid" requiredType="String" autoCreated="true" mandatory="true" onParentVersion="ABORT" protected="true" multiple="false"/>
        <propertyDefinition name="*" requiredType="undefined" autoCreated="false" mandatory="false" onParentVersion="ABORT" protected="true" multiple="false"/>
        <propertyDefinition name="*" requiredType="undefined" autoCreated="false" mandatory="false" onParentVersion="ABORT" protected="true" multiple="true"/>
        <childNodeDefinition name="*" defaultPrimaryType="" autoCreated="false" mandatory="false" onParentVersion="ABORT" protected="true" sameNameSiblings="true">
            <requiredPrimaryTypes>
                <requiredPrimaryType>nt:base</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
    </nodeType>
    <nodeType name="nt:versionedChild" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:base</supertype>
        </supertypes>
        <propertyDefinition name="jcr:childVersionHistory" requiredType="Reference" autoCreated="true" mandatory="true" onParentVersion="ABORT" protected="true" multiple="false">
            <valueConstraints>
                <valueConstraint>nt:versionHistory</valueConstraint>
            </valueConstraints>
        </propertyDefinition>
    </nodeType>
    <nodeType name="nt:query" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:base</supertype>
        </supertypes>
        <propertyDefinition name="jcr:statement" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:language" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false"/>
    </nodeType>

    <!-- mixin types -->
    <nodeType name="mix:lockable" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
        <propertyDefinition name="jcr:lockOwner" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="IGNORE" protected="true" multiple="false"/>
        <propertyDefinition name="jcr:lockIsDeep" requiredType="Boolean" autoCreated="false" mandatory="false" onParentVersion="IGNORE" protected="true" multiple="false"/>
    </nodeType>
    <nodeType name="mix:referenceable" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
        <propertyDefinition name="jcr:uuid" requiredType="String" autoCreated="true" mandatory="true" onParentVersion="INITIALIZE" protected="true" multiple="false"/>
    </nodeType>
    <nodeType name="mix:versionable" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>mix:referenceable</supertype>
        </supertypes>
        <propertyDefinition name="jcr:versionHistory" requiredType="Reference" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="true" multiple="false">
            <valueConstraints>
                <valueConstraint>nt:versionHistory</valueConstraint>
            </valueConstraints>
        </propertyDefinition>
        <propertyDefinition name="jcr:baseVersion" requiredType="Reference" autoCreated="false" mandatory="true" onParentVersion="IGNORE" protected="true" multiple="false">
            <valueConstraints>
                <valueConstraint>nt:version</valueConstraint>
            </valueConstraints>
        </propertyDefinition>
        <propertyDefinition name="jcr:isCheckedOut" requiredType="Boolean" autoCreated="true" mandatory="true" onParentVersion="IGNORE" protected="true" multiple="false">
            <defaultValues>
                <defaultValue>true</defaultValue>
            </defaultValues>
        </propertyDefinition>
        <propertyDefinition name="jcr:predecessors" requiredType="Reference" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="true" multiple="true">
            <valueConstraints>
                <valueConstraint>nt:version</valueConstraint>
            </valueConstraints>
        </propertyDefinition>
        <propertyDefinition name="jcr:mergeFailed" requiredType="Reference" autoCreated="false" mandatory="false" onParentVersion="ABORT" protected="true" multiple="true" />
    </nodeType>

    <!-- internal node types -->
    <nodeType name="rep:root" isMixin="false" hasOrderableChildNodes="true" primaryItemName="">
        <supertypes>
            <supertype>nt:unstructured</supertype>
        </supertypes>
        <childNodeDefinition name="jcr:system" defaultPrimaryType="rep:system" autoCreated="false" mandatory="true" onParentVersion="IGNORE" protected="false" sameNameSiblings="false">
            <requiredPrimaryTypes>
                <requiredPrimaryType>rep:system</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
    </nodeType>
    <nodeType name="rep:system" isMixin="false" hasOrderableChildNodes="true" primaryItemName="">
        <supertypes>
            <supertype>nt:base</supertype>
        </supertypes>
        <childNodeDefinition name="jcr:versionStorage" defaultPrimaryType="nt:unstructured" autoCreated="false" mandatory="true" onParentVersion="ABORT" protected="true" sameNameSiblings="false">
            <requiredPrimaryTypes>
                <requiredPrimaryType>nt:base</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
        <childNodeDefinition name="*" defaultPrimaryType="nt:unstructured" autoCreated="false" mandatory="false" onParentVersion="IGNORE" protected="false" sameNameSiblings="true">
            <requiredPrimaryTypes>
                <requiredPrimaryType>nt:base</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
    </nodeType>
    <nodeType name="rep:versionStorage" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:base</supertype>
        </supertypes>
        <childNodeDefinition name="*" defaultPrimaryType="nt:versionHistory" autoCreated="false" mandatory="false" onParentVersion="ABORT" protected="true" sameNameSiblings="true">
            <requiredPrimaryTypes>
                <requiredPrimaryType>nt:versionHistory</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
    </nodeType>
    <nodeType name="rep:nodeTypes" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:base</supertype>
        </supertypes>
        <childNodeDefinition name="*" defaultPrimaryType="nt:nodeType" autoCreated="false" mandatory="false" onParentVersion="ABORT" protected="true" sameNameSiblings="false">
            <requiredPrimaryTypes>
                <requiredPrimaryType>nt:nodeType</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
    </nodeType>

    <!-- internal node types for persistent version manager -->
    <nodeType name="rep:versionHistory" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:unstructured</supertype>
        </supertypes>
    </nodeType>
    <nodeType name="rep:versionLabels" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:unstructured</supertype>
        </supertypes>
    </nodeType>
    <nodeType name="rep:version" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:unstructured</supertype>
        </supertypes>
    </nodeType>
    <nodeType name="rep:frozen" isMixin="false" hasOrderableChildNodes="true" primaryItemName="">
        <supertypes>
            <supertype>nt:unstructured</supertype>
        </supertypes>
    </nodeType>
    <nodeType name="rep:frozenVersionHistory" isMixin="false" hasOrderableChildNodes="true" primaryItemName="">
        <supertypes>
            <supertype>nt:unstructured</supertype>
        </supertypes>
    </nodeType>

</nodeTypes>
<commit_msg>Commented out the inline DTD as it doesn't work well with the namespace declarations.<commit_after><?xml version="1.0" encoding="UTF-8"?>
<!--
/*
 * Copyright 2004-2005 The Apache Software Foundation or its licensors,
 *                     as applicable.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
 -->
<!--
Note: The following inline DTD is included as an informal description of
the node type configuration file format. It can however not be used for
formal validation because of the namespace declarations. The DTD is therefore
commented out by default.
-->
<!--
<!DOCTYPE nodeTypes [
	<!ELEMENT nodeTypes (nodeType)*>
		<!ELEMENT nodeType (supertypes?|propertyDefinition*|childNodeDefinition*)>

		<!ATTLIST nodeType
			name CDATA #REQUIRED
			isMixin (true|false) #REQUIRED
 			hasOrderableChildNodes (true|false) #REQUIRED
			primaryItemName CDATA #REQUIRED
		>
		<!ELEMENT supertypes (supertype+)>
		<!ELEMENT supertype (CDATA)>

		<!ELEMENT propertyDefinition (valueConstraints?|defaultValues?)>
		<!ATTLIST propertyDefinition
			name CDATA #REQUIRED
			requiredType (String|Date|Path|Name|Reference|Binary|Double|Long|Boolean|undefined) #REQUIRED
			autoCreated (true|false) #REQUIRED
			mandatory (true|false) #REQUIRED
			onParentVersion (COPY|VERSION|INITIALIZE|COMPUTE|IGNORE|ABORT) #REQUIRED
			protected (true|false) #REQUIRED
			multiple  (true|false) #REQUIRED
		>
		<!ELEMENT valueConstraints (valueConstraint+)>
		<!ELEMENT valueConstraint (CDATA)>
		<!ELEMENT defaultValues (defaultValue+)>
		<!ELEMENT defaultValue (CDATA)>

		<!ELEMENT childNodeDefinition (requiredPrimaryTypes)>
		<!ATTLIST childNodeDefinition
			name CDATA #REQUIRED
			defaultPrimaryType  CDATA #REQUIRED
			autoCreated (true|false) #REQUIRED
			mandatory (true|false) #REQUIRED
			onParentVersion (COPY|VERSION|INITIALIZE|COMPUTE|IGNORE|ABORT) #REQUIRED
			protected (true|false) #REQUIRED
			sameNameSiblings (true|false) #REQUIRED
		>
		<!ELEMENT requiredPrimaryTypes (requiredPrimaryType+)>
		<!ELEMENT requiredPrimaryType (CDATA)>
]>
-->
<nodeTypes
    xmlns:rep="internal"
    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">

    <!-- primary types -->
    <nodeType name="nt:base" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <propertyDefinition name="jcr:primaryType" requiredType="Name" autoCreated="true" mandatory="true" onParentVersion="COMPUTE" protected="true" multiple="false"/>
        <propertyDefinition name="jcr:mixinTypes" requiredType="Name" autoCreated="false" mandatory="false" onParentVersion="COMPUTE" protected="true" multiple="true"/>
    </nodeType>
    <nodeType name="nt:unstructured" isMixin="false" hasOrderableChildNodes="true" primaryItemName="">
        <supertypes>
            <supertype>nt:base</supertype>
        </supertypes>
        <childNodeDefinition name="*" defaultPrimaryType="nt:unstructured" autoCreated="false" mandatory="false" onParentVersion="VERSION" protected="false" sameNameSiblings="true">
            <requiredPrimaryTypes>
                <requiredPrimaryType>nt:base</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
        <propertyDefinition name="*" requiredType="undefined" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true"/>
        <propertyDefinition name="*" requiredType="undefined" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false"/>
    </nodeType>
    <nodeType name="nt:hierarchyNode" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:base</supertype>
        </supertypes>
        <propertyDefinition name="jcr:created" requiredType="Date" autoCreated="true" mandatory="true" onParentVersion="INITIALIZE" protected="true" multiple="false"/>
    </nodeType>
    <nodeType name="nt:file" isMixin="false" hasOrderableChildNodes="false" primaryItemName="jcr:content">
        <supertypes>
            <supertype>nt:hierarchyNode</supertype>
        </supertypes>
        <childNodeDefinition name="jcr:content" defaultPrimaryType="" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" sameNameSiblings="false">
            <requiredPrimaryTypes>
                <requiredPrimaryType>nt:base</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
    </nodeType>
    <nodeType name="nt:linkedFile" isMixin="false" hasOrderableChildNodes="false" primaryItemName="jcr:content">
        <supertypes>
            <supertype>nt:hierarchyNode</supertype>
        </supertypes>
        <propertyDefinition name="jcr:content" requiredType="Reference" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false"/>
    </nodeType>
    <nodeType name="nt:folder" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:hierarchyNode</supertype>
        </supertypes>
        <childNodeDefinition name="*" defaultPrimaryType="" autoCreated="false" mandatory="false" onParentVersion="VERSION" protected="false" sameNameSiblings="false">
            <requiredPrimaryTypes>
                <requiredPrimaryType>nt:hierarchyNode</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
    </nodeType>
    <nodeType name="nt:resource" isMixin="false" hasOrderableChildNodes="false" primaryItemName="jcr:data">
        <supertypes>
            <supertype>nt:base</supertype>
            <supertype>mix:referenceable</supertype>
        </supertypes>
        <propertyDefinition name="jcr:encoding" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:mimeType" requiredType="String" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:data" requiredType="Binary" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:lastModified" requiredType="Date" autoCreated="false" mandatory="true" onParentVersion="IGNORE" protected="false" multiple="false"/>
    </nodeType>
    <nodeType name="nt:nodeType" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:base</supertype>
        </supertypes>
        <propertyDefinition name="jcr:nodeTypeName" requiredType="Name" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:supertypes" requiredType="Name" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true"/>
        <propertyDefinition name="jcr:isMixin" requiredType="Boolean" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:hasOrderableChildNodes" requiredType="Boolean" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:primaryItemName" requiredType="Name" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false"/>
        <childNodeDefinition name="jcr:propertyDefinition" defaultPrimaryType="nt:propertyDefinition" autoCreated="false" mandatory="false" onParentVersion="VERSION" protected="false" sameNameSiblings="true">
            <requiredPrimaryTypes>
                <requiredPrimaryType>nt:propertyDefinition</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
        <childNodeDefinition name="jcr:childNodeDefinition" defaultPrimaryType="nt:childNodeDefinition" autoCreated="false" mandatory="false" onParentVersion="VERSION" protected="false" sameNameSiblings="true">
            <requiredPrimaryTypes>
                <requiredPrimaryType>nt:childNodeDefinition</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
    </nodeType>
    <nodeType name="nt:propertyDefinition" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:base</supertype>
        </supertypes>
        <propertyDefinition name="jcr:name" requiredType="Name" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:autoCreated" requiredType="Boolean" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:mandatory" requiredType="Boolean" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:onParentVersion" requiredType="String" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false">
            <valueConstraints>
                <valueConstraint>COPY</valueConstraint>
                <valueConstraint>VERSION</valueConstraint>
                <valueConstraint>INITIALIZE</valueConstraint>
                <valueConstraint>COMPUTE</valueConstraint>
                <valueConstraint>IGNORE</valueConstraint>
            </valueConstraints>
        </propertyDefinition>
        <propertyDefinition name="jcr:protected" requiredType="Boolean" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:requiredType" requiredType="String" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false">
            <valueConstraints>
                <valueConstraint>STRING</valueConstraint>
                <valueConstraint>BINARY</valueConstraint>
                <valueConstraint>LONG</valueConstraint>
                <valueConstraint>DOUBLE</valueConstraint>
                <valueConstraint>BOOLEAN</valueConstraint>
                <valueConstraint>DATE</valueConstraint>
                <valueConstraint>NAME</valueConstraint>
                <valueConstraint>PATH</valueConstraint>
                <valueConstraint>REFERENCE</valueConstraint>
                <valueConstraint>UNDEFINED</valueConstraint>
            </valueConstraints>
        </propertyDefinition>
        <propertyDefinition name="jcr:valueConstraints" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true"/>
        <propertyDefinition name="jcr:defaultValues" requiredType="undefined" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true"/>
        <propertyDefinition name="jcr:multiple" requiredType="Boolean" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false"/>
    </nodeType>
    <nodeType name="nt:childNodeDefinition" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:base</supertype>
        </supertypes>
        <propertyDefinition name="jcr:name" requiredType="Name" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:autoCreated" requiredType="Boolean" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:mandatory" requiredType="Boolean" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:onParentVersion" requiredType="String" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false">
            <valueConstraints>
                <valueConstraint>COPY</valueConstraint>
                <valueConstraint>VERSION</valueConstraint>
                <valueConstraint>INITIALIZE</valueConstraint>
                <valueConstraint>COMPUTE</valueConstraint>
                <valueConstraint>IGNORE</valueConstraint>
            </valueConstraints>
        </propertyDefinition>
        <propertyDefinition name="jcr:protected" requiredType="Boolean" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:requiredPrimaryTypes" requiredType="Name" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="true">
            <defaultValues>
                <defaultValue>nt:base</defaultValue>
            </defaultValues>
        </propertyDefinition>
        <propertyDefinition name="jcr:defaultPrimaryType" requiredType="Name" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:sameNameSiblings" requiredType="Boolean" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="false" multiple="false"/>
    </nodeType>
    <nodeType name="nt:versionHistory" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:base</supertype>
            <supertype>mix:referenceable</supertype>
        </supertypes>
        <propertyDefinition name="jcr:versionableUuid" requiredType="String" autoCreated="true" mandatory="true" onParentVersion="ABORT" protected="true" multiple="false"/>
        <childNodeDefinition name="jcr:rootVersion" defaultPrimaryType="nt:version" autoCreated="true" mandatory="true" onParentVersion="ABORT" protected="true" sameNameSiblings="false">
            <requiredPrimaryTypes>
                <requiredPrimaryType>nt:version</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
        <childNodeDefinition name="jcr:versionLabels" defaultPrimaryType="nt:versionLabels" autoCreated="true" mandatory="true" onParentVersion="ABORT" protected="true" sameNameSiblings="false">
            <requiredPrimaryTypes>
                <requiredPrimaryType>nt:versionLabels</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
        <childNodeDefinition name="*" defaultPrimaryType="nt:version" autoCreated="false" mandatory="false" onParentVersion="ABORT" protected="true" sameNameSiblings="false">
            <requiredPrimaryTypes>
                <requiredPrimaryType>nt:version</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
    </nodeType>
    <nodeType name="nt:versionLabels" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:base</supertype>
        </supertypes>
        <propertyDefinition name="*" requiredType="Reference" autoCreated="false" mandatory="false" onParentVersion="ABORT" protected="true" multiple="false">
            <valueConstraints>
                <valueConstraint>nt:version</valueConstraint>
            </valueConstraints>
        </propertyDefinition>
    </nodeType>
    <nodeType name="nt:version" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:base</supertype>
            <supertype>mix:referenceable</supertype>
        </supertypes>
        <propertyDefinition name="jcr:created" requiredType="Date" autoCreated="true" mandatory="true" onParentVersion="ABORT" protected="true" multiple="false"/>
        <propertyDefinition name="jcr:predecessors" requiredType="Reference" autoCreated="false" mandatory="false" onParentVersion="ABORT" protected="true" multiple="true">
            <valueConstraints>
                <valueConstraint>nt:version</valueConstraint>
            </valueConstraints>
        </propertyDefinition>
        <propertyDefinition name="jcr:successors" requiredType="Reference" autoCreated="false" mandatory="false" onParentVersion="ABORT" protected="true" multiple="true">
            <valueConstraints>
                <valueConstraint>nt:version</valueConstraint>
            </valueConstraints>
        </propertyDefinition>
        <childNodeDefinition name="jcr:frozenNode" defaultPrimaryType="" autoCreated="false" mandatory="false" onParentVersion="ABORT" protected="true" sameNameSiblings="false">
            <requiredPrimaryTypes>
                <requiredPrimaryType>nt:frozenNode</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
    </nodeType>
    <nodeType name="nt:frozenNode" isMixin="false" hasOrderableChildNodes="true" primaryItemName="">
        <supertypes>
            <supertype>nt:base</supertype>
            <supertype>mix:referenceable</supertype>
        </supertypes>
        <propertyDefinition name="jcr:frozenPrimaryType" requiredType="Name" autoCreated="true" mandatory="true" onParentVersion="ABORT" protected="true" multiple="false"/>
        <propertyDefinition name="jcr:frozenMixinTypes" requiredType="Name" autoCreated="false" mandatory="false" onParentVersion="ABORT" protected="true" multiple="true"/>
        <propertyDefinition name="jcr:frozenUuid" requiredType="String" autoCreated="true" mandatory="true" onParentVersion="ABORT" protected="true" multiple="false"/>
        <propertyDefinition name="*" requiredType="undefined" autoCreated="false" mandatory="false" onParentVersion="ABORT" protected="true" multiple="false"/>
        <propertyDefinition name="*" requiredType="undefined" autoCreated="false" mandatory="false" onParentVersion="ABORT" protected="true" multiple="true"/>
        <childNodeDefinition name="*" defaultPrimaryType="" autoCreated="false" mandatory="false" onParentVersion="ABORT" protected="true" sameNameSiblings="true">
            <requiredPrimaryTypes>
                <requiredPrimaryType>nt:base</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
    </nodeType>
    <nodeType name="nt:versionedChild" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:base</supertype>
        </supertypes>
        <propertyDefinition name="jcr:childVersionHistory" requiredType="Reference" autoCreated="true" mandatory="true" onParentVersion="ABORT" protected="true" multiple="false">
            <valueConstraints>
                <valueConstraint>nt:versionHistory</valueConstraint>
            </valueConstraints>
        </propertyDefinition>
    </nodeType>
    <nodeType name="nt:query" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:base</supertype>
        </supertypes>
        <propertyDefinition name="jcr:statement" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false"/>
        <propertyDefinition name="jcr:language" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false"/>
    </nodeType>

    <!-- mixin types -->
    <nodeType name="mix:lockable" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
        <propertyDefinition name="jcr:lockOwner" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="IGNORE" protected="true" multiple="false"/>
        <propertyDefinition name="jcr:lockIsDeep" requiredType="Boolean" autoCreated="false" mandatory="false" onParentVersion="IGNORE" protected="true" multiple="false"/>
    </nodeType>
    <nodeType name="mix:referenceable" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
        <propertyDefinition name="jcr:uuid" requiredType="String" autoCreated="true" mandatory="true" onParentVersion="INITIALIZE" protected="true" multiple="false"/>
    </nodeType>
    <nodeType name="mix:versionable" isMixin="true" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>mix:referenceable</supertype>
        </supertypes>
        <propertyDefinition name="jcr:versionHistory" requiredType="Reference" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="true" multiple="false">
            <valueConstraints>
                <valueConstraint>nt:versionHistory</valueConstraint>
            </valueConstraints>
        </propertyDefinition>
        <propertyDefinition name="jcr:baseVersion" requiredType="Reference" autoCreated="false" mandatory="true" onParentVersion="IGNORE" protected="true" multiple="false">
            <valueConstraints>
                <valueConstraint>nt:version</valueConstraint>
            </valueConstraints>
        </propertyDefinition>
        <propertyDefinition name="jcr:isCheckedOut" requiredType="Boolean" autoCreated="true" mandatory="true" onParentVersion="IGNORE" protected="true" multiple="false">
            <defaultValues>
                <defaultValue>true</defaultValue>
            </defaultValues>
        </propertyDefinition>
        <propertyDefinition name="jcr:predecessors" requiredType="Reference" autoCreated="false" mandatory="true" onParentVersion="COPY" protected="true" multiple="true">
            <valueConstraints>
                <valueConstraint>nt:version</valueConstraint>
            </valueConstraints>
        </propertyDefinition>
        <propertyDefinition name="jcr:mergeFailed" requiredType="Reference" autoCreated="false" mandatory="false" onParentVersion="ABORT" protected="true" multiple="true" />
    </nodeType>

    <!-- internal node types -->
    <nodeType name="rep:root" isMixin="false" hasOrderableChildNodes="true" primaryItemName="">
        <supertypes>
            <supertype>nt:unstructured</supertype>
        </supertypes>
        <childNodeDefinition name="jcr:system" defaultPrimaryType="rep:system" autoCreated="false" mandatory="true" onParentVersion="IGNORE" protected="false" sameNameSiblings="false">
            <requiredPrimaryTypes>
                <requiredPrimaryType>rep:system</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
    </nodeType>
    <nodeType name="rep:system" isMixin="false" hasOrderableChildNodes="true" primaryItemName="">
        <supertypes>
            <supertype>nt:base</supertype>
        </supertypes>
        <childNodeDefinition name="jcr:versionStorage" defaultPrimaryType="nt:unstructured" autoCreated="false" mandatory="true" onParentVersion="ABORT" protected="true" sameNameSiblings="false">
            <requiredPrimaryTypes>
                <requiredPrimaryType>nt:base</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
        <childNodeDefinition name="*" defaultPrimaryType="nt:unstructured" autoCreated="false" mandatory="false" onParentVersion="IGNORE" protected="false" sameNameSiblings="true">
            <requiredPrimaryTypes>
                <requiredPrimaryType>nt:base</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
    </nodeType>
    <nodeType name="rep:versionStorage" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:base</supertype>
        </supertypes>
        <childNodeDefinition name="*" defaultPrimaryType="nt:versionHistory" autoCreated="false" mandatory="false" onParentVersion="ABORT" protected="true" sameNameSiblings="true">
            <requiredPrimaryTypes>
                <requiredPrimaryType>nt:versionHistory</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
    </nodeType>
    <nodeType name="rep:nodeTypes" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:base</supertype>
        </supertypes>
        <childNodeDefinition name="*" defaultPrimaryType="nt:nodeType" autoCreated="false" mandatory="false" onParentVersion="ABORT" protected="true" sameNameSiblings="false">
            <requiredPrimaryTypes>
                <requiredPrimaryType>nt:nodeType</requiredPrimaryType>
            </requiredPrimaryTypes>
        </childNodeDefinition>
    </nodeType>

    <!-- internal node types for persistent version manager -->
    <nodeType name="rep:versionHistory" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:unstructured</supertype>
        </supertypes>
    </nodeType>
    <nodeType name="rep:versionLabels" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:unstructured</supertype>
        </supertypes>
    </nodeType>
    <nodeType name="rep:version" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
        <supertypes>
            <supertype>nt:unstructured</supertype>
        </supertypes>
    </nodeType>
    <nodeType name="rep:frozen" isMixin="false" hasOrderableChildNodes="true" primaryItemName="">
        <supertypes>
            <supertype>nt:unstructured</supertype>
        </supertypes>
    </nodeType>
    <nodeType name="rep:frozenVersionHistory" isMixin="false" hasOrderableChildNodes="true" primaryItemName="">
        <supertypes>
            <supertype>nt:unstructured</supertype>
        </supertypes>
    </nodeType>

</nodeTypes>

{'fraction_non_alphanumeric': 0.1268945658306905, 'fraction_numerical': 0.0008171683172169582, 'mean_word_length': 4.429748573843228, 'pattern_counts': {'":': 0, '<': 855, '<?xml version=': 2, '>': 855, 'https://': 0, 'lorem ipsum': 0, 'www.': 8, 'xml': 10}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4940231', 'n_tokens_mistral': 13611, 'n_tokens_neox': 13189, 'n_words': 2305}