Abstract
Status
Rationale
allow i18n of workspace and collection titles
Proposal
1. Replace in 09
7.2.2.1 The "title" Attribute The app:workspace element MUST contain a "title" attribute, which gives a human-readable name for the workspace. This attribute is Language-Sensitive.
7.2.3.1 The "title" Attribute The app:collection element MUST contain a "title" attribute, whose value gives a human-readable name for the collection. This attribute is Language-Sensitive.
with
7.2.2.1 The "app:title" Element The app:workspace element MUST contain an "app:title" element, which gives a human-readable name for the workspace. This element is Language-Sensitive.
7.2.3.1 The "app:title" Element The app:collection element MUST contain an "app:title" element, which gives a human-readable name for the collection. This element is Language-Sensitive.
2. Update the examples and rnc, eg:
<?xml version="1.0" encoding='utf-8'?> <service xmlns="http://purl.org/atom/app#"> <workspace title="Main Site" > <collection title="My Blog Entries" href="http://example.org/reilly/main" /> <collection title="Pictures" href="http://example.org/reilly/pic" > <accept>image/*</accept> </collection> </workspace> <workspace title="Side Bar Blog"> <collection title="Remaindered Links" href="http://example.org/reilly/list" /> </workspace> </service>
would be replaced with:
<?xml version="1.0" encoding='utf-8'?> <service xmlns="http://purl.org/atom/app#"> <workspace> <title>Main Site</title> <collection href="http://example.org/reilly/main" > <title>My Blog Entries</title> </collection> <collection href="http://example.org/reilly/pic" > <accept>image/*</accept> <title>Pictures</title> </collection> </workspace> <workspace> <title>Side Bar Blog</title> <collection href="http://example.org/reilly/list" /> <title>Remaindered Links</title> </collection> </workspace> </service>
appWorkspace = element app:workspace { appCommonAttributes, attribute title { text }, ( appCollection+ & extensionElement* ) }
would be replaced by
appWorkspace = element app:workspace { appCommonAttributes, ( appTitle+ & appCollection+ & extensionElement* ) }
appCollection = element app:collection { appCommonAttributes, attribute title { text }, attribute href { atomUri }, ( appAccept? & extensionElement* ) }
would be replaced by
appCollection = element app:collection { appCommonAttributes, attribute href { atomUri }, ( appTitle+ & appAccept? & extensionElement* ) }
appTitle is defined as
appTitle = element app:title { attribute xml:lang { atomLanguageTag }?, undefinedAttribute*, ( text ) }
Impacts
apps deployed against the markup defined up as far as draft09 will have to serialize/marshall the XML differently.
Notes
Idea by Elias Torres.