<?xml version="1.0" encoding="UTF-8"?>
<!-- 
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you 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.
-->
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:alf="http://www.alfresco.org">
<author><name>System</name></author>
<content>d14049b7-e63f-4075-acc2-a4cd5a541f3c</content>
<id>urn:uuid:d14049b7-e63f-4075-acc2-a4cd5a541f3c</id>
<link rel="self" href="http://cmis.alfresco.com:80/s/cmis/s/workspace:SpacesStore/i/d14049b7-e63f-4075-acc2-a4cd5a541f3c"/>
<link rel="edit" href="http://cmis.alfresco.com:80/s/cmis/s/workspace:SpacesStore/i/d14049b7-e63f-4075-acc2-a4cd5a541f3c"/>
<link rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions" href="http://cmis.alfresco.com:80/s/cmis/s/workspace:SpacesStore/i/d14049b7-e63f-4075-acc2-a4cd5a541f3c/allowableactions"/>
<link rel="http://docs.oasis-open.org/ns/cmis/link/200908/relationships" href="http://cmis.alfresco.com:80/s/cmis/s/workspace:SpacesStore/i/d14049b7-e63f-4075-acc2-a4cd5a541f3c/rels"/>
<link rel="down" href="http://cmis.alfresco.com:80/s/cmis/s/workspace:SpacesStore/i/d14049b7-e63f-4075-acc2-a4cd5a541f3c/children" type="application/atom+xml;type=feed"/>
<link rel="down" href="http://cmis.alfresco.com:80/s/cmis/s/workspace:SpacesStore/i/d14049b7-e63f-4075-acc2-a4cd5a541f3c/descendants" type="application/cmistree+xml"/>
<link rel="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree" href="http://cmis.alfresco.com:80/s/cmis/s/workspace:SpacesStore/i/d14049b7-e63f-4075-acc2-a4cd5a541f3c/tree" type="application/cmistree+xml"/>
<link rel="describedby" href="http://cmis.alfresco.com:80/s/cmis/type/cmis:folder"/>
<link rel="service" href="http://cmis.alfresco.com:80/s/cmis"/>
<published>2009-11-03T11:55:39.452Z</published>
<summary>The company root space</summary>
<title>Company Home</title>
<updated>2009-11-03T11:55:39.495Z</updated>
<app:edited>2009-11-03T11:55:39.495Z</app:edited>
<alf:icon>/images/icons/space-icon-default-16.gif</alf:icon>
<cmisra:object>
<cmis:properties>
<cmis:propertyId propertyDefinitionId="cmis:allowedChildObjectTypeIds"/>
<cmis:propertyString propertyDefinitionId="cmis:path"><cmis:value>/</cmis:value></cmis:propertyString>
<cmis:propertyString propertyDefinitionId="cmis:lastModifiedBy"><cmis:value>System</cmis:value></cmis:propertyString>
<cmis:propertyId propertyDefinitionId="cmis:objectTypeId"><cmis:value>cmis:folder</cmis:value></cmis:propertyId>
<cmis:propertyString propertyDefinitionId="cmis:createdBy"><cmis:value>System</cmis:value></cmis:propertyString>
<cmis:propertyString propertyDefinitionId="cmis:name"><cmis:value>Company Home</cmis:value></cmis:propertyString>
<cmis:propertyId propertyDefinitionId="cmis:objectId"><cmis:value>workspace://SpacesStore/d14049b7-e63f-4075-acc2-a4cd5a541f3c</cmis:value></cmis:propertyId>
<cmis:propertyDateTime propertyDefinitionId="cmis:creationDate"><cmis:value>2009-11-03T11:55:39.452Z</cmis:value></cmis:propertyDateTime>
<cmis:propertyString propertyDefinitionId="cmis:changeToken"/>
<cmis:propertyId propertyDefinitionId="cmis:baseTypeId"><cmis:value>cmis:folder</cmis:value></cmis:propertyId>
<cmis:propertyId propertyDefinitionId="cmis:parentId"/>
<cmis:propertyDateTime propertyDefinitionId="cmis:lastModificationDate"><cmis:value>2009-11-03T11:55:39.495Z</cmis:value></cmis:propertyDateTime>
</cmis:properties>
</cmisra:object>
<cmisra:pathSegment>Company Home</cmisra:pathSegment>
</entry>
