OASIS Darwin Information Typing Architecture (DITA) TC

Re: [dita] Definition of Keyscope Name Rules

  • 1.  Re: [dita] Definition of Keyscope Name Rules

    Posted 03-30-2016 01:12
    I couldn't find the rules for keyscope names either. It was in the "Overview of keys" topic that was significantly refactored towards the end of the process; I found it in Review 1 in DITAWeb. Here's an attempt at a deep link: https://ditaweb.com/oasis-dita/#/Collaborate/00028678-DB_1/00027952-DB/Overview%20of%20keys It's in the 'Key scopes' section. I'm not sure whether or not this is something we can change in an errata since it was lost, but it was clearly the intent from the proposals all the way through until the last revisions to the final spec. Chris On 3/29/16, 1:03 PM, "dita@lists.oasis-open.org on behalf of Eliot Kimber" <dita@lists.oasis-open.org on behalf of ekimber@contrext.com> wrote: >I think I was misremembering my original research. What I said in the >context of the DITA OT issue that brought all this up was: > >"Since key scope names are used in key references they must have the same >restrictions." > >I read through the parts of the spec that either mention or define key >scopes and could find no direct language but I thought I had. Maybe Chris >N. can find it. > >In any case, since you can override a scope-qualified key with a normal >@keys value it must be the case that key scope names have the same lexical >rules as key names (including allowing periods, as crazy as that might >seem). > >For example, this should be valid: > ><topicref keyscope="foo.bar"> > <topicref keys="baz" .../> ></topicref> > >Meaning that keyref="foo.bar.baz" is a reference to the key "baz" in the >scope "foo.bar". > >But we could also have in a parent scope: > ><topicref keys="foo.bar.baz" .../> > >Which overrides the scope-qualified key name "foo.bar.baz" from the >descendant scope. > >As far as the processing is defined, the result of constructing all the >key spaces is a set of key-name-to-resource bindings where each key name >reflects any applicable key scopes by simple string concatenation of the >key scope names to the base key names. > >For the purpose of resolving key references you need to know what the key >scope *boundaries* are but you don't care what the key scope name is >because you are simply looking up the key name you have in the current >scope, which, by the processing rules, reflects all qualified and >unqualified keys in the current scope, per the rules for propagating key >definitions up and down the scope hierarchy. > >Cheers, > >E. > >---- >Eliot Kimber, Owner >Contrext, LLC > http://contrext.com > > > > >--------------------------------------------------------------------- >To unsubscribe from this mail list, you must leave the OASIS TC that >generates this mail. Follow this link to all your TCs in OASIS at: > https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php >