-----BEGIN PGP SIGNED MESSAGE-----
"Rosen" == Rosen, Brian <Brian(_dot_)Rosen(_at_)marconi(_dot_)com> writes:
Rosen> I therefore have a modest proposal:
Rosen> Allow the submission of an xml file meeting the requirements of
Rosen> RFC2629
Rosen> along with the text file (and optional ps file) for an Internet
Rosen> Draft.
This is a great idea.
Rosen> This would change the "Guidelines to Authors of Internet-Drafts"
Rosen> document to add: "XML marked-up text is acceptable, but only when
Rosen> submitted
Rosen> with a matching ASCII version. The xml file should be in
Rosen> conformance
Rosen> with RFC2629."
I think that the DTD that xml2rfc uses has evolved a bit since 2629.
The other tools have evolved too, I think. Point being that we may have
to do 2629bis first.
It would be so nice to be able to refer to the draft itself in order to
cite it :-)
I'd like it if the charters were also available by rsync.
Even better if we started using a directory per WG...
I do the following with my drafts:
1) sort them by WG name.
2) copy the charter.
3) link in any RFCs that the charter references.
===
#!/usr/bin/perl
chdir('/corp/ietf');
system("rsync -avz ftp.rfc-editor.org::rfcs-text-only ftp.ietf.org/rfc");
system("rsync -avz optimus.ietf.org::internet-drafts
ftp.ietf.org/internet-drafts");
system("cd html.charters; wget -r -l 1 -nv -np -nd -nc
http://www.ietf.org/html.charters/");
opendir(DRAFTS,"ftp.ietf.org/internet-drafts");
@drafts=readdir(DRAFTS);
closedir(DRAFTS);
foreach $draft (@drafts) {
next if ($draft =~ /^\./);
$draft =~ m,draft-([^-]*)-([^-]*)-(.*),;
if($1 eq "ietf") {
$dir = "id/$1/$2";
$base= $3;
} else {
$dir = "id/$1";
$base ="$2-$3";
}
next if (-f "$dir/$base");
print "$draft -> $dir/$base\n";
system("mkdir -p $dir") unless (-d "$dir");
link("ftp.ietf.org/internet-drafts/$draft","$dir/$base");
}
opendir(CHARTERS,"html-charters");
@charters=readdir(CHARTERS);
closedir(CHARTERS);
foreach $charter (@charters) {
next if ($charter =~ /^\./);
if($charter =~ m,(.*)-charter.html,) {
# got one, copy it, sanitizing the links.
$wgname=$1;
$infile="html.charters/$charter";
$dir="id/ietf/$wgname";
system("mkdir -p $dir") unless (-d "$dir");
$outfile="$dir/$charter";
if(-f $outfile ) {
# if date of infile is older than outfile
print STDERR "$infile: ".(-M $infile)." $outfile: ".(-M $outfile)."\n";
if(-M $infile > -M "$outfile") {
print STDERR "$infile not newer than $outfile\n";
}
}
# okay, process it.
open(CHARTER, $infile) || die "Can not open $infile: $!\n";
open(OUTFILE, ">$outfile")|| die "Can not open $outfile: $!\n";
while(<CHARTER>) {
# localize references
s,href="/internet-drafts/draft-ietf-(.*\.txt)",href="\1",g;
if(m,href="/rfc/rfc(.*).txt",) {
$rfcnum=$1;
s,href="/rfc/rfc(.*).txt",href="rfc\1.txt",g;
#print STDERR "looking for rfc$rfcnum.txt\n";
if(! -f "$dir/rfc$rfcnum.txt" &&
! -f "$dir/rfc$rfcnum.txt.Z") {
$rfc4 = sprintf("%d", $rfcnum);
print STDERR "linking: ftp.ietf.org/rfc/$rfc4.txt\n";
link("ftp.ietf.org/rfc/rfc$rfc4.txt","$dir/rfc$rfcnum.txt") || die
"Can not link ftp.ietf.org/rfc/rfc$rfc4.txt: $!\n";
}
}
print OUTFILE;
}
close(CHARTER);
close(OUTFILE);
}
}
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)
Comment: Finger me for keys - custom hacks make this fully PGP2 compat
iQCVAwUBP1TAz4qHRg3pndX9AQGhZAP/bql06JCfPjf+CoWjRE4Q4jtzzqmjs1bY
YwgdZwfbPJML8z1nVlXKdyb/3l2pM70g0uTHIb52QBSrmIOu48DaohdAWeo4xKOy
JO0jwxX3VilBmXv6V805tHuHesVxzc6OITKm5MeZ+13gSvIKHjB5L0zDoEgyZlE7
rj653vyo5rU=
=M4fN
-----END PGP SIGNATURE-----