I have yet to find a clear answer to this topic, so I'm writtingwriting this question in hope that someone can explain me the correct way to archieveachieve my goal. I must also add that all my test was done on SharePoint 2007, but as far as I know the behaviourbehavior should be the same when using the 2010 version. Edit: I have conducted some test on SP 2010 and I can now confirm that the behaviourbehavior seems to be the same.
Premise: I was trying to build a custom choice field that supports localization. Since the choice labels will change based on the current locale (let's forget SP 2010 multilanguagemulti-language for a moment and suppose that only one-language web site are used) I started to search a way to implement locale-indipendentindependent values for my custom field, something like the classical "id-value" concept used by traditional ASP choice controls.
Others indicates it as a form of feng-shui that can be used to enancheenhance the cosmic energy flows in your feature files, but no one seems to have a concrete answer.
PS: I also thinked ofconsidered using the SPFieldMultiChoice.Mappings Property and build an extension method to implement some logic that would decode the field choice "text" to the mapped value (I should be able to to that, the property contains the full xml mapping node taken from the field definition), but before I try this solution I would like to know if I have missunderstoodmisunderstood the tag usage.
EDIT: I have conducted some more research on the topic. While I didn't found any concrete answer (seems that someone is asking the same question on msdn without much luck...) I am starting to belivebelieve that the tag could indeed be a sofisticatesophisticate form of feng-shui.
If you look at the same field on the Healt Rule list in Central Administration (use a tool like SharepointSharePoint Manager 2010) you will see that the whole mapping section is missing. That would seem that in this case the mapping ISN'T propagated to the child field on the list instance. On the other hand, I have tried to build a custom feature for a field that uses the mapping section and I was able to propagate the info to the list (still no luck at retrivingretrieving the mapped value). It could still be possible that the mapping info is read from the parent field when the SharePoint object model requires it, but as now I am starting to think that this feature is simply un-implemented... Not even the LinqToSharePoint mapping seems to use it:
EDIT: As Amit sugestedsuggested in his answer, I had a quick look to the official "Collaborative Application Markup Language (CAML) Structure Specification" document. It is indeed suspicious that the latest versions of the document had removed any reference to the schema element - that could indicate that the element is indeed unused/unimplemented. On the opposite hand, the HealthRuleScope field uses the mappings declaration - and as far as I know it was introduced only with SP 2010...