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] Cascading of xml:lang attribute


Greetings,

I think perhaps there is a little terminology issue here.

What you are considering is how a processor default might be set by a processor. A good processor default might be the xml:lang on the main map. It could come from a style sheet, or a parameter sent in to a processor, or some other mechanism.  I think those are all great ideas, and any processor of DITA could choose one or more of these to get a good default for processing. Because there will always be the case where what the processor is looking for is not defined, so some fallback assumption needs to be made at some point.

Cascading of attributes is a DITA defined process in the DITA 1.2 spec. By saying that xml:lang should cascade from map to maps and maps to topics is a different mechanism and part of the language standard. That is where the issue arises as the language standard shouldn't need to be changed to accomplish this.

If we changed this topic to "setting a processor default for xml:lang" from "Cascading of xml:lang attribute", I think that might be a better title.

And if you get the processor that automatically changes the language of the topic by just changing the xml:lang attribute, then please sign me up for one too. :-)

Thanks.
- Dave H.
 
Dave Helfinstine
DHelfinstine@ptc.com


-----Original Message-----
From: Su-Laine Yeo [mailto:su-laine.yeo@justsystems.com] 
Sent: Tuesday, August 03, 2010 5:07 PM
To: Helfinstine, David; dita@lists.oasis-open.org
Cc: Robert D Anderson
Subject: RE: [dita] Cascading of xml:lang attribute

Hi Dave,

For teams which publish primarily in one language, setting a "good" default for the processor or putting xml:lang in the template is not a big burden. However, consider a team that publishes in a dozen locales. That team needs to set the locale parameter for the processor up to a dozen times and get it right each time. You can automate builds to avoid having to set parameters over and over, but many adopters do not have automated build processes, especially in the the early stages of adoption.

The question is whether processors should apply the xml:lang of the primary map *if that is the only place where xml:lang is defined*. Why should the answer be no? I'm aware that changing the xml:lang on a map or topic does not change the language of any other sub-topics or sub-maps. However I don’t see how that (obvious) fact is relevant to this question. 

Cheers,
Su-Laine


-----Original Message-----
From: Helfinstine, David [mailto:dhelfinstine@ptc.com] 
Sent: Tuesday, August 03, 2010 1:33 PM
To: dita@lists.oasis-open.org
Cc: Robert D Anderson; Su-Laine Yeo
Subject: RE: [dita] Cascading of xml:lang attribute

Greetings,

The xml:lang should be considered an attribute set in each document. There are other language type attributes like @dir and @translate that are also document attributes. They also do not cascade from map to map or map to topic or topic to sub topic, etc. These might be important when processing so it would not necessarily be xml:lang alone that would need to be considered. As has been mentioned, changing the xml:lang on a map or topic does not change the language of any other sub-topics or sub-maps.

The comments regarding setting the xml:lang in every document can be overcome by setting a good processor default. If the processor default in a French environment is “fr” then it might be reasonable that the processor default would be “fr” unless a different xml:lang is encountered in a map or topic. If however one of the French documents were put into a different language map then the processor default would probably be set to that language. The French author would have to remember to put the xml:lang=”fr” in the French topic to keep that from happening. Having the xml:lang=”fr” on the topic tag would alleviate the problem in the first place. For those users who use templates, it might be great to include in the template the xml:lang already set to a decent default value. That way – no worries!

Before the DITA 1.2 the cascading of attributes was not defined. There was talk of inheritance in DITA 1.1 and there was the one reference to xml:lang regarding topicref and the actual topic. But as a whole this topic was not defined rather than DITA 1.2 being a change to the way they behaved.

Thanks.

- Dave H.
 
Dave Helfinstine
DHelfinstine@ptc.com

-----Original Message-----
From: Su-Laine Yeo [mailto:su-laine.yeo@justsystems.com] 
Sent: Tuesday, August 03, 2010 2:56 PM
To: Robert D Anderson
Cc: dita@lists.oasis-open.org
Subject: RE: [dita] Cascading of xml:lang attribute

Thanks Robert. 

We've received some quite strongly-worded comments from DITA users that having to set xml:lang on every single topic file would be an enormous hassle. For the case of a mostly-French document that pulls in one English topic, it is reasonable to ask users to set xml:lang="fr" once on the map, and xml:lang="en" once on the English topic. However I don't see why we would also require users to set xml:lang="fr" on every French topic if they want those topics to be processed in French. 

I see this as being a substantial change over the DITA 1.1 spec which adds work for users, and I can't see the practical benefit.

Su-Laine


-----Original Message-----
From: Robert D Anderson [mailto:robander@us.ibm.com] 
Sent: Tuesday, August 03, 2010 12:33 PM
To: Su-Laine Yeo
Cc: dita@lists.oasis-open.org
Subject: Re: [dita] Cascading of xml:lang attribute

Trying to remember the discussion of this - I believe that your reading of
the 1.2 spec is correct.

I think the idea was that the language is a property of the document itself
that travels with the document, and cannot be set or reset from above. For
example, if you have a map with all French topics, but then reference an
existing English topic somewhere else that does not set xml:lang, the fact
that you're referencing it from a French map does not make the topic
French. Following the spec's recommendation to ensure xml:lang is on the
root element of every document helps bypass this issue and any resulting
confusion.

Robert D Anderson
IBM Authoring Tools Development
Chief Architect, DITA Open Toolkit


                                                                           
             "Su-Laine Yeo"                                                
             <su-laine.yeo@jus                                             
             tsystems.com>                                              To 
                                       <dita@lists.oasis-open.org>         
             08/03/2010 03:11                                           cc 
             PM                                                            
                                                                   Subject 
                                       [dita] Cascading of xml:lang        
                                       attribute                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




Hi everyone,


A bug report for the DITA Open Toolkit has raised some interesting
discussion:


https://sourceforge.net/tracker/?func=detail&atid=725074&aid=3038532&group_id=132728


Users need to know if they need to set the xml:lang attribute only in their
primary map, or for every topic. Developers of processors need to know if
processors should look at the map when deciding what locale to use when
displaying topics.


Say you have a <note> element in a DITA topic that is referenced by a DITA
map. My reading of the DITA 1.1 spec is that language should be determined
as follows:


1) Get xml:lang from the <note> element. If xml:lang is not defined there,
get it from the closest ancestor within the topic.


2) If xml:lang not defined in an ancestor of <note> within the topic, get
it from the <topicref> in the map.


3) If xml:lang not defined in the <topicref>, get it from closest ancestor
of the <topicref> within the map.


4) If xml:lang is not defined in any ancestor of the <topicref> within the
map, the processor should assume a default value.


However, the draft DITA 1.2 spec contains the sentence “The @xml:lang value
does not cascade from one map to another or from a map to a topic”, which
seems to imply that the language should be determined as follows:


1) Get xml:lang from the <note> element. If xml:lang is not defined there,
get it from the closest ancestor within the topic.


2) If xml:lang not defined in an ancestor of <note> within the topic, the
processor should assume a default value.


Is this the intention?


Su-Laine


Su-Laine Yeo
Solutions Consultant


JustSystems Canada, Inc.
Office: 778-327-6356
syeo@justsystems.com


www.justsystems.com


XMetaL Community Forums: http://forums.xmetal.com/






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