Re: XML support in E
Kevin Reid <[email protected]>
| Newsgroups | gmane.comp.lang.e.general |
|---|---|
| Message-ID | <[email protected]> |
On Jan 14, 2010, at 5:45, Thomas Leonard wrote: > On Tue, 2010-01-12 at 17:06 -0500, Kevin Reid wrote: >> * Would you be interested in working on the project of an XML >> library >> for E? >> >> * If I were to work on it, would you use it and give feedback? > > We'd certainly be interested in testing any XML support. I don't think > I'd be able to help with the implementation though: a selling point > for > E was compatibility with existing Java libraries, so telling my > manager > I need to spend time implementing XML support is unlikely to fly ;-) I'll look into it. Er, how soon do you need it? I'm rather busy, but I do *want* an E project; I just need to know how to prioritize this. > My main concern here is about speed. I temporarily used the JSON > support > in part of my code, and it noticeably slows the GUI down when used, > even > for quite small documents! Here's a little test case, timing how > long it > takes to serialise an example document: > > # Example document taken from http://jsonml.org/ > def testData := ["table", ["class" => "MyTable", "style" => > "background-color:yellow"], ["tr", ["td", ["class" => "MyTD", > "style" => "border:1px solid black"], "#550758"], ["td", ["class" => > "MyTD", "style" => "background-color:red"], "Example text here"]], > ["tr", ["td", ["class" => "MyTD", "style" => "border:1px solid > black"], "#993101"], ["td", ["class" => "MyTD", "style" => > "background-color:green"], "127624015"]], ["tr", ["td", ["class" => > "MyTD", "style" => "border:1px solid black"], "#E33D87"], ["td", > ["class" => "MyTD", "style" => "background-color:blue"], "\u00a0", > ["span", ["style" => "background-color:maroon"], "\u00a9"], > "\u00a0"]]] > > def jsonSurgeon := <elib:serial.deJSONKit>.makeSurgeon() Oh, deJSONKit I wouldn't recommend for current practical purposes: the Data-E subsystem is relatively slow no matter what kit you use. (I don't know how much of this is simply due to inefficient E interpretation, vs. what serialization must do, or anything else.) Use the JSON subset of term-trees instead. Just wrap your JSON literals in term`...`, to start with. -- Kevin Reid <http://switchb.org/kpreid/>