On May 12, 2008, at 8:00 AM, Bjoern Hoehrmann wrote:
* Maciej Stachowiak wrote:
This does not look much better (it does avoid repeatedly mentioning
the xmlns namespace at least):
function resolver(prefix) {
if (prefix == "xht") {
return "http://www.w3.org/1999/xhtml";
} else if if (prefix == "svg") {
return "http://www.w3.org/2000/svg";
} else if (prefix == "mml") {
return "http://www.w3.org/2000/xmlns/";
}
return null; // ???
}
However, this does look better:
var namespaces = {xht: "http://www.w3.org/1999/xhtml"; svg:
"http://www.w3.org/2000/svg
"; mml: "http://www.w3.org/1998/Math/MathML" };
You can just use `function(p) { return namespaces[p]; }` then.
Sure, but there's no actual need to allow running arbitrary code and
all the risks that creates/
You'll have to define what happens if you pass `{ get svg()
{ ... } }` if you
allow this,
I would define that getters are ignored (after all, the point of this
is to avoid code execution)
and what to pass in other language bindings.
Other language bindings are the 1% case for this API (and that's being
generous). They can just use Nodes. Or anyone who wishes to champion a
more convenient syntax for some specific binding can propose what
language-specific dictionary type should be allowed to use Nodes.
Regards,
Maciej