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: Re: [dita] Use case for key scopes within subjectScheme maps


From today's TC meeting, my suggestion is that the rule for using subject
schemes to validate attribute values is:

- Groups that define sets of subjectDefs that in turn define enumeration
values are scope-qualified such that references to the scope-qualified
names are resolved as for normal key processing.

- The names of subjects within groups are not scope-qualified. That is,
the effective set of enumerated values reflects the base @keys value
without regard to any applicable key scopes.

This allows different groups applied to different attributes to specify
the same values for enumerated lists.

I think this is a useful authoring convenience and as Kris says reflects
what authors would expect when using subject schemes to define enumerated
lists.

This proposed rule is a refinement to the more general rules for key
scopes and subject schemes that I proposed in the context of Review #2
comments (https://lists.oasis-open.org/archives/dita/201501/msg00069.html)

Cheers,

E.

—————
Eliot Kimber, Owner
Contrext, LLC
http://contrext.com




On 4/27/15, 6:53 PM, "Kristen James Eberlein"
<kris@eberleinconsulting.com> wrote:

>
>  
>
>    
>  
>  
>    
>    
>      OK, I just ran into a use case for using key scopes in a
>      subjectScheme map to define controlled values. The DITA 1.3 spec
>      subjectScheme map, to be precise.
>      
>      I added a <subjectdef> for values used on @otherprops, and
>      used a <enumerationdef>to control the permitted values for
>      @otherprops.
>      
>      oXygen immediately told me that NO values were permitted for
>      @otherprops. After scratching my head -- Why did oXygen think that
>      I had an <enumerationdef> element with an empty
>      <attributedef>? -- I went looking for key duplication, and
>      it turned out that I had a collision between two keys named
>      "example", one for @outputclass and now another for @otherprops.
>      
>      I could see that the following (slimmed down) map would be useful,
>      if one used the attribute value of "example" for both @outputclass
>      and @otherprops. (For the point of view of simplifying the
>      authoring experience, I like to keep attribute values as simple
>      and consistent as possible.)
>      
>      <?xml
>        version="1.0" encoding="UTF-8"?>
>        <!DOCTYPE subjectScheme PUBLIC "-//OASIS//DTD DITA Subject
>        Scheme Map//EN" "subjectScheme.dtd">
>        <subjectScheme>
>        
>        <subjectdef keys="outputclass-values">
>                <subjectdef keys="cover"/>
>                <subjectdef keys="example"/>
>            </subjectdef>
>            
>            <subjectdef keys="otherprops-values"
>        keyscope="otherprops">
>                <subjectdef keys="example"/>
>            </subjectdef>
>        
>         <enumerationdef>
>                <attributedef name="outputclass"/>
>                <subjectdef keyref="outputclass-values"/>
>            </enumerationdef>
>            
>            <enumerationdef>
>                <attributedef name="otherprops"/>
>                <subjectdef
>        keyref="otherprops.otherprops-values"/>
>            </enumerationdef>
>        
>        </subjectScheme>
>      
>        
>        -- 
>        Best,
>        Kris
>        
>        Kristen James Eberlein
>        Chair, OASIS DITA Technical Committee
>        Principal consultant, Eberlein Consulting
>        www.eberleinconsulting.com <http://www.eberleinconsulting.com>
>        +1 919 682-2290; kriseberlein (skype)
>        
>      
>      
>    
>    
>  
>
>
>---------------------------------------------------------------------
>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
>
>




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