From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Nic Ferrier Newsgroups: gmane.emacs.devel Subject: Re: Changes to Texinfo DTD Date: 20 Nov 2003 20:32:53 +0000 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <8765heixvu.fsf@kanga.tapsellferrier.co.uk> References: <200310280126.h9S1Q9N16202@f7.net> <20031028105102.GA7330@dirtyweb.penguinpowered.com> <20031030104238.GA11503@dirtyweb.penguinpowered.com> <87vfps2x9r.fsf@ID-87814.user.dfncis.de> <878ymfdsx9.fsf@mail.jurta.org> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1069361098 20894 80.91.224.253 (20 Nov 2003 20:44:58 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 20 Nov 2003 20:44:58 +0000 (UTC) Cc: bob@rattlesnake.com, emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Thu Nov 20 21:44:53 2003 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1AMvfZ-0005rS-00 for ; Thu, 20 Nov 2003 21:44:53 +0100 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1AMvfY-0001XS-00 for ; Thu, 20 Nov 2003 21:44:52 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.24) id 1AMwUk-0006DA-0d for emacs-devel@quimby.gnus.org; Thu, 20 Nov 2003 16:37:46 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AMwUK-0006CD-Kf for emacs-devel@gnu.org; Thu, 20 Nov 2003 16:37:20 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1AMwTo-00060j-5Y for emacs-devel@gnu.org; Thu, 20 Nov 2003 16:37:19 -0500 Original-Received: from [217.34.135.17] (helo=tf1.tapsellferrier.co.uk) by monty-python.gnu.org with esmtp (Exim 4.24) id 1AMwRu-0005e5-Gj for emacs-devel@gnu.org; Thu, 20 Nov 2003 16:34:50 -0500 Original-Received: from host217-34-135-22.in-addr.btopenworld.com ([217.34.135.22] helo=kanga.tapsellferrier.co.uk) by tf1.tapsellferrier.co.uk with esmtp (Exim 3.35 #1 (Debian)) id 1AMvU4-00088j-00; Thu, 20 Nov 2003 20:33:00 +0000 Original-Received: from localhost ([127.0.0.1] helo=kanga.tapsellferrier.co.uk ident=nferrier) by kanga.tapsellferrier.co.uk with esmtp (Exim 3.35 #1 (Debian)) id 1AMvTx-0001Nx-00; Thu, 20 Nov 2003 20:32:53 +0000 Original-To: Oliver Scholz In-Reply-To: Original-Lines: 77 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:17981 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:17981 Oliver Scholz writes: > "Robert J. Chassell" writes: > [...] > > > First, it seems to me cleaner to write an XML renderer that can > > standalone, and then write separate code to enable the standalone Info > > to choose whether to use its current renderer or the new one. > > I take that to mean: to write an entirely new program that does the > same job as the current standalone reader, but renders XML. I fail to > see the benefit. I admit that it would be conceptually nicer to have > the program keep the XML document as a DOM-like tree of nodes in > memory rather than as a flat string of characters (for the internal > representation would be the only difference to my proposal). But I do > not see what difference it would make for a user. But maybe I am > missing something. > > More importantly: it would be a *lot* of work and you would need > somebody who implements it. I am certainly not going to write an > entirely new standalone XML browser in C. But I am willing to > implement my proposal and I am willing to do it now. It wouldn't be a lot of work. It would be trivial with XSLT. There are basically 2 ways of doing it: Method 1. a) patch makeinfo so the XML output can be chunked. b) prepend an xml-stylesheet processing-instruction to each chunked file c) write an XSLT stylesheet to turn the XML into HTML with navigation written in Javascript (so key bindings can be used) d) serve the files to Mozilla (or IE or any other XSLT aware browser) and it will render the XML using the stylesheet e) For Emacs/W3 we'd have to write an XSLT processing solution, they are being worked on I understand. It would be very trivial to write one using a command line XSLT tool but see method 2. Method 2. a) use a command line XSLT tool such as xsltproc (from the GNOME libxml2 project: http://www.xmlsoft.org) to chunk AND style to HTML the output of makeinfo --xml. The styling would be as method 1, part c. b) serve the files, they would be HTML so Emacs/W3 would be able to read them without alteration. > > Second, you could write code to enable GNU Emacs to run a standalone > > XML renderer, the way it now runs W3M mode -- the advantage of this is > > that more people would test the standalone XML renderer than they > > would if it only worked outside of Emacs. > [...] > > That would also be a *lot* more work and maybe it could even be worse > performance-wise than rendering the XML directly in Elisp. You'd have > the process communication *and* you would still need to parse and > render some ad hoc made markup from the standalone reader. Nah. Just call out to a command line XSLT engine to turn the XML into HTML. This project needs doing anyway because most browsers do it. I'd be happy to undertake this work on Emacs/W3. Nic