JBoss ModeShape CMIS 服务器有几个相同的存储库 <cmis:repositoryId>
JBoss ModeShape CMIS server has several repositories with the same <cmis:repositoryId>
我刚刚偶然发现了 ModeShape 服务器对 getRepositories
的响应:
<?xml version='1.0' encoding='UTF-8'?>
<app:service xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/"
xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"
xmlns:app="http://www.w3.org/2007/app">
<app:workspace>
<atom:title>sample</atom:title>
<app:collection href="http://server:32771/modeshape-cmis/atom/sample/children?id=%5Broot%5D">
<cmisra:collectionType>root</cmisra:collectionType>
<atom:title type="text">Root Collection</atom:title>
<app:accept>application/atom+xml;type=entry</app:accept>
<app:accept>application/cmisatom+xml</app:accept>
</app:collection>
<app:collection href="http://server:32771/modeshape-cmis/atom/sample/types">
<cmisra:collectionType>types</cmisra:collectionType>
<atom:title type="text">Types Collection</atom:title>
<app:accept></app:accept>
</app:collection>
<app:collection href="http://server:32771/modeshape-cmis/atom/sample/query">
<cmisra:collectionType>query</cmisra:collectionType>
<atom:title type="text">Query Collection</atom:title>
<app:accept>application/cmisquery+xml</app:accept>
</app:collection>
<app:collection href="http://server:32771/modeshape-cmis/atom/sample/checkedout">
<cmisra:collectionType>checkedout</cmisra:collectionType>
<atom:title type="text">Checked Out Collection</atom:title>
<app:accept>application/cmisatom+xml</app:accept>
</app:collection>
<app:collection href="http://server:32771/modeshape-cmis/atom/sample/update">
<cmisra:collectionType>update</cmisra:collectionType>
<atom:title type="text">Bulk Update Collection</atom:title>
<app:accept>application/cmisatom+xml</app:accept>
</app:collection>
<cmisra:repositoryInfo>
<cmis:repositoryId>sample</cmis:repositoryId>
<cmis:repositoryName>ModeShape</cmis:repositoryName>
<cmis:repositoryDescription>
jcr.repository.name=ModeShape
option.versioning.supported=true
option.query.sql.supported=true
node.type.management.multivalued.properties.supported=true
node.type.management.overrides.supported=true
level.1.supported=true
jcr.specification.version=2.0
node.type.management.update.in.use.suported=true
query.full.text.search.supported=true
option.lifecycle.supported=false
option.node.and.property.with.same.name.supported=true
option.retention.supported=false
option.node.type.management.supported=true
identifier.stability=identifier.stability.indefinite.duration
option.simple.versioning.supported=false
query.stored.queries.supported=true
node.type.management.orderable.child.nodes.supported=true
jcr.specification.name=Content Repository for Java Technology API
option.unfiled.content.supported=false
option.baselines.supported=false
node.type.management.primary.item.name.supported=true
level.2.supported=true
option.activities.supported=false
node.type.management.multiple.binary.properties.supported=true
query.languages=null
option.transactions.supported=true
option.locking.supported=true
custom.rep.workspace.names=null
query.xpath.pos.index=false
option.update.mixin.node.types.supported=true
query.joins=query.joins.inner.outer
option.update.primary.node.type.supported=true
jcr.repository.version=4.3.0.Final
option.journaled.observation.supported=false
option.access.control.supported=true
node.type.management.value.constraints.supported=true
option.shareable.nodes.supported=true
custom.rep.name=sample
option.workspace.management.supported=true
write.supported=true
query.xpath.doc.order=false
node.type.management.autocreated.definitions.supported=true
option.observation.supported=true
node.type.management.residual.definitions.supported=true
jcr.repository.vendor=JBoss, a division of Red Hat
option.xml.export.supported=true
node.type.management.property.types=true
node.type.management.inheritance=node.type.management.inheritance.multiple
option.xml.import.supported=true
node.type.management.same.name.siblings.supported=true
jcr.repository.vendor.url=http://www.modeshape.org
</cmis:repositoryDescription>
<cmis:vendorName>OpenCMIS</cmis:vendorName>
<cmis:productName>OpenCMIS JCR</cmis:productName>
<cmis:productVersion>0.3</cmis:productVersion>
<cmis:rootFolderId>[root]</cmis:rootFolderId>
<cmis:capabilities>
<cmis:capabilityACL>none</cmis:capabilityACL>
<cmis:capabilityAllVersionsSearchable>false</cmis:capabilityAllVersionsSearchable>
<cmis:capabilityChanges>objectidsonly</cmis:capabilityChanges>
<cmis:capabilityContentStreamUpdatability>anytime</cmis:capabilityContentStreamUpdatability>
<cmis:capabilityGetDescendants>true</cmis:capabilityGetDescendants>
<cmis:capabilityGetFolderTree>true</cmis:capabilityGetFolderTree>
<cmis:capabilityMultifiling>false</cmis:capabilityMultifiling>
<cmis:capabilityPWCSearchable>false</cmis:capabilityPWCSearchable>
<cmis:capabilityPWCUpdatable>true</cmis:capabilityPWCUpdatable>
<cmis:capabilityQuery>bothcombined</cmis:capabilityQuery>
<cmis:capabilityRenditions>none</cmis:capabilityRenditions>
<cmis:capabilityUnfiling>false</cmis:capabilityUnfiling>
<cmis:capabilityVersionSpecificFiling>false</cmis:capabilityVersionSpecificFiling>
<cmis:capabilityJoin>none</cmis:capabilityJoin>
</cmis:capabilities>
<cmis:cmisVersionSupported>1.0</cmis:cmisVersionSupported>
<cmis:thinClientURI></cmis:thinClientURI>
</cmisra:repositoryInfo>
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/typedescendants" href="http://server:32771/modeshape-cmis/atom/sample/typedesc" type="application/atom+xml;type=feed"/>
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree" href="http://server:32771/modeshape-cmis/atom/sample/foldertree?id=%5Broot%5D" type="application/cmistree+xml"/>
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/rootdescendants" href="http://server:32771/modeshape-cmis/atom/sample/descendants?id=%5Broot%5D" type="application/cmistree+xml" cmisra:id="[root]"/>
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/changes" href="http://server:32771/modeshape-cmis/atom/sample/changes" type="application/atom+xml;type=feed"/>
<cmisra:uritemplate>
<cmisra:template>http://server:32771/modeshape-cmis/atom/sample/id?id={id}&filter={filter}&includeAllowableActions={includeAllowableActions}&includeACL={includeACL}&includePolicyIds={includePolicyIds}&includeRelationships={includeRelationships}&renditionFilter={renditionFilter}</cmisra:template>
<cmisra:type>objectbyid</cmisra:type>
<cmisra:mediatype>application/atom+xml;type=entry</cmisra:mediatype>
</cmisra:uritemplate>
<cmisra:uritemplate>
<cmisra:template>http://server:32771/modeshape-cmis/atom/sample/path?path={path}&filter={filter}&includeAllowableActions={includeAllowableActions}&includeACL={includeACL}&includePolicyIds={includePolicyIds}&includeRelationships={includeRelationships}&renditionFilter={renditionFilter}</cmisra:template>
<cmisra:type>objectbypath</cmisra:type>
<cmisra:mediatype>application/atom+xml;type=entry</cmisra:mediatype>
</cmisra:uritemplate>
<cmisra:uritemplate>
<cmisra:template>http://server:32771/modeshape-cmis/atom/sample/type?id={id}</cmisra:template>
<cmisra:type>typebyid</cmisra:type>
<cmisra:mediatype>application/atom+xml;type=entry</cmisra:mediatype>
</cmisra:uritemplate>
<cmisra:uritemplate>
<cmisra:template>http://server:32771/modeshape-cmis/atom/sample/query?q={q}&searchAllVersions={searchAllVersions}&includeAllowableActions={includeAllowableActions}&includeRelationships={includeRelationships}&maxItems={maxItems}&skipCount={skipCount}</cmisra:template>
<cmisra:type>query</cmisra:type>
<cmisra:mediatype>application/atom+xml;type=feed</cmisra:mediatype>
</cmisra:uritemplate>
</app:workspace>
<app:workspace>
<atom:title>artifacts</atom:title>
<app:collection href="http://server:32771/modeshape-cmis/atom/artifacts/children?id=%5Broot%5D">
<cmisra:collectionType>root</cmisra:collectionType>
<atom:title type="text">Root Collection</atom:title>
<app:accept>application/atom+xml;type=entry</app:accept>
<app:accept>application/cmisatom+xml</app:accept>
</app:collection>
<app:collection href="http://server:32771/modeshape-cmis/atom/artifacts/types">
<cmisra:collectionType>types</cmisra:collectionType>
<atom:title type="text">Types Collection</atom:title>
<app:accept></app:accept>
</app:collection>
<app:collection href="http://server:32771/modeshape-cmis/atom/artifacts/query">
<cmisra:collectionType>query</cmisra:collectionType>
<atom:title type="text">Query Collection</atom:title>
<app:accept>application/cmisquery+xml</app:accept>
</app:collection>
<app:collection href="http://server:32771/modeshape-cmis/atom/artifacts/checkedout">
<cmisra:collectionType>checkedout</cmisra:collectionType>
<atom:title type="text">Checked Out Collection</atom:title>
<app:accept>application/cmisatom+xml</app:accept>
</app:collection>
<app:collection href="http://server:32771/modeshape-cmis/atom/artifacts/update">
<cmisra:collectionType>update</cmisra:collectionType>
<atom:title type="text">Bulk Update Collection</atom:title>
<app:accept>application/cmisatom+xml</app:accept>
</app:collection>
<cmisra:repositoryInfo>
<cmis:repositoryId>artifacts</cmis:repositoryId>
<cmis:repositoryName>ModeShape</cmis:repositoryName>
<cmis:repositoryDescription>
jcr.repository.name=ModeShape
option.versioning.supported=true
option.query.sql.supported=true
node.type.management.multivalued.properties.supported=true
node.type.management.overrides.supported=true
level.1.supported=true
jcr.specification.version=2.0
node.type.management.update.in.use.suported=true
query.full.text.search.supported=true
option.lifecycle.supported=false
option.node.and.property.with.same.name.supported=true
option.retention.supported=false
option.node.type.management.supported=true
identifier.stability=identifier.stability.indefinite.duration
option.simple.versioning.supported=false
query.stored.queries.supported=true
node.type.management.orderable.child.nodes.supported=true
jcr.specification.name=Content Repository for Java Technology API
option.unfiled.content.supported=false
option.baselines.supported=false
node.type.management.primary.item.name.supported=true
level.2.supported=true
option.activities.supported=false
node.type.management.multiple.binary.properties.supported=true
query.languages=null
option.transactions.supported=true
option.locking.supported=true
custom.rep.workspace.names=null
query.xpath.pos.index=false
option.update.mixin.node.types.supported=true
query.joins=query.joins.inner.outer
option.update.primary.node.type.supported=true
jcr.repository.version=4.3.0.Final
option.journaled.observation.supported=false
option.access.control.supported=true
node.type.management.value.constraints.supported=true
option.shareable.nodes.supported=true
custom.rep.name=artifacts
option.workspace.management.supported=true
write.supported=true
query.xpath.doc.order=false
node.type.management.autocreated.definitions.supported=true
option.observation.supported=true
node.type.management.residual.definitions.supported=true
jcr.repository.vendor=JBoss, a division of Red Hat
option.xml.export.supported=true
node.type.management.property.types=true
node.type.management.inheritance=node.type.management.inheritance.multiple
option.xml.import.supported=true
node.type.management.same.name.siblings.supported=true
jcr.repository.vendor.url=http://www.modeshape.org
</cmis:repositoryDescription>
<cmis:vendorName>OpenCMIS</cmis:vendorName>
<cmis:productName>OpenCMIS JCR</cmis:productName>
<cmis:productVersion>0.3</cmis:productVersion>
<cmis:rootFolderId>[root]</cmis:rootFolderId>
<cmis:capabilities>
<cmis:capabilityACL>none</cmis:capabilityACL>
<cmis:capabilityAllVersionsSearchable>false</cmis:capabilityAllVersionsSearchable>
<cmis:capabilityChanges>objectidsonly</cmis:capabilityChanges>
<cmis:capabilityContentStreamUpdatability>anytime</cmis:capabilityContentStreamUpdatability>
<cmis:capabilityGetDescendants>true</cmis:capabilityGetDescendants>
<cmis:capabilityGetFolderTree>true</cmis:capabilityGetFolderTree>
<cmis:capabilityMultifiling>false</cmis:capabilityMultifiling>
<cmis:capabilityPWCSearchable>false</cmis:capabilityPWCSearchable>
<cmis:capabilityPWCUpdatable>true</cmis:capabilityPWCUpdatable>
<cmis:capabilityQuery>bothcombined</cmis:capabilityQuery>
<cmis:capabilityRenditions>none</cmis:capabilityRenditions>
<cmis:capabilityUnfiling>false</cmis:capabilityUnfiling>
<cmis:capabilityVersionSpecificFiling>false</cmis:capabilityVersionSpecificFiling>
<cmis:capabilityJoin>none</cmis:capabilityJoin>
</cmis:capabilities>
<cmis:cmisVersionSupported>1.0</cmis:cmisVersionSupported>
<cmis:thinClientURI></cmis:thinClientURI>
</cmisra:repositoryInfo>
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/typedescendants" href="http://server:32771/modeshape-cmis/atom/artifacts/typedesc" type="application/atom+xml;type=feed"/>
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree" href="http://server:32771/modeshape-cmis/atom/artifacts/foldertree?id=%5Broot%5D" type="application/cmistree+xml"/>
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/rootdescendants" href="http://server:32771/modeshape-cmis/atom/artifacts/descendants?id=%5Broot%5D" type="application/cmistree+xml" cmisra:id="[root]"/>
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/changes" href="http://server:32771/modeshape-cmis/atom/artifacts/changes" type="application/atom+xml;type=feed"/>
<cmisra:uritemplate>
<cmisra:template>http://server:32771/modeshape-cmis/atom/artifacts/id?id={id}&filter={filter}&includeAllowableActions={includeAllowableActions}&includeACL={includeACL}&includePolicyIds={includePolicyIds}&includeRelationships={includeRelationships}&renditionFilter={renditionFilter}</cmisra:template>
<cmisra:type>objectbyid</cmisra:type>
<cmisra:mediatype>application/atom+xml;type=entry</cmisra:mediatype>
</cmisra:uritemplate>
<cmisra:uritemplate>
<cmisra:template>http://server:32771/modeshape-cmis/atom/artifacts/path?path={path}&filter={filter}&includeAllowableActions={includeAllowableActions}&includeACL={includeACL}&includePolicyIds={includePolicyIds}&includeRelationships={includeRelationships}&renditionFilter={renditionFilter}</cmisra:template>
<cmisra:type>objectbypath</cmisra:type>
<cmisra:mediatype>application/atom+xml;type=entry</cmisra:mediatype>
</cmisra:uritemplate>
<cmisra:uritemplate>
<cmisra:template>http://server:32771/modeshape-cmis/atom/artifacts/type?id={id}</cmisra:template>
<cmisra:type>typebyid</cmisra:type>
<cmisra:mediatype>application/atom+xml;type=entry</cmisra:mediatype>
</cmisra:uritemplate>
<cmisra:uritemplate>
<cmisra:template>http://server:32771/modeshape-cmis/atom/artifacts/query?q={q}&searchAllVersions={searchAllVersions}&includeAllowableActions={includeAllowableActions}&includeRelationships={includeRelationships}&maxItems={maxItems}&skipCount={skipCount}</cmisra:template>
<cmisra:type>query</cmisra:type>
<cmisra:mediatype>application/atom+xml;type=feed</cmisra:mediatype>
</cmisra:uritemplate>
</app:workspace>
<app:workspace>
<atom:title>artifacts</atom:title>
<app:collection href="http://server:32771/modeshape-cmis/atom/artifacts/children?id=%5Broot%5D">
<cmisra:collectionType>root</cmisra:collectionType>
<atom:title type="text">Root Collection</atom:title>
<app:accept>application/atom+xml;type=entry</app:accept>
<app:accept>application/cmisatom+xml</app:accept>
</app:collection>
<app:collection href="http://server:32771/modeshape-cmis/atom/artifacts/types">
<cmisra:collectionType>types</cmisra:collectionType>
<atom:title type="text">Types Collection</atom:title>
<app:accept></app:accept>
</app:collection>
<app:collection href="http://server:32771/modeshape-cmis/atom/artifacts/query">
<cmisra:collectionType>query</cmisra:collectionType>
<atom:title type="text">Query Collection</atom:title>
<app:accept>application/cmisquery+xml</app:accept>
</app:collection>
<app:collection href="http://server:32771/modeshape-cmis/atom/artifacts/checkedout">
<cmisra:collectionType>checkedout</cmisra:collectionType>
<atom:title type="text">Checked Out Collection</atom:title>
<app:accept>application/cmisatom+xml</app:accept>
</app:collection>
<app:collection href="http://server:32771/modeshape-cmis/atom/artifacts/update">
<cmisra:collectionType>update</cmisra:collectionType>
<atom:title type="text">Bulk Update Collection</atom:title>
<app:accept>application/cmisatom+xml</app:accept>
</app:collection>
<cmisra:repositoryInfo>
<cmis:repositoryId>artifacts</cmis:repositoryId>
<cmis:repositoryName>ModeShape</cmis:repositoryName>
<cmis:repositoryDescription>
jcr.repository.name=ModeShape
option.versioning.supported=true
option.query.sql.supported=true
node.type.management.multivalued.properties.supported=true
node.type.management.overrides.supported=true
level.1.supported=true
jcr.specification.version=2.0
node.type.management.update.in.use.suported=true
query.full.text.search.supported=true
option.lifecycle.supported=false
option.node.and.property.with.same.name.supported=true
option.retention.supported=false
option.node.type.management.supported=true
identifier.stability=identifier.stability.indefinite.duration
option.simple.versioning.supported=false
query.stored.queries.supported=true
node.type.management.orderable.child.nodes.supported=true
jcr.specification.name=Content Repository for Java Technology API
option.unfiled.content.supported=false
option.baselines.supported=false
node.type.management.primary.item.name.supported=true
level.2.supported=true
option.activities.supported=false
node.type.management.multiple.binary.properties.supported=true
query.languages=null
option.transactions.supported=true
option.locking.supported=true
custom.rep.workspace.names=null
query.xpath.pos.index=false
option.update.mixin.node.types.supported=true
query.joins=query.joins.inner.outer
option.update.primary.node.type.supported=true
jcr.repository.version=4.3.0.Final
option.journaled.observation.supported=false
option.access.control.supported=true
node.type.management.value.constraints.supported=true
option.shareable.nodes.supported=true
custom.rep.name=artifacts
option.workspace.management.supported=true
write.supported=true
query.xpath.doc.order=false
node.type.management.autocreated.definitions.supported=true
option.observation.supported=true
node.type.management.residual.definitions.supported=true
jcr.repository.vendor=JBoss, a division of Red Hat
option.xml.export.supported=true
node.type.management.property.types=true
node.type.management.inheritance=node.type.management.inheritance.multiple
option.xml.import.supported=true
node.type.management.same.name.siblings.supported=true
jcr.repository.vendor.url=http://www.modeshape.org
</cmis:repositoryDescription>
<cmis:vendorName>OpenCMIS</cmis:vendorName>
<cmis:productName>OpenCMIS JCR</cmis:productName>
<cmis:productVersion>0.3</cmis:productVersion>
<cmis:rootFolderId>[root]</cmis:rootFolderId>
<cmis:capabilities>
<cmis:capabilityACL>none</cmis:capabilityACL>
<cmis:capabilityAllVersionsSearchable>false</cmis:capabilityAllVersionsSearchable>
<cmis:capabilityChanges>objectidsonly</cmis:capabilityChanges>
<cmis:capabilityContentStreamUpdatability>anytime</cmis:capabilityContentStreamUpdatability>
<cmis:capabilityGetDescendants>true</cmis:capabilityGetDescendants>
<cmis:capabilityGetFolderTree>true</cmis:capabilityGetFolderTree>
<cmis:capabilityMultifiling>false</cmis:capabilityMultifiling>
<cmis:capabilityPWCSearchable>false</cmis:capabilityPWCSearchable>
<cmis:capabilityPWCUpdatable>true</cmis:capabilityPWCUpdatable>
<cmis:capabilityQuery>bothcombined</cmis:capabilityQuery>
<cmis:capabilityRenditions>none</cmis:capabilityRenditions>
<cmis:capabilityUnfiling>false</cmis:capabilityUnfiling>
<cmis:capabilityVersionSpecificFiling>false</cmis:capabilityVersionSpecificFiling>
<cmis:capabilityJoin>none</cmis:capabilityJoin>
</cmis:capabilities>
<cmis:cmisVersionSupported>1.0</cmis:cmisVersionSupported>
<cmis:thinClientURI></cmis:thinClientURI>
</cmisra:repositoryInfo>
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/typedescendants" href="http://server:32771/modeshape-cmis/atom/artifacts/typedesc" type="application/atom+xml;type=feed"/>
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree" href="http://server:32771/modeshape-cmis/atom/artifacts/foldertree?id=%5Broot%5D" type="application/cmistree+xml"/>
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/rootdescendants" href="http://server:32771/modeshape-cmis/atom/artifacts/descendants?id=%5Broot%5D" type="application/cmistree+xml" cmisra:id="[root]"/>
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/changes" href="http://server:32771/modeshape-cmis/atom/artifacts/changes" type="application/atom+xml;type=feed"/>
<cmisra:uritemplate>
[Truncated]
CMIS 1.1 规范允许这样做吗?
如果是,如何区分具有相同id的两个存储库?
The service link relation when provided on a CMIS resource MUST point to an AtomPub service document with only one workspace element.
That AtomPub service document MUST then only contain one workspace element which MUST be the workspace representing the repository containing the Atom Entry or Atom Feed document.
The service document MUST contain only one workspace element.
规范的其余部分总是谈到使用单数(从不复数)来表示“工作区元素”。
因此,我猜测这是 ModeShape 中的 CMIS 实现错误。
我刚刚偶然发现了 ModeShape 服务器对 getRepositories
的响应:
<?xml version='1.0' encoding='UTF-8'?>
<app:service xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/"
xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"
xmlns:app="http://www.w3.org/2007/app">
<app:workspace>
<atom:title>sample</atom:title>
<app:collection href="http://server:32771/modeshape-cmis/atom/sample/children?id=%5Broot%5D">
<cmisra:collectionType>root</cmisra:collectionType>
<atom:title type="text">Root Collection</atom:title>
<app:accept>application/atom+xml;type=entry</app:accept>
<app:accept>application/cmisatom+xml</app:accept>
</app:collection>
<app:collection href="http://server:32771/modeshape-cmis/atom/sample/types">
<cmisra:collectionType>types</cmisra:collectionType>
<atom:title type="text">Types Collection</atom:title>
<app:accept></app:accept>
</app:collection>
<app:collection href="http://server:32771/modeshape-cmis/atom/sample/query">
<cmisra:collectionType>query</cmisra:collectionType>
<atom:title type="text">Query Collection</atom:title>
<app:accept>application/cmisquery+xml</app:accept>
</app:collection>
<app:collection href="http://server:32771/modeshape-cmis/atom/sample/checkedout">
<cmisra:collectionType>checkedout</cmisra:collectionType>
<atom:title type="text">Checked Out Collection</atom:title>
<app:accept>application/cmisatom+xml</app:accept>
</app:collection>
<app:collection href="http://server:32771/modeshape-cmis/atom/sample/update">
<cmisra:collectionType>update</cmisra:collectionType>
<atom:title type="text">Bulk Update Collection</atom:title>
<app:accept>application/cmisatom+xml</app:accept>
</app:collection>
<cmisra:repositoryInfo>
<cmis:repositoryId>sample</cmis:repositoryId>
<cmis:repositoryName>ModeShape</cmis:repositoryName>
<cmis:repositoryDescription>
jcr.repository.name=ModeShape
option.versioning.supported=true
option.query.sql.supported=true
node.type.management.multivalued.properties.supported=true
node.type.management.overrides.supported=true
level.1.supported=true
jcr.specification.version=2.0
node.type.management.update.in.use.suported=true
query.full.text.search.supported=true
option.lifecycle.supported=false
option.node.and.property.with.same.name.supported=true
option.retention.supported=false
option.node.type.management.supported=true
identifier.stability=identifier.stability.indefinite.duration
option.simple.versioning.supported=false
query.stored.queries.supported=true
node.type.management.orderable.child.nodes.supported=true
jcr.specification.name=Content Repository for Java Technology API
option.unfiled.content.supported=false
option.baselines.supported=false
node.type.management.primary.item.name.supported=true
level.2.supported=true
option.activities.supported=false
node.type.management.multiple.binary.properties.supported=true
query.languages=null
option.transactions.supported=true
option.locking.supported=true
custom.rep.workspace.names=null
query.xpath.pos.index=false
option.update.mixin.node.types.supported=true
query.joins=query.joins.inner.outer
option.update.primary.node.type.supported=true
jcr.repository.version=4.3.0.Final
option.journaled.observation.supported=false
option.access.control.supported=true
node.type.management.value.constraints.supported=true
option.shareable.nodes.supported=true
custom.rep.name=sample
option.workspace.management.supported=true
write.supported=true
query.xpath.doc.order=false
node.type.management.autocreated.definitions.supported=true
option.observation.supported=true
node.type.management.residual.definitions.supported=true
jcr.repository.vendor=JBoss, a division of Red Hat
option.xml.export.supported=true
node.type.management.property.types=true
node.type.management.inheritance=node.type.management.inheritance.multiple
option.xml.import.supported=true
node.type.management.same.name.siblings.supported=true
jcr.repository.vendor.url=http://www.modeshape.org
</cmis:repositoryDescription>
<cmis:vendorName>OpenCMIS</cmis:vendorName>
<cmis:productName>OpenCMIS JCR</cmis:productName>
<cmis:productVersion>0.3</cmis:productVersion>
<cmis:rootFolderId>[root]</cmis:rootFolderId>
<cmis:capabilities>
<cmis:capabilityACL>none</cmis:capabilityACL>
<cmis:capabilityAllVersionsSearchable>false</cmis:capabilityAllVersionsSearchable>
<cmis:capabilityChanges>objectidsonly</cmis:capabilityChanges>
<cmis:capabilityContentStreamUpdatability>anytime</cmis:capabilityContentStreamUpdatability>
<cmis:capabilityGetDescendants>true</cmis:capabilityGetDescendants>
<cmis:capabilityGetFolderTree>true</cmis:capabilityGetFolderTree>
<cmis:capabilityMultifiling>false</cmis:capabilityMultifiling>
<cmis:capabilityPWCSearchable>false</cmis:capabilityPWCSearchable>
<cmis:capabilityPWCUpdatable>true</cmis:capabilityPWCUpdatable>
<cmis:capabilityQuery>bothcombined</cmis:capabilityQuery>
<cmis:capabilityRenditions>none</cmis:capabilityRenditions>
<cmis:capabilityUnfiling>false</cmis:capabilityUnfiling>
<cmis:capabilityVersionSpecificFiling>false</cmis:capabilityVersionSpecificFiling>
<cmis:capabilityJoin>none</cmis:capabilityJoin>
</cmis:capabilities>
<cmis:cmisVersionSupported>1.0</cmis:cmisVersionSupported>
<cmis:thinClientURI></cmis:thinClientURI>
</cmisra:repositoryInfo>
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/typedescendants" href="http://server:32771/modeshape-cmis/atom/sample/typedesc" type="application/atom+xml;type=feed"/>
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree" href="http://server:32771/modeshape-cmis/atom/sample/foldertree?id=%5Broot%5D" type="application/cmistree+xml"/>
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/rootdescendants" href="http://server:32771/modeshape-cmis/atom/sample/descendants?id=%5Broot%5D" type="application/cmistree+xml" cmisra:id="[root]"/>
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/changes" href="http://server:32771/modeshape-cmis/atom/sample/changes" type="application/atom+xml;type=feed"/>
<cmisra:uritemplate>
<cmisra:template>http://server:32771/modeshape-cmis/atom/sample/id?id={id}&filter={filter}&includeAllowableActions={includeAllowableActions}&includeACL={includeACL}&includePolicyIds={includePolicyIds}&includeRelationships={includeRelationships}&renditionFilter={renditionFilter}</cmisra:template>
<cmisra:type>objectbyid</cmisra:type>
<cmisra:mediatype>application/atom+xml;type=entry</cmisra:mediatype>
</cmisra:uritemplate>
<cmisra:uritemplate>
<cmisra:template>http://server:32771/modeshape-cmis/atom/sample/path?path={path}&filter={filter}&includeAllowableActions={includeAllowableActions}&includeACL={includeACL}&includePolicyIds={includePolicyIds}&includeRelationships={includeRelationships}&renditionFilter={renditionFilter}</cmisra:template>
<cmisra:type>objectbypath</cmisra:type>
<cmisra:mediatype>application/atom+xml;type=entry</cmisra:mediatype>
</cmisra:uritemplate>
<cmisra:uritemplate>
<cmisra:template>http://server:32771/modeshape-cmis/atom/sample/type?id={id}</cmisra:template>
<cmisra:type>typebyid</cmisra:type>
<cmisra:mediatype>application/atom+xml;type=entry</cmisra:mediatype>
</cmisra:uritemplate>
<cmisra:uritemplate>
<cmisra:template>http://server:32771/modeshape-cmis/atom/sample/query?q={q}&searchAllVersions={searchAllVersions}&includeAllowableActions={includeAllowableActions}&includeRelationships={includeRelationships}&maxItems={maxItems}&skipCount={skipCount}</cmisra:template>
<cmisra:type>query</cmisra:type>
<cmisra:mediatype>application/atom+xml;type=feed</cmisra:mediatype>
</cmisra:uritemplate>
</app:workspace>
<app:workspace>
<atom:title>artifacts</atom:title>
<app:collection href="http://server:32771/modeshape-cmis/atom/artifacts/children?id=%5Broot%5D">
<cmisra:collectionType>root</cmisra:collectionType>
<atom:title type="text">Root Collection</atom:title>
<app:accept>application/atom+xml;type=entry</app:accept>
<app:accept>application/cmisatom+xml</app:accept>
</app:collection>
<app:collection href="http://server:32771/modeshape-cmis/atom/artifacts/types">
<cmisra:collectionType>types</cmisra:collectionType>
<atom:title type="text">Types Collection</atom:title>
<app:accept></app:accept>
</app:collection>
<app:collection href="http://server:32771/modeshape-cmis/atom/artifacts/query">
<cmisra:collectionType>query</cmisra:collectionType>
<atom:title type="text">Query Collection</atom:title>
<app:accept>application/cmisquery+xml</app:accept>
</app:collection>
<app:collection href="http://server:32771/modeshape-cmis/atom/artifacts/checkedout">
<cmisra:collectionType>checkedout</cmisra:collectionType>
<atom:title type="text">Checked Out Collection</atom:title>
<app:accept>application/cmisatom+xml</app:accept>
</app:collection>
<app:collection href="http://server:32771/modeshape-cmis/atom/artifacts/update">
<cmisra:collectionType>update</cmisra:collectionType>
<atom:title type="text">Bulk Update Collection</atom:title>
<app:accept>application/cmisatom+xml</app:accept>
</app:collection>
<cmisra:repositoryInfo>
<cmis:repositoryId>artifacts</cmis:repositoryId>
<cmis:repositoryName>ModeShape</cmis:repositoryName>
<cmis:repositoryDescription>
jcr.repository.name=ModeShape
option.versioning.supported=true
option.query.sql.supported=true
node.type.management.multivalued.properties.supported=true
node.type.management.overrides.supported=true
level.1.supported=true
jcr.specification.version=2.0
node.type.management.update.in.use.suported=true
query.full.text.search.supported=true
option.lifecycle.supported=false
option.node.and.property.with.same.name.supported=true
option.retention.supported=false
option.node.type.management.supported=true
identifier.stability=identifier.stability.indefinite.duration
option.simple.versioning.supported=false
query.stored.queries.supported=true
node.type.management.orderable.child.nodes.supported=true
jcr.specification.name=Content Repository for Java Technology API
option.unfiled.content.supported=false
option.baselines.supported=false
node.type.management.primary.item.name.supported=true
level.2.supported=true
option.activities.supported=false
node.type.management.multiple.binary.properties.supported=true
query.languages=null
option.transactions.supported=true
option.locking.supported=true
custom.rep.workspace.names=null
query.xpath.pos.index=false
option.update.mixin.node.types.supported=true
query.joins=query.joins.inner.outer
option.update.primary.node.type.supported=true
jcr.repository.version=4.3.0.Final
option.journaled.observation.supported=false
option.access.control.supported=true
node.type.management.value.constraints.supported=true
option.shareable.nodes.supported=true
custom.rep.name=artifacts
option.workspace.management.supported=true
write.supported=true
query.xpath.doc.order=false
node.type.management.autocreated.definitions.supported=true
option.observation.supported=true
node.type.management.residual.definitions.supported=true
jcr.repository.vendor=JBoss, a division of Red Hat
option.xml.export.supported=true
node.type.management.property.types=true
node.type.management.inheritance=node.type.management.inheritance.multiple
option.xml.import.supported=true
node.type.management.same.name.siblings.supported=true
jcr.repository.vendor.url=http://www.modeshape.org
</cmis:repositoryDescription>
<cmis:vendorName>OpenCMIS</cmis:vendorName>
<cmis:productName>OpenCMIS JCR</cmis:productName>
<cmis:productVersion>0.3</cmis:productVersion>
<cmis:rootFolderId>[root]</cmis:rootFolderId>
<cmis:capabilities>
<cmis:capabilityACL>none</cmis:capabilityACL>
<cmis:capabilityAllVersionsSearchable>false</cmis:capabilityAllVersionsSearchable>
<cmis:capabilityChanges>objectidsonly</cmis:capabilityChanges>
<cmis:capabilityContentStreamUpdatability>anytime</cmis:capabilityContentStreamUpdatability>
<cmis:capabilityGetDescendants>true</cmis:capabilityGetDescendants>
<cmis:capabilityGetFolderTree>true</cmis:capabilityGetFolderTree>
<cmis:capabilityMultifiling>false</cmis:capabilityMultifiling>
<cmis:capabilityPWCSearchable>false</cmis:capabilityPWCSearchable>
<cmis:capabilityPWCUpdatable>true</cmis:capabilityPWCUpdatable>
<cmis:capabilityQuery>bothcombined</cmis:capabilityQuery>
<cmis:capabilityRenditions>none</cmis:capabilityRenditions>
<cmis:capabilityUnfiling>false</cmis:capabilityUnfiling>
<cmis:capabilityVersionSpecificFiling>false</cmis:capabilityVersionSpecificFiling>
<cmis:capabilityJoin>none</cmis:capabilityJoin>
</cmis:capabilities>
<cmis:cmisVersionSupported>1.0</cmis:cmisVersionSupported>
<cmis:thinClientURI></cmis:thinClientURI>
</cmisra:repositoryInfo>
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/typedescendants" href="http://server:32771/modeshape-cmis/atom/artifacts/typedesc" type="application/atom+xml;type=feed"/>
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree" href="http://server:32771/modeshape-cmis/atom/artifacts/foldertree?id=%5Broot%5D" type="application/cmistree+xml"/>
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/rootdescendants" href="http://server:32771/modeshape-cmis/atom/artifacts/descendants?id=%5Broot%5D" type="application/cmistree+xml" cmisra:id="[root]"/>
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/changes" href="http://server:32771/modeshape-cmis/atom/artifacts/changes" type="application/atom+xml;type=feed"/>
<cmisra:uritemplate>
<cmisra:template>http://server:32771/modeshape-cmis/atom/artifacts/id?id={id}&filter={filter}&includeAllowableActions={includeAllowableActions}&includeACL={includeACL}&includePolicyIds={includePolicyIds}&includeRelationships={includeRelationships}&renditionFilter={renditionFilter}</cmisra:template>
<cmisra:type>objectbyid</cmisra:type>
<cmisra:mediatype>application/atom+xml;type=entry</cmisra:mediatype>
</cmisra:uritemplate>
<cmisra:uritemplate>
<cmisra:template>http://server:32771/modeshape-cmis/atom/artifacts/path?path={path}&filter={filter}&includeAllowableActions={includeAllowableActions}&includeACL={includeACL}&includePolicyIds={includePolicyIds}&includeRelationships={includeRelationships}&renditionFilter={renditionFilter}</cmisra:template>
<cmisra:type>objectbypath</cmisra:type>
<cmisra:mediatype>application/atom+xml;type=entry</cmisra:mediatype>
</cmisra:uritemplate>
<cmisra:uritemplate>
<cmisra:template>http://server:32771/modeshape-cmis/atom/artifacts/type?id={id}</cmisra:template>
<cmisra:type>typebyid</cmisra:type>
<cmisra:mediatype>application/atom+xml;type=entry</cmisra:mediatype>
</cmisra:uritemplate>
<cmisra:uritemplate>
<cmisra:template>http://server:32771/modeshape-cmis/atom/artifacts/query?q={q}&searchAllVersions={searchAllVersions}&includeAllowableActions={includeAllowableActions}&includeRelationships={includeRelationships}&maxItems={maxItems}&skipCount={skipCount}</cmisra:template>
<cmisra:type>query</cmisra:type>
<cmisra:mediatype>application/atom+xml;type=feed</cmisra:mediatype>
</cmisra:uritemplate>
</app:workspace>
<app:workspace>
<atom:title>artifacts</atom:title>
<app:collection href="http://server:32771/modeshape-cmis/atom/artifacts/children?id=%5Broot%5D">
<cmisra:collectionType>root</cmisra:collectionType>
<atom:title type="text">Root Collection</atom:title>
<app:accept>application/atom+xml;type=entry</app:accept>
<app:accept>application/cmisatom+xml</app:accept>
</app:collection>
<app:collection href="http://server:32771/modeshape-cmis/atom/artifacts/types">
<cmisra:collectionType>types</cmisra:collectionType>
<atom:title type="text">Types Collection</atom:title>
<app:accept></app:accept>
</app:collection>
<app:collection href="http://server:32771/modeshape-cmis/atom/artifacts/query">
<cmisra:collectionType>query</cmisra:collectionType>
<atom:title type="text">Query Collection</atom:title>
<app:accept>application/cmisquery+xml</app:accept>
</app:collection>
<app:collection href="http://server:32771/modeshape-cmis/atom/artifacts/checkedout">
<cmisra:collectionType>checkedout</cmisra:collectionType>
<atom:title type="text">Checked Out Collection</atom:title>
<app:accept>application/cmisatom+xml</app:accept>
</app:collection>
<app:collection href="http://server:32771/modeshape-cmis/atom/artifacts/update">
<cmisra:collectionType>update</cmisra:collectionType>
<atom:title type="text">Bulk Update Collection</atom:title>
<app:accept>application/cmisatom+xml</app:accept>
</app:collection>
<cmisra:repositoryInfo>
<cmis:repositoryId>artifacts</cmis:repositoryId>
<cmis:repositoryName>ModeShape</cmis:repositoryName>
<cmis:repositoryDescription>
jcr.repository.name=ModeShape
option.versioning.supported=true
option.query.sql.supported=true
node.type.management.multivalued.properties.supported=true
node.type.management.overrides.supported=true
level.1.supported=true
jcr.specification.version=2.0
node.type.management.update.in.use.suported=true
query.full.text.search.supported=true
option.lifecycle.supported=false
option.node.and.property.with.same.name.supported=true
option.retention.supported=false
option.node.type.management.supported=true
identifier.stability=identifier.stability.indefinite.duration
option.simple.versioning.supported=false
query.stored.queries.supported=true
node.type.management.orderable.child.nodes.supported=true
jcr.specification.name=Content Repository for Java Technology API
option.unfiled.content.supported=false
option.baselines.supported=false
node.type.management.primary.item.name.supported=true
level.2.supported=true
option.activities.supported=false
node.type.management.multiple.binary.properties.supported=true
query.languages=null
option.transactions.supported=true
option.locking.supported=true
custom.rep.workspace.names=null
query.xpath.pos.index=false
option.update.mixin.node.types.supported=true
query.joins=query.joins.inner.outer
option.update.primary.node.type.supported=true
jcr.repository.version=4.3.0.Final
option.journaled.observation.supported=false
option.access.control.supported=true
node.type.management.value.constraints.supported=true
option.shareable.nodes.supported=true
custom.rep.name=artifacts
option.workspace.management.supported=true
write.supported=true
query.xpath.doc.order=false
node.type.management.autocreated.definitions.supported=true
option.observation.supported=true
node.type.management.residual.definitions.supported=true
jcr.repository.vendor=JBoss, a division of Red Hat
option.xml.export.supported=true
node.type.management.property.types=true
node.type.management.inheritance=node.type.management.inheritance.multiple
option.xml.import.supported=true
node.type.management.same.name.siblings.supported=true
jcr.repository.vendor.url=http://www.modeshape.org
</cmis:repositoryDescription>
<cmis:vendorName>OpenCMIS</cmis:vendorName>
<cmis:productName>OpenCMIS JCR</cmis:productName>
<cmis:productVersion>0.3</cmis:productVersion>
<cmis:rootFolderId>[root]</cmis:rootFolderId>
<cmis:capabilities>
<cmis:capabilityACL>none</cmis:capabilityACL>
<cmis:capabilityAllVersionsSearchable>false</cmis:capabilityAllVersionsSearchable>
<cmis:capabilityChanges>objectidsonly</cmis:capabilityChanges>
<cmis:capabilityContentStreamUpdatability>anytime</cmis:capabilityContentStreamUpdatability>
<cmis:capabilityGetDescendants>true</cmis:capabilityGetDescendants>
<cmis:capabilityGetFolderTree>true</cmis:capabilityGetFolderTree>
<cmis:capabilityMultifiling>false</cmis:capabilityMultifiling>
<cmis:capabilityPWCSearchable>false</cmis:capabilityPWCSearchable>
<cmis:capabilityPWCUpdatable>true</cmis:capabilityPWCUpdatable>
<cmis:capabilityQuery>bothcombined</cmis:capabilityQuery>
<cmis:capabilityRenditions>none</cmis:capabilityRenditions>
<cmis:capabilityUnfiling>false</cmis:capabilityUnfiling>
<cmis:capabilityVersionSpecificFiling>false</cmis:capabilityVersionSpecificFiling>
<cmis:capabilityJoin>none</cmis:capabilityJoin>
</cmis:capabilities>
<cmis:cmisVersionSupported>1.0</cmis:cmisVersionSupported>
<cmis:thinClientURI></cmis:thinClientURI>
</cmisra:repositoryInfo>
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/typedescendants" href="http://server:32771/modeshape-cmis/atom/artifacts/typedesc" type="application/atom+xml;type=feed"/>
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree" href="http://server:32771/modeshape-cmis/atom/artifacts/foldertree?id=%5Broot%5D" type="application/cmistree+xml"/>
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/rootdescendants" href="http://server:32771/modeshape-cmis/atom/artifacts/descendants?id=%5Broot%5D" type="application/cmistree+xml" cmisra:id="[root]"/>
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/changes" href="http://server:32771/modeshape-cmis/atom/artifacts/changes" type="application/atom+xml;type=feed"/>
<cmisra:uritemplate>
[Truncated]
CMIS 1.1 规范允许这样做吗?
如果是,如何区分具有相同id的两个存储库?
The service link relation when provided on a CMIS resource MUST point to an AtomPub service document with only one workspace element.
That AtomPub service document MUST then only contain one workspace element which MUST be the workspace representing the repository containing the Atom Entry or Atom Feed document.
The service document MUST contain only one workspace element.
规范的其余部分总是谈到使用单数(从不复数)来表示“工作区元素”。
因此,我猜测这是 ModeShape 中的 CMIS 实现错误。