I did some experiments with some simple, hand-crafted XHTML. Both IE8
and FF3 show the "*" and "100*" cases quite differently, as you
describe. The "10*" case seems to follow the pattern of "100*", with
the second column being smaller, still (looks about right for a 13:1
ratio of column widths). However, the "1*" case looks identical to
the "10*" case.
The two browsers are perfectly consistent with each other, and I'm of
the opinion that they are both badly broken in this regard. Market
share may not support my opinion, but I think it's justified by the
fact that Google Chrome renders all four cases identically, which is
what I would expect from reading the various relevant specs (both CALS
and the HTML/XHTML specs). Do a little more experimentation and
you'll see that cases such as "first column 130 pixels, second and
third columns having a 3:2 ratio of remaining width", which can not be
done without numbers before the "*", seem rather impossible.
I believe this evidence supports the case that there is nothing wrong
with Editor's handling of column width values, but rather that the
dominant browsers are not in compliance with the specs they so proudly
claim to adhere to.
That said, I imagine that your business requirements are to get this
working in IE. Some massaging of the data during your XML to XHTML
transform may provide the desired results in at least some cases, such
as the trivial case where only one column uses "*" syntax. Other than
that, I'm not sure what to suggest, since there may very well be no
way to get the browser to produce the correct result for more
complicated cases, such as the "impossible" one I mentioned above.
While there may be a setting to keep Editor from changing "*" to
"100*" (though, to my knowledge, there isn't), this will not fix every
possibility.
-Brandon 🙂