#!/usr/bin/jperl
#
# Usage: cat faqdb-file | faqdb2doc > doc-file
# Author: Kenji Sato
# Date: 23 Nov 94

$infaq  = 0;

while (<STDIN>) {
    # translate old tag to new tag
    s/^<!DOCTYPE linuxdoc SYSTEM "linuxdoc.dtd" \[$/<!doctype linuxdoc system>/;
    s/^\]>$//;
    s/^<linuxdoc>$//;
    s/^<\/linuxdoc>$/<\/book>/;
    s/^<body>$/<book>\n\n<title>\n<author>\n<date>/;
    s/^<sect>(.*)/<sect>$1\n<p>/g;
    s/<st>//g;
    s/<\/st>//g;
    s/^<chap>(.*)/<chapt>$1\n<p>/g;
    s/<ct>//g;
    s/<\/ct>//g;
    s/^<FAQ>/<faq>/g;
    s/^<\/FAQ>/<\/faq>/g;
    s/^<Item>\s*/<keyword>/g;
    s/^<Subject>\s*/<subj>/g;
    s/^<Poster>\s*/<poster>/g;
    s/^<Date>\s*/<pdate>/g;
    s/^<Q>/<question>/g;
    s/^<\/Q>/<\/question>/g;
    s/^<A>/<answer>/g;
    s/^<\/A>/<\/answer>/g;
    s/^<C>/<coment>/g;
    s/^<\/C>/<\/coment>/g;
    s/^<FIX>/<verb>/g;
    s/^<\/FIX>/<\/verb>/g;
    # translate special charactor
    s/&/&amp;/g;
    s/\[/&lsqb;/g;
    s/\]/&rsqb;/g;
    s/\$/&dollar;/g;
    s/#/&num;/g;
    s/%/&percnt;/g;
    if (/<faq>/)
    {
	$infaq = 1;
    }
    if ($infaq == 1)
    {
	if (/^<subj>/)
	{
	    $infaq = 0;
	    s/^<subj>(.*)/<sect1>$1\n<p>\n/g;
	    print STDOUT;
	    print STDOUT $stock;
	    $stock = "";
	}
	else {
	$stock = $stock . $_;
    }
	next;
    }
    print STDOUT;
}

exit 0;
