- From: Maciej Stachowiak <mjs@apple.com>
- Date: Mon, 12 May 2008 08:23:37 -0700
- To: Bjoern Hoehrmann <derhoermi@gmx.net>
- Cc: public-webapi <public-webapi@w3.org>
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
Received on Monday, 12 May 2008 15:24:17 UTC