[Prev][Next][Index][Thread]
Re: SGML comments need a fix?
-
To: Multiple recipients of list <www-lib@www10.w3.org>, "Keith Kiyohara" <KKiyohara@symantec.com>, Multiple recipients of list <www-lib@www10.w3.org>, frystyk@w3.org (Henrik Frystyk Nielsen), Multiple recipients of list <www-lib@www10.w3.org>, frystyk@w3.org (Henrik Frystyk Nielsen), www-lib@www10.w3.org, www-lib@www10.w3.org, cwensel@rtis.com (Chris Wensel), www-talk@w3.org, www-lib@w3.org, Henrik Frystyk Nielsen <frystyk@w3.org>, www-talk@w3.org, www-lib@w3.org, Henrik Frystyk Nielsen <frystyk@w3.org>, www-lib@w3.org, mitch@tam.net (Mitch DeShields), mitch@tam.net, msfriedm@us.oracle.com (Mark S. Friedman), www-lib@w3.org, msfriedm@us.oracle.com, Henrik Frystyk Nielsen <frystyk@w3.org>, mitch@tam.net, www-lib@w3.org, www-lib@w3.org, mitch@tam.net (Mitch DeShields), mitch@tam.net (Mitch DeShields), Henrik Frystyk Nielsen <frystyk@w3.org>, www-lib@w3.org, "'www-lib@w3.org'" <www-lib@w3.org>, Teo Kok Hoon <kokhoon@iti.gov.sg>, www-lib@w3.org, Henrik Frystyk Nielsen <frystyk@w3.org>, Maciej Puzio <puzio@laser.mimuw.edu.pl>, Henrik Frystyk Nielsen <frystyk@w3.org>, "'WWW Library Mailing List'" <www-lib@w3.org>
-
Subject: Re: SGML comments need a fix?
-
From: cprom@iicm.tu-graz.ac.at (Christian Promitzer)
-
Date: Tue, 17 Oct 1995 10:59:38 +0100
-
From cprom%iicm.tu-graz.ac.at@www10.w3.org Tue Oct 17 06: 08:37 1995
-
Message-Id: <199510170959.AA13814@iicm.tu-graz.ac.at>
-
X-Mailer: <Windows Eudora Version 1.4.2b16>
-
X-Sender: cprom@iicm.tu-graz.ac.at
>>From www-lib@www10.w3.org Tue May 9 09:26:27 1995
>Date: Tue, 9 May 1995 03:11:29 +0500
>Errors-To: procmaster@www19.w3.org
>Reply-To: klute@nads.de
>Originator: www-lib@mail.w3.org
>Sender: www-lib@www10.w3.org
>Precedence: bulk
>From: Rainer Klute <klute@nads.de>
>To: Multiple recipients of list <www-lib@www10.w3.org>
>Subject: Re: SGML comments need a fix?
>X-Listprocessor-Version: 6.0c -- ListProcessor by Anastasios Kotsikonas
>Content-Length: 4490
>
>>Don't know if this is an old issue...
>
>It is.
>
>
>>I just noticed LineMode and Arena (old copy though) do not support
>>the <!-- this is an sgml comment with <tags> inside --> type of comments.
>>
>>Shouldn't they? Will they?
>
>Of course they should support SGML markup declarations! The bug is
>in the so-called "SGML-Parser" (which isn't really one) in the
>libwww. I once hacked together a fix for some former version of the
>library (see below). I don't if it still works on the current one
>but it may be worth a try.
>
>Best regards
>Rainer Klute
>
> Dipl.-Inform. Rainer Klute NADS - Advertising on nets
> NADS GmbH
> Emil-Figge-Str. 80 Tel.: +49 231 9742570
>D-44227 Dortmund Fax: +49 231 9742571
>
> <http://www.nads.de/~klute/>
>
>
>
>--- 1.1 1994/09/14 07:58:49
>+++ HTML.c 1994/09/14 08:03:36
>@@ -699,6 +699,17 @@
> }
>
>
>+/* Handling markup declarations
>+** ----------------------------
>+*/
>+
>+PRIVATE void HTML_put_declaration ARGS2(HTStructured *, me,
>+ char *, declaration)
>+{
>+ /* Just ignore markup declarations */
>+}
>+
>+
> /* Free an HTML object
> ** -------------------
> **
>@@ -779,7 +790,8 @@
> HTML_abort,
> HTML_put_character, HTML_put_string, HTML_write,
> HTML_start_element, HTML_end_element,
>- HTML_put_entity
>+ HTML_put_entity,
>+ HTML_put_declaration
> };
>
>
>--- 1.1 1994/09/13 20:49:06
>+++ HTMLGen.c 1994/09/13 20:52:45
>@@ -340,6 +340,21 @@
> }
>
>
>+/* SGML markup declaration
>+** -----------------------
>+**
>+*/
>+
>+PRIVATE void HTMLGen_put_declaration ARGS2(HTStructured *, me,
>+ char *, declaration)
>+{
>+ HTMLGen_output_character (me, '<');
>+ HTMLGen_output_character (me, '!');
>+ HTMLGen_output_string (me, declaration);
>+ HTMLGen_output_character(me, '>');
>+}
>+
>+
>
> /* Free an object
> ** --------------
>@@ -387,7 +402,8 @@
> HTMLGen_abort,
> HTMLGen_put_character, HTMLGen_put_string, HTMLGen_write,
> HTMLGen_start_element, HTMLGen_end_element,
>- HTMLGen_put_entity
>+ HTMLGen_put_entity,
>+ HTMLGen_put_declaration
> };
>
>
>--- 1.1 1994/07/26 12:46:45
>+++ HTTeXGen.c 1994/09/14 08:11:58
>@@ -410,6 +410,17 @@
> }
>
>
>+/* Handling markup declarations
>+** ----------------------------
>+*/
>+
>+PRIVATE void HTTeXGen_put_declaration ARGS2(HTStructured *, me,
>+ char *, declaration)
>+{
>+ /* Just ignore markup declarations */
>+}
>+
>+
>
> /* Free an HTML object
> ** -------------------
>@@ -441,7 +452,8 @@
> HTTeXGen_abort,
> HTTeXGen_put_character, HTTeXGen_put_string, HTTeXGen_write,
> HTTeXGen_start_element, HTTeXGen_end_element,
>- HTTeXGen_put_entity
>+ HTTeXGen_put_entity,
>+ HTTeXGen_put_declaration
> };
>
>
>--- 1.1 1994/09/13 18:54:41
>+++ SGML.c 1994/09/13 21:17:05
>@@ -58,6 +58,7 @@
> S_attr, S_attr_gap, S_equals, S_value, S_after_open,
> S_nl, S_nl_tago,
> S_ero, S_cro,
>+ S_mdo, S_mdecl,
> #ifdef ISO_2022_JP
> S_esc, S_dollar, S_paren, S_nonascii_text,
> #endif
>@@ -538,14 +539,20 @@
>
> if (isalnum(c))
> HTChunkPutc(string, c);
>- else { /* End of tag name */
>+ else {
> HTTag * t;
>- if (c=='/') {
>+ if (c=='/') { /* End of tag name */
> if (TRACE) if (string->size!=0)
> fprintf(stderr,"SGML: `<%s/' found!\n", string->data);
> context->state = S_end;
> break;
> }
>+ if (c=='!') { /* Declaration */
>+ if (TRACE)
>+ fprintf (stderr,"SGML: `<!' found!\n");
>+ context->state = S_mdo;
>+ break;
>+ }
> HTChunkTerminate(string) ;
>
> t = SGMLFindTag(dtd, string->data);
>@@ -577,7 +584,27 @@
> }
> break;
>
>-
>+
>+/* Markup declaration
>+*/
>+ case S_mdo:
>+ string->size = 0;
>+ context->state = S_mdecl;
>+
>+ case S_mdecl: /* Expecting declaration text or > */
>+ if (c == '>') /* End of markup declaration */
>+ {
>+ HTChunkTerminate (string);
>+ (*context->actions->put_declarations) (context->target,
>+ string->data);
>+ context->state = S_text;
>+ break;
>+ };
>+ HTChunkPutc(string, c);
>+ break;
>+
>+
>+ /* accumulating value */
> case S_tag_gap: /* Expecting attribute or > */
> if (WHITE(c)) break; /* Gap between attributes */
> if (c=='>') { /* End of tag */
>--- 1.1 1994/09/13 21:05:04
>+++ SGML.h 1994/09/13 21:05:37
>@@ -149,6 +149,10 @@
> HTStructured* me,
> int entity_number));
>
>+ void (*put_declarations) PARAMS((
>+ HTStructured* me,
>+ char * declaration));
>+
> }HTStructuredClass;
>
> /*
>
>
----------------------------------------------------------------------------
Christian Promitzer cprom@iicm.tu-graz.ac.at
Institute for Information Processing and Computer Supported New Media (IICM)
Graz University of Technology, Austria
Voice: ++43/316/873-5644 Fax: ++43/316/824394
----------------------------------------------------------------------------
______ __ __ ______ ______
\ \ \ \ |_ | | _| _ _ __ ___ _ __ / ____) / / / /
\ \ \ \ | `-' | \ / | '_ \ / _ \ '__) ,---. | | ___ / / / /
/ / / / | ,-. |\ \/ /| |_) | __/ | `---' | |__/ | \ \ \ \
/_/_/_/ |__| |__|\ / | .__/ \___|_| \______| \_\_\_\
/_/ |_|
For information on Hyper-G look at http://hyperg.iicm.tu-graz.ac.at/Chyperg
----------------------------------------------------------------------------