OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

dita message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Indirection, Keyref, and "Logical Name Reference" Requirements


Before we get too deep into a discussion of keyref and my indirection 
proposal I want to make sure that we have clear definition of the use 
cases and requirements because I strongly suspect that there are both 
distinct requirements at work and a not necessarily crisp description of 
all the relevant use cases.

Here's what I think the primary use cases are that are addressed by some 
form of indirection or "dynamic" resolution:

1. Referencing an ultimate target by initial reference to an indirector 
whose own address is invariant (that is, protecting the initial 
reference from changes in the location of the ultimate target) where the 
form of initial address uses the same syntax and semantics as a direct 
reference to the ultimate target would use.

2. Referencing an ultimate target by reference to an invariant "logical 
name" that is resolved to a specific target or targets based on 
properties statically determined by the context of the reference, such 
as audience, national language, etc. Typical specific use cases here 
include:

   - "variables" where the variable name is invariant but the set of 
specific values used is determine based on properties set for the 
context in which the variable reference occurs, such as the national 
language or product identifier.

   - mentions of things that will vary based on things like the national 
language for which the product being documented is localized, a typical 
example being the descriptions of keys on a mobile phone keyboard. The 
logical key name is invariant but the specific key name and graphic will 
vary and can be statically stored in a separate data set or data base.

3. Referencing an ultimate target by reference to an invariant address 
that is resolved to different targets based on resolution-time 
parameters provided to the resolution processor. For example references 
to graphics where the specific graphic object is determined based on the 
target output format (HTML or PDF) and possibly other parameters 
(national language, etc.).

4. Referencing a reference topic "implicitly" simply by uttering a value 
of its metadata or content (e.g., title, short title, navtitle, etc.). 
The resolution is resolved either at processing time based on the actual 
content of the topics involved and not on some form of indirect address 
or database lookup.

Note the key differences between these use cases:

Case 1. is just about addressing and is completely static--there is no 
special resolution-time processing other than simply doing the re-direction.

Case 2. is resolved based on *static* properties determined by the 
content and metadata in the referencing context (e.g., by values set in 
a particular map). Returning the correct value requires that the 
resolution processor know where to look for a particular kind of value 
(that is, which database or which file) and which local properties to 
use to complete the lookup.

Case 3. is resolved based on *dynamic* properties specified at 
resolution time. Like case 2, the resolving system has to know where and 
how to look up a particular value (that is, which database or which file).

Case 4. is resolved based on processing time string matches and does not 
otherwise involve any sort separate database lookup.

I will try to expand on each of these use cases as time permits. In 
particular, I think that case 2 is important and I don't think it's 
really addressed by the current keyref proposal and it is certainly not 
addressed by my indirection proposal (because that's not the point of 
that proposal).

Cheers,

Eliot

-- 
W. Eliot Kimber
Professional Services
Innodata Isogen
8500 N. Mopac, Suite 402
Austin, TX 78759
(214) 954-5198

ekimber@innodata-isogen.com
www.innodata-isogen.com



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]