[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]