Subject: [xml2rfc] Re: Tweaks to xml2rfc
From: [email-masked] (Henrik Levkowetz)
Date: Wed, 31 Oct 2001 17:26:08 +0100

mtr wrote:
> 
> 
> > I've been using xml2rfc for about a year, and I'm currently
> > working on the 4th draft produced with it. I've been very happy with it,
> > generally.
> 
> good.
> 
> 
> > I also noticed that you've reduced the number of text lines per
> > page from 52 to 51, to me that seemed to give unnecessary much whitespace
> > at the bottom, any particular reason?
> 
> i'll respond to the other issues in a later email.

Ok, thanks

> 
> the reason for 52 to 51 is this: the rfc editor produces .txt files from
> nroff source. even though the nroff directives say "52", the particular
> process used by the rfc editor makes it actually be "51". i'm not sure why.
> however, because the primary purpose of xml2rfc is to produce stuff that
> looks like what the rfc editor likes, this change was necessary.

Ok, I see, good enough.

	Thanks,
		Henrik

> 
> /mtr
> 
> 
> 
> _______________________________________________
> xml2rfc mailing list
> [email-masked]
> http://lists.xml.resource.org/mailman/listinfo/xml2rfc

From: [email-masked] (Marshall T. Rose)
Date: Tue, 30 Oct 2001 17:50:40 -0800
Subject: [xml2rfc] Re: Tweaks to xml2rfc
References: <[email-masked]>
Message-ID: <007b01c161ae$722cd8b0$fe0aa840@FATORA>

> I've been using xml2rfc for about a year, and I'm currently
> working on the 4th draft produced with it. I've been very happy with it,
> generally.

good.

> I also noticed that you've reduced the number of text lines per
> page from 52 to 51, to me that seemed to give unnecessary much whitespace
> at the bottom, any particular reason?

i'll respond to the other issues in a later email.

the reason for 52 to 51 is this: the rfc editor produces .txt files from
nroff source. even though the nroff directives say "52", the particular
process used by the rfc editor makes it actually be "51". i'm not sure why.
however, because the primary purpose of xml2rfc is to produce stuff that
looks like what the rfc editor likes, this change was necessary.

/mtr

From: [email-masked] (Henrik Levkowetz)
Date: Mon, 29 Oct 2001 14:30:49 +0100
Subject: [xml2rfc] Tweaks to xml2rfc
Message-ID: <[email-masked]>

This is a multi-part message in MIME format.

------=_NextPart_000_0014_01C16086.4DF9DF70
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Hi Marshall,

	I've been using xml2rfc for about a year, and I'm currently
working on the 4th draft produced with it. I've been very happy with it,
generally.

	Saturday I came across your xml2rfc mailing list and site, 
(http://xml.resource.org/) when I went to the ietf.org pages to look if 
any updated version of xml2rfc existed. I downloaded the 1.8 version, and 
it seems it has some nice and useful enhancements.

	I also noticed that you've reduced the number of text lines per
page from 52 to 51, to me that seemed to give unnecessary much whitespace
at the bottom, any particular reason?

	When I started to use xml2rfc there was some particular things
which I found very hard to do, in particular lists for the explanation
of fields in protocol headers, where the default indentation did not
work out too well. For that reason I added an option to the list element,
named "hangIndent". I use it as in
--------------------------------------------
      <list style="hanging" hangIndent="20">
      <t hangText="Type">         (to be assigned by IANA) (skippable)</t>
      <t hangText="Length">       6.  Length in bytes of this extension, not
				  including the Type and Length
				  bytes.</t>
      <t hangText="Sub-Type">     (to be assigned by IANA)</t>
      <t hangText="Reserved 1">   Reserved for future use.  MUST be set to 0 on sending,
				  MUST be ignored on reception.</t>
	</list>
--------------------------------------------

	I also found that a blank line before each major section in the
contents listing increases the readability, and there's some other minor
changes.

	I've now for my own use updated your version 1.8 with my changes;
if it would be of any interest to you I attach a diff for v1.8. (Unix
text format, not DOS) Under un*x it should work to run "patch" on a 
v1.8 xml2rfc.tcl straight off to get my changes applied, if you want to 
test them.

	There's one thing I would very much wish for, which I have not done,
this is to move all style material (the style sheet, and embedded font face,
font color, border, padding etc. attributes) out of the tool, so differnt
html styles may be had by changing the style sheet, not the tool. Any
thoughts in this direction?

	Best regards,
		Henrik Levkowetz

		Henrik

------------------------------------------------------------------------
Henrik Levkowetz +46708321608 [email-masked] www.ipunplugged.com
------------------------------------------------------------------------

  If you think nobody cares if you're alive, try missing a couple
  of car payments.

------=_NextPart_000_0014_01C16086.4DF9DF70
Content-Type: application/octet-stream;
	name="xml2rfc-1.8-ohl.diff"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="xml2rfc-1.8-ohl.diff"

--- xml2rfc.tcl	Sun Oct 28 11:03:45 2001=0A=
+++ xml2rfc3.tcl	Sun Oct 28 14:45:09 2001=0A=
@@ -50,7 +50,7 @@=0A=
         set ofile $output=0A=
         set remoteP 0=0A=
     }=0A=
