(The value is escaped so you can see the newlines etc.)
(The tests are the same whether the value uses entities or physical white space.)
From the results, you should see:
-IE, Konqueror and Safari Rules-
1. Replace character entities with characters
No trimming of leading and trailing white space.
No normalizing of white space.
-Firefox rules-
1. Replace character entities with characters.
2. Remove leading and trailing white space.
Spaces are not considered white space
3 If java, remove all newlines, tabs etc. (Not sure why Firefox does this.)
-Opera rules-
1. Replace character entities with characters.
2. Ignore Line Feeds
'Ignore' is interpreted here as "skip line feeds when reading in the value during parsing."
3. Replace each carriage return or tab with a single space
For the param element's value attribute specifically,
the way IE, Konqueror and Safari do it is what I desire.
I might want to pass Line Feeds, Carriage Returns and Tabs to a plugin.
I might want to pass leading or trailing white space to a plugin.
Now, since object element attributes can be params to plugins too, they
should also follow IE's rules., except for reserved attributes like
data, classid, type, archive, width, height, codebase etc. where things
should be normalized like HTML4 says.
Firefox's way (besides for java), provides the best of both worlds. You
can pass newlines to plugins, but still have leading and trailing white
space removed. I still prefer IE's way though.