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: Cascading Edge Case: Cascade @dir and @xml:lang from parent map when referencing a branch


Action: TC decision on how @xml:lang and @dir should be handled for references to branches

 

Recommendation: Explicitly state that the effective value of @xml:lang and @dir on referenced branches is taken from the nearest ancestor value within the branch’s containing map, if any.

 

Reasoning:

 

The @xml:lang and @dir attributes do not cascade from map to map, only within a single map document. The logic is that these attributes reflect properties of the document itself, as opposed to just being a convenience for setting attribute defaults.

 

The edge case is when a map references a branch from a submap that specifies @xml:lang or @dir.

 

The branch cascading rules are clear that cascading is from the map reference to the referenced branch and attributes that would otherwise be cascaded from the branch’s containing map document are not considered. (The 1.3 spec is not 100% clear on this but I think this is the only reasonable rule.)

 

However, in the case of @xml:lang and @dir this could lead to surprising and problematic processing, where the language association for the branch is lost in the context of the branch reference.

 

The rules for @xml:lang are clear that if it is not specified then the language is undefined and may be set by the processor, which might be the default language for the environment doing the processing.

 

Because @xml:lang and @dir do not cascade from map to map it means that you cannot impose a language onto a branch through a map reference.

 

If it is the case that @xml:lang is not applied to a branch when the branch’s ancestry in the containing map does specify it, then a reference to a branch would result in the branch going from being in a specified language to being in an unspecified language. That would be bad.

 

Thus I think the cascading specification needs to explicitly state that the effective value of @xml:lang and @dir on referenced branches is taken from the nearest ancestor value within the branch’s containing map, if any.

 

All other attributes either cascade from map to map or, for @scope and @format, do not, but the lack of a cascaded @scope or @format from a branch’s ancestor is either not a concern or can be handled in the source by setting it on or within the branch as needed. For @scope and @format, cascading is entirely a convenience and not a requirement to be able to achieve specific effects and would only be set to a non-default value in order to do things like set up peer maprefs.

 

By contrast, the recommended practice for @xml:lang and @dir is to only set them on the root element when the entire document is in a single language, so requiring that they be redundantly set on branches simply so that those branches could then be used by reference would be counter to best practice and a significant opportunity for error.

 

Cheers,

 

E.



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