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] DITA 1.3 public comment: branch filter precedence


I don't see how the answer can be anything other than "the branch is
excluded".

Setting the default to "exclude" should have the identical result to
setting the specific condition value to "exclude": in both cases the
content is excluded.

That is, the defaulting mechanism in the DITAVAL doesn't affect how the
condition is *applied*, only the syntax for how it is set at runtime. The
setting is the same in both cases and thus the filtered result is the same.

Cheers,

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




On 7/20/15, 4:42 PM, "Robert D Anderson" <dita@lists.oasis-open.org on
behalf of robander@us.ibm.com> wrote:

>Kris and I have finished going through the comments from Richard Forster
>on topics related to filtering. We wanted to bring one of them back to
>the TC for discussion. His comment is here:
>
>Specifically, the fourth comment:
>
>
>     
>http://docs.oasis-open.org/dita/dita/v1.3/csprd01/part2-tech-content/langR
>ef/base/ditavalref.html#ditavalref
>     Before the second example it says:
>
>               ³In the following branch, assume alternate rules are
>specified for the condition audience="novice". In that case, the
>condition specified in highLevel.ditaval takes precedence and so applies
>to the entire branch.²
>     If highLevel.ditaval has a generic rule such as
>     <prop att="audience" action="" (
>     which does not explicitly list the value ³novice² )
>     -- does this still have precedence?
>
>
>A bit of background info:
>
>* The architectural spec explicitly states the following: "properties set
>to "exclude" for a map branch override any other settings for the same
>property specified for a subset of the branch. Branch conditions that set
>a conditional property to "include" or "flag" do not override conditions
>on a subset of the branch that explicitly set the same property to
>"exclude". We discussed this at length at the TC on a few occasions. This
>leads to a fairly straightforward model where processors can apply the
>outer level DITAVAL, then move down and apply the
>* The lang spec, as quoted in Richard's comment, is not quite in sync. It
>says the higher level rule applies - pretty sure this was the original
>language that was fixed (during internal review). I think the language
>should be updated to be in sync with the clearer arch spec.
>
>* Within a DITAVAL file, the default action for unspecified conditions is
>"include". You can override this so that the default action for
>unspecified conditions is "exclude". You can also override this so that
>the default action for unspecified conditions in a single attribute is
>"exclude". 
>
>
>With that background, the markup in question is the following:
><topicref href="ancestor.dita">
>  <ditavalref href="highLevel.ditaval"/>
>  <topicref href="descendent.dita">
>    <ditavalref href="lowLevel.ditaval"/>
>    <!-- Other topicrefs -->
>  </topicref>
></topicref>
>
>The question is: if highLevel.ditaval sets a default action for audience,
>so that unspecified values are excluded, AND it does not specify a
>condition for audience="novice", AND lowLevel.ditaval sets that specific
>condition to "include", is that condition excluded for the entire branch,
>? I think the answer is yes, under the principle of least surprise and/or
>"you get what you ask for", but admit it's unclear enough that we should
>run it by the TC before clarifying the language. If the TC agrees, then I
>think that we should clarify this by reusing the language from the
>architectural specification, with an explicit addition that says
>"exclude" also applies when set up as a default action.
>
>Robert D Anderson
>IBM Authoring Tools Development
>Chief Architect, DITA Open Toolkit (http://www.dita-ot.org/)




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