This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Idea List


"Reynolds, Gregg" <greynolds@datalogics.com> writes:

> 	SAX interface to xml docs

I do not know of a SAX interface, or even something like it, but there
is a port of sdc, which has an ESIS compiler(nsgmls output).  sdc was
written by Joerg Wittenberger for bigloo originally. I ported it to
guile a month or more ago.  It's not a complete port(like one or two
of the backends isn't working), but it's good enough that I had
forgotten I was using the guile port instead of the real thing for the
last month or so.  sdc is a full SGML publishing system with it's own
DTDs and more than half a dozen backends.  It's also GPLed, yahoo!

The compiler in the guile port was broken out by me into a separate
module, and sdc rebuilt on top of it. It might be useful for someone
whose hankering for a SAX interface.

> 	interactive tree walker/tree query engine for cruising around
> xml docs

sdc has a recursive descent parser that works on the token stream
representations of documents it creates from the ESIS output.  It uses
this as the basis for all of it's output generation, including
normalization.   The rdp in the guile port is also broken out as a
separate module and might be useful to someone wanting to hop around
tokenized streams of xml, or whatever.  Both the compiler and the rdp
could stand better interfaces and more documentation, as always.

> 	tree transformation operators of some kind, as found in XSL and
> other xml query languages floating around currently (see
> http:www.w3.org)

That, it does not really have, because sdc never makes a static object
tree representation of the XML, like DOM and most other tools from the
Java side of the world.  I've built a couple of little dohickeys to
smack onto an ESIS tokenizer and build object trees, but after all
this time I get sick and tired of playing lite-brite and calling all
the little pretty methods.  After awhile you start thinking all the
world is just one big acyclic graph and your tottering around with
your Iterators and your Visitors and Visitees, calling this and that
on an object, talking to it's parents, fondling it's children... oh
sorry, flashback.

> I think James Clarks' "expat" parser would go well with guile, but its
> licensed under the Mozilla license.  Is such stuff usable in free
> software? 

I nsgmls the nsgmls interface because nsgmls is free as can be, and
handles both SGML and xml beautifully.  It's also the base of so many
other SGML/xml tools that nearly 100% of the SGML/xml parsing done at
our office is using it somehow, so that makes for nice compatibility.

Here is the url for the port:

http://www.red-bean.com/~craig/sdc-guile

-- 
Craig Brozefsky              craig@onshore.com
onShore Inc.                 http://www.onshore.com/~craig
Programmer                   loitering on the edge