From ... Path: archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!news.tdcnorge.no!uninett.no!uio.no!nntp.uio.no!not-for-mail From: Erik Naggum Newsgroups: comp.lang.lisp Subject: Re: XML->sexpr ideas Date: 21 Jan 2004 07:04:58 +0000 Organization: Naggum Software, Oslo, Norway Lines: 46 Message-ID: <3283657498520793KL2065E@naggum.no> References: <3283503882585065KL2065E_-_@naggum.no> <60VOb.229245$0P1.199252@twister.nyc.rr.com> <3283560535880752KL2065E@naggum.no> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: readme.uio.no 1074668699 4632 129.240.65.210 (21 Jan 2004 07:04:59 GMT) X-Complaints-To: abuse@uio.no NNTP-Posting-Date: Wed, 21 Jan 2004 07:04:59 +0000 (UTC) Mail-Copies-To: never User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3 Xref: archiver1.google.com comp.lang.lisp:10437 * Kenny Tilton | Maybe I just misunderstood. If quads just give me a link to the | parent, well, in the case of the DTD, all the entities, elements, and | attributes had the same parent, the XML dtd document. So I imagined | an awful lot of serial searching, repeated over and over again for the | same message type, and yes, I made a gut determination that I could | use the names of things as keys to a hash table and turn a record | expansion into so many keyed lookups. You assume way too much. I lack the information to unwind your many assumptions, but you may have noticed that I wrote that QAR would point to the element type, like the operator in the CAR of a sexpr. This is obviously a symbol-like structure. For some reason, you have read what I wrote to refer to the prolog of an SGML/XML document, while I talked about the document instance. I have written elsewhere that the very concept of a DTD was a huge mistake, so I really wish you had asked me instead of running with your assumptions. Just as Common Lisp is defined on objects in a tree structure, but still manages to have clearly defined semantics, I had hoped it would be rather obvious that I intend the same to hold true for the SGML tree. Defining element types and processors on them is clearly part of the whole approach, and just as Common Lisp systems do not search source files linearly for definitions of operators, this part of the language is not restricted to being represented with quads. But I don't know where to begin to explain things to you so you don't assume things without asking. It is very difficult to predict what someone who guesses a lot will need to invalidate an assumption. | Do we need each child to refer to its parent? Yes. | Why not a format with the parent first and then one or more children | understood to share the same parent? That would require more pointers to be kept around in a stack-like structure when traversing the document, while an explicit design goal of my approach is to move all this information into the tree. -- Erik Naggum | Oslo, Norway Act from reason, and failure makes you rethink and study harder. Act from faith, and failure makes you blame someone and push harder.