-    set ofile [file rootname [file tail $ofile]]=0A=
+    set ofile [file tail $ofile]=0A=
 =0A=
     if {![string compare $input $output]} {=0A=
         error "input and output files must be different"=0A=
@@ -1296,8 +1296,8 @@=0A=
 =0A=
         set status ""=0A=
     } else {=0A=
-        lappend left "Network Working Group"=0A=
         if {[string compare $rv(number) ""]} {=0A=
+	    lappend left "Network Working Group"=0A=
             lappend left "Request for Comments: $rv(number)"=0A=
 =0A=
             if {[string compare $rv(obsoletes) ""]} {=0A=
@@ -1315,6 +1315,7 @@=0A=
             lappend left "Category: $category"=0A=
             set status [list [lindex [lindex $categories $cindex] 3]]=0A=
         } else {=0A=
+	    lappend left "Internet Engineering Task Force"=0A=
             lappend left "Internet-Draft"=0A=
             if {[catch { set day $dv(day) }]} {=0A=
                 set day 1=0A=
@@ -1388,7 +1389,7 @@=0A=
         lappend top "RFC $rv(number)"=0A=
     } else {=0A=
         lappend top "Internet-Draft"=0A=
-        lappend title $ofile=0A=
+        lappend title "<$ofile>"=0A=
     }=0A=
     lappend top $tv(abbrev)=0A=
     lappend top "$dv(month) $dv(year)"=0A=
@@ -1564,7 +1565,7 @@=0A=
     global counter depth elemN elem passno stack xref=0A=
     global mode=0A=
 =0A=
-    array set attrs [list .COUNTER "" style "" hangText ""]=0A=
+    array set attrs [list .COUNTER "" style "" hangText "" hangIndent =
""]=0A=
     array set attrs $elem($elemX)=0A=
     set elem($elemX) [array get attrs]=0A=
 =0A=
@@ -1575,6 +1576,8 @@=0A=
         set elemY $av(elemN)=0A=
         array set av $elem($elemY)=0A=
 =0A=
+	set attrs(hangIndent) $av(hangIndent)=0A=
+=0A=
         if {![string compare [set attrs(style) $av(style)] format]} {=0A=
             set attrs(style) hanging=0A=
             set format $av(format)=0A=
@@ -1607,6 +1610,7 @@=0A=
 =0A=
     set style empty=0A=
     set format ""=0A=
+    set hangIndent "3"=0A=
     foreach frame $stack {=0A=
         if {[string compare [lindex $frame 0] list]} {=0A=
             continue=0A=
@@ -1618,8 +1622,11 @@=0A=
 =0A=
         set style $av(style)=0A=
         set format $av(format)=0A=
+        set hangIndent $av(hangIndent)=0A=
     }=0A=
     array set attrs $elem($elemX)=0A=
+    catch { set hangIndent $attrs(hangIndent) }=0A=
+    array set attrs [list hangIndent $hangIndent]=0A=
     catch {=0A=
         if {[string first "format " [set style $attrs(style)]]} {=0A=
             set format $attrs(format)=0A=
@@ -1653,7 +1660,7 @@=0A=
         catch { set hangText $tv(hangText) }=0A=
     }=0A=
 =0A=
-    list_$mode begin $counters $attrs(style) $hangText=0A=
+    list_$mode begin $counters $attrs(style) $attrs(hangIndent) =
$hangText=0A=
 }=0A=
 =0A=
 proc pass2end_list {elemX} {=0A=
@@ -1662,7 +1669,7 @@=0A=
 =0A=
     array set attrs $elem($elemX)=0A=
 =0A=
-    list_$mode end "" $attrs(style) ""=0A=
+    list_$mode end "" $attrs(style) $attrs(hangIndent) ""=0A=
 }=0A=
 =0A=
 =0A=
@@ -2248,6 +2255,10 @@=0A=
         set mid [expr 72-($len1+$len2+5)]=0A=
 =0A=
         foreach c $toc {=0A=
+	    set num_len [expr [string length [lindex $c 0]]-1]=0A=
+	    if {![string compare [string index [lindex $c 0] $num_len] "."]} {=0A=
+		write_line_txt ""=0A=
+	    }=0A=
             set s1 [format "   %-*.*s " $len1 $len1 [lindex $c 0]]=0A=
             set s2 [format " %*.*s" $len2 $len2 [lindex $c 2]]=0A=
             set title [chars_expand [string trim [lindex $c 1]]]=0A=
@@ -2338,7 +2349,7 @@=0A=
             }=0A=
 =0A=
             symbols {=0A=
-                set counter "[lindex { - o * + } [expr [llength $l]%4]] =
"=0A=
+                set counter "[lindex { o - * + } [expr [llength $l]%4]] =
"=0A=
             }=0A=
 =0A=
             hanging {=0A=
@@ -2355,7 +2366,9 @@=0A=
         } elseif {!$options(.SUBCOMPACT)} {=0A=
             write_line_txt ""=0A=
         }=0A=
-        write_text_txt "$counter "=0A=
+ 	set pre "3"=0A=
+ 	set post [expr $pos-$pre]=0A=
+        write_text_txt [format "%${pre}s%-${post}s" "" $counter]=0A=
         push_indent $pos=0A=
     } else {=0A=
         if {$options(.EDITING)} {=0A=
@@ -2368,7 +2381,7 @@=0A=
     set eatP 1=0A=
 }=0A=
 =0A=
-proc list_txt {tag counters style hangText} {=0A=
+proc list_txt {tag counters style hangIndent hangText} {=0A=
     global options=0A=
     global eatP=0A=
 =0A=
@@ -2395,7 +2408,12 @@=0A=
                     set i 1=0A=
                 }=0A=
             }=0A=
-            push_indent [expr $i+2]=0A=
+	    set i [expr $i+2]=0A=
+	    if {$i > $hangIndent} {=0A=
+		push_indent [expr $i+3]=0A=
+	    } else {=0A=
+		push_indent [expr $hangIndent+3]=0A=
+	    }=0A=
         }=0A=
 =0A=
         end {=0A=
@@ -3247,7 +3266,7 @@=0A=
     }=0A=
 }=0A=
 =0A=
-proc list_html {tag counters style hangText} {=0A=
+proc list_html {tag counters style hangIndent hangText} {=0A=
     global stdout=0A=
     global hangP=0A=
 =0A=

------=_NextPart_000_0014_01C16086.4DF9DF70--

From: [email-masked] (denis bider)
Date: Fri, 19 Oct 2001 04:10:28 +0200
Subject: [xml2rfc] newbie alert - ActiveTcl 8.3.3.3 - ::sgml::tokenise
In-Reply-To: <0a1001c15833$6ba49890$fe0aa840@FATORA>
Message-ID: <007401c15843$39811ae0$0201010a@intergalactic>

Hello Marshall,

> in other words, what may be happening here is that the xml package is
> finding the wrong sgml package.

it seems your guess was entirely correct - I moved the tclxml2.0 directory
outside of \tcl\lib, and now xml2rfc magically works. Thanks!

Might this be a problem in the Tcl package locator itself? I looked at the
pkgIndex.tcl files of both versions of TclXML, and it seems clear that
version 1.1.1 provides "sgml 1.6", whereas version 2.0 provides "sgml 1.8".
Since xml.tcl in version 1.1.1 explicitly states "package require sgml 1.6",
one would think that the 1.1.1 sgml will get loaded, especially since it's
in the same directory as xml.tcl. But instead, Tcl finds the 2.0 version.
Strange.

denis

From: [email-masked] (Marshall T. Rose)
Date: Thu, 18 Oct 2001 17:16:54 -0700
Subject: [xml2rfc] newbie alert - ActiveTcl 8.3.3.3 - ::sgml::tokenise
References: <006b01c15824$174ace90$0201010a@intergalactic>
Message-ID: <0a1001c15833$6ba49890$fe0aa840@FATORA>

> xml2rfc: oops!
> invalid command name "::sgml::tokenise"
>
> It seems to me like I've gotten the TclXML 1.1.1 installation wrong, but I
> have no idea why or how. Installation instructions seem to be nonexistent.
>
> Any ideas?

here is a guess, based on an assumption, because i don't know what files are
installed where.

find a directory called ...\lib\tcl8.3\

there are a lot of directories there, one for each tcl package.

make sure that there aren't any directories there that contain an sgml thing
other than the directory TclXML-1.1.1 which is the directory where you
probably put the TclXML installation.

in other words, what may be happening here is that the xml package is
finding the wrong sgml package.

/mtr

From: [email-masked] (denis bider)
Date: Fri, 19 Oct 2001 00:27:36 +0200
Subject: [xml2rfc] newbie alert - ActiveTcl 8.3.3.3 - ::sgml::tokenise
Message-ID: <006b01c15824$174ace90$0201010a@intergalactic>

Hello everyone,

I tried the xml2rfc web interface and I liked it, so I wanted to install it
on my Win2K workstation as well.

After downloading the distribution, I found that I don't have Tcl/Tk 8, so I
browsed the net and found ActiveTcl 8.3.3.3 from ActiveState. I installed it
and tried running xml2rfc: it didn't work because xml2rfc doesn't work with
the TclXML 2.0 package that is supplied with ActiveTcl. After changing the
"package require" line in xml2rfc.tcl failed to fix the problem (it
generates an access violation), I decided to install the supplied TclXML
1.1.1.

Now, xml2rfc fails with the following error message:

xml2rfc: oops!
invalid command name "::sgml::tokenise"

It seems to me like I've gotten the TclXML 1.1.1 installation wrong, but I
have no idea why or how. Installation instructions seem to be nonexistent.

Any ideas?

Kind regards,

denis

From: [email-masked] (Julian Reschke)
Date: Tue, 2 Oct 2001 19:05:49 +0200
Subject: [xml2rfc] Updated of RFC2629-XSLT available
Message-ID: <[email-masked]>

Hi,

(first post to this list):

a minor update of my XSLT for RFC2629 XML documents is available from:

<http://www.greenbytes.de/tech/webdav/>

Regards, Julian