← Prev in month ← Prev in thread

Review #2 comments: Processing key references

From
Kristen James Eberlein <>
Date
2014-12-02T15:20:02+00:00
ID
Thread
Review #2 comments: Processing key references
DITAweb URL:

https://ditaweb.com/oasis-dita/#/00074601-DA$00074010-DB$Processing%20key%20references

    

    Text in question:

    "he effective key definitions for
      a key space might be affected by conditional processing
      (filtering). Processors must perform conditional processing before
      determining the effective definition for a key reference. However,
      processors might determine key space contents before filtering.
      Consequently, different processors might produce different
      effective bindings for the same map when there are key definitions
      that might be filtered out based on their filtering attributes."

    

    Comment from Eliot:

    "This paragraph is absolutely wrong.
    
It cannot be the case that filtering would result
      in different effective key definitions. 

    
There are two processing possibilities:

    
1. Filtering is applied to the map before key space
      construction

    
2. Filtering is applied to the *key space* after
      key space construction

    
In both cases, the result of filtering MUST be the
      same (that is, the spec must require that you get the same
      result). 

    
In case 1 the processing is obvious: only those
      key definitions that remain after filtering are considered. 

    
In case 2, the key space, as constructed must
      maintain both the original precedence order of the key definitions
      and the conditions to which each key definition applied. 

    
When keys are resolved in the context of a case-2
      key space, the active filtering conditions must be used and thus
      *exactly the same key definition* will be selected as in case 1. 

    
Therefore the key resolution result will always be
      the same for the same input map and active filtering conditions. 

    
This is what 1.2 said and it must continue to be
      true.

    

    
Response from Robert Anderson:

      "DITA 1.2 language is very similar to what we have here: "The
      effective keys for a map might be affected by conditional
      processing (filtering). Processors should perform conditional
      processing before determining effective key definitions. However,
      processors may determine effective key bindings before filtering.
      Consequently, different processors might produce different
      effective bindings for the same map when there are key definitions
      that might be filtered out based on their select attributes." 

    
 

    
Referring to TC for follow-up."

    

    

    

    
-- 

      Best,

      Kris

      

      Kristen James Eberlein

      Chair, OASIS DITA Technical Committee

      Principal consultant, Eberlein Consulting

      www.eberleinconsulting.com

      +1 919 682-2290; kriseberlein (skype)
← Prev in month ← Prev in thread