Abstract
Allow nested collections and workspaces and remove the app:service root element.
Status
Open
Rationale
See PaceAllowNestedCollections. This Pace goes a bit further, allowing nested workspaces as well as workspaces inside collections.
The app:service element is not really needed then: just use app:workspace instead (or just app:collection if your workspace would contain a single collection). The only difference is that app:workspace requires a title attribute while app:service doesn't.
Proposal
In section 7.3, insert the following before any subsection:
The root of an introspection document is either the app:workspace or app:collection element.
namespace app = "http://purl.org/atom/app#"
start = appWorkspace | appCollection
Remove section 7.3.1 The 'app:service' element.
Replace section 7.3.2 with the following (keep subsection "The 'title' attribute" as-is)
7.3.1 The 'app:workspace' element
The 'app:workspace' element contains information elements about the collections of resources available for editing, or other workspaces. The app:workspace element MAY contain any number of app:collection or other app:workspace elements but MUST contain at least one app:collection or app:workspace element.
appWorkspace =
element app:workspace {
appCommonAttributes,
attribute title { text },
( appWorkspace*
& appCollection*
& extensionElement* )
}
Replace section 7.3.3 with the following (keep subsections as-is)
7.3.2 The 'app:collection' element
The app:collection contains information elements that describe the location and capabilities of a collection. It can also contain app:workspace or other app:collection elements.
appCollection =
element app:collection {
appCommonAttributes,
attribute title { text },
attribute href { text },
( appCollection*
& appWorkspace*
& appMemberType
& appListTemplate
& extensionElement* )
}
