[e-lang] XML support in E
Thomas Leonard
talex5 at gmail.com
Fri Jan 15 03:12:04 PST 2010
2010/1/14 Kevin Reid <kpreid at mac.com>:
> 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.
Over the next few months we'll be connecting it up to systems that use
XML, but if there's no native E support then we'll just import and use
the normal Java DOM libraries.
>> My main concern here is about speed. [...]
> 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.
OK, I can create JSON documents easily enough using
def Term := <type:org.quasiliteral.term.Term>
def serialised := (testData :Term).asText()
This is nice and fast, and I assume it could produce XML in a similar way.
I can turn the serialised string back into a term like this:
def TermParserMaker := <import:org.quasiliteral.term.makeTermParser>
TermParserMaker(serialised)
But how do I turn that term back into the E data-structure (i.e.
reverse the effect of :Term)?
--
Dr Thomas Leonard ROX desktop / Zero Install
GPG: 9242 9807 C985 3C07 44A6 8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA BD8E 0713 3F96 CA74 D8BA
More information about the e-lang
mailing list