<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">#!/l/local/bin/perl
#
# pfarber Thu Mar 23 14:23:07 2000
#
# Parse times data which conforms to the timesi DTD:
#
# &lt;!DOCTYPE timesi [
# &lt;!ELEMENT timesi - - (mh)+ &gt;
# &lt;!ELEMENT mh - - (mhead,rec+) +(hi) &gt;
# &lt;!ELEMENT mhead - - (#pcdata|g)+ &gt;
# &lt;!ELEMENT rec - - (k,(d190|d191|d192|d193|d194|d197|d198),e+) &gt;
# &lt;!ELEMENT (d190|d191|d192|d193|d194|d197|d198) - - (#pcdata) &gt;
# &lt;!ELEMENT k - - (#pcdata) &gt;
# &lt;!ELEMENT e - - (h,(h2)?,t,r) &gt;
# 
# &lt;!ELEMENT (h|h2) - - (#pcdata|g)+ &gt;
# &lt;!ELEMENT t - - (#pcdata,g?,(c|q)?)* &gt; 
# &lt;!ELEMENT g - - (#pcdata) &gt; 
# &lt;!ELEMENT (c|q) - - (#pcdata) &gt;
# &lt;!ELEMENT r - - ((c|q)?,(d|f)+,p,#pcdata,v?) &gt;
# &lt;!ELEMENT (d|f) - - (#pcdata) &gt;
# &lt;!ELEMENT p - - (#pcdata) &gt;
# &lt;!ELEMENT v - - (#pcdata) &gt;
# 
# &lt;!ELEMENT hi - - (#pcdata) &gt; ]&gt;
#
# emit the parsed data conforming to the bib DTD: /l1/lib/sgml/bib.dtd
#
# In the process, a data structure for each &lt;rec&gt; mirroring the
# timesi DTD is built: 
#
# %recHash = ( 'k' =&gt; pcdata. 'e' =&gt; [] )
# 
#   where e[0] = ( 'h' =&gt; pcdata stripped of &lt;g&gt;&lt;/g&gt;
# 		   'h2'=&gt; pcdata stripped of &lt;g&gt;&lt;/g&gt;
# 		   't' =&gt; [pcdata, pcdata stripped of &lt;g&gt;&lt;/g&gt;, {-1-} etc. ]
#                       where -1- = ( 'c' =&gt; pcdata, possibly null
#                                     'q' =&gt; pcdata ) possibly null
# 		   'r' =&gt; () )
#

#       where r[0] = ( {-1-}, [-2-], {-3-}, pcdata, {-4-} )
#            where -1- = ( 'c' =&gt; pcdata, possibly null
# 			   'q' =&gt; pcdata ) possibly null
#            where -2-[0] = ( 'd' =&gt; pcdata, possibly null
# 			      'f' =&gt; pcdata ) possibly null
#            where -3- = ( 'p' =&gt; pcdata )
#            where -4- = ( 'v' =&gt; pcdata )

my %charEntHash;

($sec, $min, $hour, $mday, $mon, $year) = localtime(time);
my $date = $date = ($year+1900) . $mon . $mday;

# Grab the prefix of the filename arg to this program as a uniquifier
# for the ID across all files processed
my $idValPart = ( $ARGV[0] =~ m,(.+?)\..+, ? $1 : '');

my $id = 0;

$/ = "&lt;/mh&gt;";

&amp;InitCharEntHash;

while ($mh = &lt;&gt;) 
{
    my @recElementArr;
    
    #
    #--- parse &lt;!ELEMENT mh - - (mhead,rec+) +(hi) &gt;

    # kill &lt;mhead&gt; &lt;/mhead&gt; + content -- just skip 
    # $mh =~ s,&lt;mhead&gt;.*?&lt;/mhead&gt;,,s;

    # kill &lt;g&gt; and &lt;/g&gt; tags
    $mh =~ s,&lt;/?g&gt;,,sg;

    # get each &lt;rec&gt; saving its content
    while ($mh =~ s,&lt;rec&gt;(.*?)&lt;/rec&gt;,,s)
    {
	push(@recElementArr, $&amp;);
    }

    #--- within a &lt;rec&gt;
    foreach $recElement (@recElementArr)
    {
	my %recHash;
	
	# rid &lt;rec&gt; of all \n to make parsing easier
	$recElement =~ s,\n,,gs;

	# map char ents to corresponding character
	# This is no handled by mungeents.pl pfarber Thu Aug 17 12:04:29 2000
	# $recElement =~s,\&amp;([A-Za-z0-9]+?);,$charEntHash{$1},g;

	# kill e.g. &lt;d191&gt;&lt;/d191&gt; + content
	$recElement =~ s,&lt;d1..&gt;.*?&lt;/d1..&gt;,,;

	# map &lt;hi&gt; -&gt; &lt;I&gt;, &lt;/hi&gt; -&gt; &lt;/I&gt; gobally
	$recElement =~ s,&lt;hi&gt;,&lt;I&gt;,g;
	$recElement =~ s,&lt;/hi&gt;,&lt;/I&gt;,g;
	
	# grab content of &lt;k&gt;
	($recHash{'k'}) = ($recElement =~ m,&lt;k&gt;(.*?)&lt;/k&gt;,);

	#--- eat each &lt;e&gt; and process
	$recHash{'e'} = [];
	$eCount = 0;
	while ($recElement =~ s,&lt;e&gt;.*?&lt;/e&gt;,,)
	{
	    my $eElement = $&amp;;
	    
	    # print $eElement . "\n";
	    
	    $recHash{'e'}[$eCount] = {
				 'h' =&gt; "",
				 'h2' =&gt; "",
				 't' =&gt; {},
				 'r' =&gt; {},
				};
	    
	    # the content of &lt;h&gt;,&lt;h2&gt; within this &lt;e&gt;
	    ($recHash{'e'}[$eCount]{'h'}) = ($eElement =~ m,&lt;h&gt;(.*?)&lt;/h&gt;,);
	    ($recHash{'e'}[$eCount]{'h2'}) = ($eElement =~ m,&lt;h2&gt;(.*?)&lt;/h2&gt;,);
	    
	    #--- grab the &lt;t&gt; element within &lt;e&gt;
	    my ($tElement) = ($eElement =~ m,(&lt;t&gt;.*?&lt;/t&gt;),);
	    # kill &lt;g&gt;, &lt;/g&gt; within &lt;t&gt;
	    $tElement =~ s,&lt;/?g&gt;,,;

	    my $temp;
		
	    #--- get content of &lt;t&gt; by parsing (#pcdata,g?,(c|q)?)*
	    $recHash{'e'}[$eCount]{'t'}{'t_pcdata'} = "";
	    while ($tElement ne "&lt;t&gt;&lt;/t&gt;")
	    {
		# grab &lt;t&gt; content until &lt;c&gt;, &lt;q&gt; or &lt;/t&gt; and append
		($temp) = ($tElement =~ m,&lt;t&gt;(.*?)&lt;(/t|c|q)&gt;,);
		$recHash{'e'}[$eCount]{'t'}{'t_pcdata'} .= $temp;

		# eat leading pcdata (watch out for metacharacters in $temp)
		if ( $temp ) 
		{
		    $tElement =~ s,\Q$temp,,;
		}
		
		# get content of (c|q)?
		my ( $cElement, $cElementCont ) =  ( $tElement =~ m,(&lt;c&gt;(.*?)&lt;/c&gt;),);		
		$recHash{'e'}[$eCount]{'t'}{'cq_pcdata'} = $cElementCont;
		$tElement =~ s,\Q$cElement,, if $cElement;
		my ( $qElement, $qElementCont ) =  ( $tElement =~ m,(&lt;q&gt;(.*?)&lt;/q&gt;),);
		$recHash{'e'}[$eCount]{'t'}{'cq_pcdata'} = $qElementCont;
		$tElement =~ s,\Q$qElement,, if $qElement;


	    }
	    
	    #--- grab the &lt;r&gt; element within &lt;e&gt;
	    my ($rElement) = ($eElement =~ m,(&lt;r&gt;.*?&lt;/r&gt;),);	    
	    
	    # get content of &lt;r&gt; by parsing ((c|q)?,(d|f)+,p,#pcdata,v?)
	    $rElement =~ s,&lt;r&gt;,,;	    
	    # (c|q)?
	    ($temp) = ($rElement =~ m,&lt;c&gt;(.*?)&lt;/c&gt;|&lt;q&gt;(.*?)&lt;/q&gt;,);
	    ($recHash{'e'}[$eCount]{'r'}{'cq_pcdata'}) = $temp;
	    $rElement =~ s,&lt;c&gt;.*?&lt;/c&gt;|&lt;q&gt;.*?&lt;/q&gt;,,;	    
	    # (d|f)+ we expect no more than one &lt;d&gt; or &lt;f&gt;
	    ($temp) = ($rElement =~ m,&lt;d&gt;(.*?)&lt;/d&gt;|&lt;f&gt;(.*?)&lt;/f&gt;,);
	    ($recHash{'e'}[$eCount]{'r'}{'df_pcdata'}) = $temp;
	    $rElement =~ s,&lt;d&gt;.*?&lt;/d&gt;|&lt;f&gt;.*?&lt;/f&gt;,,;
	    # p
	    ($temp) = ($rElement =~ m,&lt;p&gt;(.*?)&lt;/p&gt;,);
	    $temp = "p\. $temp";
	    ($recHash{'e'}[$eCount]{'r'}{'p_pcdata'}) = $temp;
	    $rElement =~ s,&lt;p&gt;.*?&lt;/p&gt;,,;
	    # grab pcdata up until &lt;v&gt; or &lt;/r&gt;
	    ($temp) = ($rElement =~ m,(.*?)&lt;(/r|v)&gt;,);
	    $temp = "col\. $temp";
	    ($recHash{'e'}[$eCount]{'r'}{'r_pcdata'}) = $temp;
	    $rElement =~ s,\Q$temp,,;
	    # v?
	    ($temp) = ($rElement =~ m,&lt;v&gt;(.*?)&lt;/v&gt;,);
	    ($recHash{'e'}[$eCount]{'r'}{'v_pcdata'}) = " $temp";
    
	    #--- Emit the data for each &lt;e&gt; transformed
	    
	    # apparently either &lt;t&gt; has (c|q)? or &lt;r&gt; has (c|q)?, exclusively
	    my $cqContent = $recHash{'e'}[$eCount]{'t'}{'cq_pcdata'};
	    if (! $cqContent )
	    {
		$cqContent = $recHash{'e'}[$eCount]{'r'}{'cq_pcdata'};
	    }
	    my $tContent = $recHash{'e'}[$eCount]{'t'}{'t_pcdata'};
	    my $dContent = $recHash{'e'}[$eCount]{'r'}{'df_pcdata'};
	    my $pContent = $recHash{'e'}[$eCount]{'r'}{'p_pcdata'};
	    my $rContent = $recHash{'e'}[$eCount]{'r'}{'r_pcdata'};
	    my $vContent = $recHash{'e'}[$eCount]{'r'}{'v_pcdata'};
	    my $kContent = $recHash{'k'};
	    my $hContent = $recHash{'e'}[$eCount]{'h'}; 
	    my $h2Content = $recHash{'e'}[$eCount]{'h2'};
	    $h2Content = $h2Content ? "&lt;AF&gt;" . $h2Content . "&lt;/AF&gt;" : "";
	    
	    my $idVal = "TIMES" . $idValPart . $id;
	    
	    printf(
		   qq{&lt;A ID=\"$idVal\" DT=\"%s\"&gt;} . 
		   qq{&lt;B&gt;&lt;K&gt;%s&lt;/K&gt;&lt;/B&gt;} .
		   qq{&lt;F&gt;&lt;K&gt;The Times%s&lt;/K&gt;&lt;Z&gt;&lt;YR&gt;%s&lt;/YR&gt;&lt;PG&gt;%s, %s%s&lt;/PG&gt;&lt;/Z&gt;&lt;/F&gt;} .
		   qq{&lt;H&gt;&lt;P&gt;%s&lt;/P&gt;&lt;/H&gt;} .
		   qq{&lt;I2&gt;&lt;KW A=\"Times\"&gt;&lt;AF&gt;%s&lt;/AF&gt;%s&lt;/KW&gt;&lt;/I2&gt;&lt;/A&gt;\n}, 
		   $date,      # DT attval
		   $tContent,  # K within B
		   $cqContent, # K within F
		   $dContent,  # YR
		   $pContent,  # PG
		   $rContent,  # PG following &lt;p&gt; content
		   $vContent,  # PG following &lt;r&gt; content
		   $kContent,  # P
		   $hContent,  # AF
		   $h2Content  # another AF
		  );
	    
	    $eCount += 1;
	    $id +=1;
	}
    }
}


sub InitCharEntHash {
    %charEntHash = (
                    'AElig'    =&gt;   "&amp;AElig;;",   'Aacgr'     =&gt;   "&amp;Aacgr;",    'Aacute'   =&gt; "&amp;Aacute;",
                    'Abar'     =&gt;   "&amp;Abar;",     'Acirc'     =&gt;   "&amp;Acirc;",    'Agr'      =&gt; "&amp;Agr;",
                    'Agrave'   =&gt;   "&amp;Agrave;",   'Agvgr'     =&gt;   "&amp;Agvgr;",    'Atigr'    =&gt; "&amp;Atigr;",
                    'Auml'     =&gt;   "&amp;Auml;",     'Bgr'       =&gt;   "&amp;Bgr;",      'Ccedil'   =&gt; "&amp;Ccedil;",
                    'Dgr'      =&gt;   "&amp;Dgr;",      'EEacgr'    =&gt;   "&amp;EEacgr;",   'EEgr'     =&gt; "&amp;EEgr;",
                    'EEgvgr'   =&gt;   "&amp;EEgvgr;",   'EEtigr'    =&gt;   "&amp;EEtigr;",   'Eacgr'    =&gt; "&amp;Eacgr;",
                    'Eacute'   =&gt;   "&amp;Eacute;",   'Ebreve'    =&gt;   "&amp;Ebreve;",   'Ecirc'    =&gt; "&amp;Ecirc;",
                    'Egr'      =&gt;   "&amp;Egr;",      'Egrave'    =&gt;   "&amp;Egrave;",   'Egvgr'    =&gt; "&amp;Egvgr;",
                    'Etigr'    =&gt;   "&amp;Etigr;",    'Euml'      =&gt;   "&amp;Euml;",     'Ggr'      =&gt; "&amp;Ggr;",
                    'Iacgr'    =&gt;   "&amp;Iacgr;",    'Icirc'     =&gt;   "&amp;Icirc;",    'Igr'      =&gt; "&amp;Igr;",
                    'Igvgr'    =&gt;   "&amp;Igvgr;",    'Itigr'     =&gt;   "&amp;Itigr;",    'Iuml'     =&gt; "&amp;Iuml;",
                    'KHgr'     =&gt;   "&amp;KHgr;",     'Kgr'       =&gt;   "&amp;Kgr;",      'Lgr'      =&gt; "&amp;Lgr;",
                    'Mgr'      =&gt;   "&amp;Mgr;",      'Ngr'       =&gt;   "&amp;Ngr;",      'OElig'    =&gt; "&amp;OElig;",
                    'OHacgr'   =&gt;   "&amp;OHacgr;",   'OHgr'      =&gt;   "&amp;OHgr;",     'OHgvgr'   =&gt; "&amp;OHgvgr;",
                    'OHtigr'   =&gt;   "&amp;OHtigr;",   'Oacgr'     =&gt;   "&amp;Oacgr;",    'Obar'     =&gt; "&amp;Obar;",
                    'Ocirc'    =&gt;   "&amp;Ocirc;",    'Ogr'       =&gt;   "&amp;Ogr;",      'Ogvgr'    =&gt; "&amp;Ogvgr;",
                    'Otigr'    =&gt;   "&amp;Otigr;",    'Ouml'      =&gt;   "&amp;Ouml;",     'PHgr'     =&gt; "&amp;PHgr;",
                    'PSgr'     =&gt;   "&amp;PSgr;",     'Pgr'       =&gt;   "&amp;Pgr;",      'Rgr'      =&gt; "&amp;Rgr;",
                    'Sbreve'   =&gt;   "&amp;Sbreve;",   'Sgr'       =&gt;   "&amp;Sgr;",      'Slungr'   =&gt; "&amp;Slungr;",
                    'THgr'     =&gt;   "&amp;THgr;",     'Tgr'       =&gt;   "&amp;Tgr;",      'Uacgr'    =&gt; "&amp;Uacgr;",
                    'Ucirc'    =&gt;   "&amp;Ucirc;",    'Ugr'       =&gt;   "&amp;Ugr;",      'Ugvgr'    =&gt; "&amp;Ugvgr;",
                    'Utigr'    =&gt;   "&amp;Utigr;",    'Uuml'      =&gt;   "&amp;Uuml;",     'Xgr'      =&gt; "&amp;Xgr;",
                    'Zgr'      =&gt;   "&amp;Zgr;",      'aacdiagr'  =&gt;   "&amp;aacdiagr;", 'aacgr'    =&gt; "&amp;aacgr;",
                    'aacute'   =&gt;   "&amp;aacute;",   'abar'      =&gt;   "&amp;abar;",     'acirc'    =&gt; "&amp;acirc;",
                    'adiagr'   =&gt;   "&amp;adiagr;",   'adiagvgr'  =&gt;   "&amp;adiagvgr;", 'adiatigr' =&gt; "&amp;adiatigr;",
                    'aelig'    =&gt;   "&amp;aelig;",    'agr'       =&gt;   "&amp;agr;",      'agrave'   =&gt; "&amp;agrave;",
                    'agvgr'    =&gt;   "&amp;agvgr;",    'aposgr'   =&gt; "&amp;aposgr;",
                    'aring'    =&gt;   "&amp;aring;",    'ashort'    =&gt;   "&amp;ashort;",   'ast'      =&gt; "&amp;ast;",
                    'atigr'    =&gt;   "&amp;atigr;",    'atilde'    =&gt;   "&amp;atilde;",   'auml'     =&gt; "&amp;auml;",
                    'bgr'      =&gt;   "&amp;bgr;",      'cacute'    =&gt;   "&amp;cacute;",   'cbreve'   =&gt; "&amp;cbreve;",
                    'ccedil'   =&gt;   "&amp;ccedil;",   'colgr'     =&gt;   "&amp;colgr;",    'deg'      =&gt; "&amp;#176",
                    'dgr'      =&gt;   "d",          'dollar'    =&gt;   "\$",         'eacgr'    =&gt; "&amp;eacgr;",
                    'eacute'   =&gt;   "&amp;eacute;",   'ebar'      =&gt;   "&amp;ebar;",     'ebreve'   =&gt; "&amp;ebreve;",
                    'ecirc'    =&gt;   "&amp;ecirc;",    'eeacgr'    =&gt;   "&amp;eeacgr;",   'eegr'     =&gt; "&amp;eegr;",
                    'eegvgr'   =&gt;   "&amp;eegvgr;",   'eetigr'    =&gt;   "&amp;eetigr;",   'egr'      =&gt; "&amp;egr;",
                    'egrave'   =&gt;   "&amp;egrave;",   'egvgr'     =&gt;   "&amp;egvgr;",    'equals'   =&gt; "=",
                    'etigr'    =&gt;   "&amp;etigr;",    'euml'      =&gt;   "&amp;euml;",     'frac12'   =&gt; "1/2",
                    'frac13'   =&gt;   "1/3",        'frac14'    =&gt;   "1/4",        'frac18'   =&gt; "1/8",
                    'frac34'   =&gt;   "3/4",        'frac78'    =&gt;   "7/8",        'fslash'   =&gt; "/",
                    'ggr'      =&gt;   "&amp;ggr;",      'gtigr'     =&gt;   "&amp;gtigr;",    'hyphen'   =&gt; "-",
                    'hyphgr'   =&gt;   "&amp;hyphgr;",   'iacdiagr'  =&gt;   "&amp;iacdiagr;", 'iacgr'    =&gt; "&amp;iacgr;",
                    'iacute'   =&gt;   "&amp;iacute;",   'ibar'      =&gt;   "&amp;ibar;",     'icirc'    =&gt; "&amp;icirc;",
                    'idiagr'   =&gt;   "&amp;idiagr;",   'idiagvgr'  =&gt;   "&amp;idiagvgr;", 'idiatigr' =&gt; "&amp;idiatigr;",
                    'igr'      =&gt;   "&amp;igr;",      'igrave'    =&gt;   "&amp;igrave;",   'igvgr'    =&gt; "&amp;igvgr;",
                    'ishort'   =&gt;   "&amp;ishort;",   'isubgr'    =&gt;   "&amp;isubgr;",   'itigr'    =&gt; "&amp;itigr;",
                    'iuml'     =&gt;   "&amp;iuml;",     'kgr'       =&gt;   "&amp;kgr;",      'khgr'     =&gt; "&amp;khgr;",
                    'ktigr'    =&gt;   "&amp;ktigr;",    'ldquo'     =&gt;   '"',          'lgr'      =&gt; "&amp;lgr;",
                    'lsquo'    =&gt;   "'",           'mdash'    =&gt;   "--",         'mgr'      =&gt; "&amp;mgr;",
                    'minus'    =&gt;   "-",          'naugr'     =&gt;   "&amp;naugr;",    'ndash'    =&gt; "-",
                    'ngr'      =&gt;   "&amp;ngr;",      'ntilde'    =&gt;   "&amp;ntilde;",   'oacgr'    =&gt; "&amp;oacgr;",
                    'oacute'   =&gt;   "&amp;oacute;",   'obar'      =&gt;   "&amp;obar;",     'obreve'   =&gt; "&amp;obreve;",
                    'ocirc'    =&gt;   "&amp;ocirc;",    'oelig'     =&gt;   "&amp;oelig;",    'ogr'      =&gt; "&amp;ogr;",
                    'ograve'   =&gt;   "&amp;ograve;",   'ogvgr'     =&gt;   "&amp;ogvgr;",    'ohacgr'   =&gt; "&amp;ohacgr;",
                    'ohgr'     =&gt;   "&amp;ohgr;",     'ohgvgr'    =&gt;   "&amp;ohgvgr;",   'ohmacrgr' =&gt; "&amp;ohmacrgr;",
                    'ohtigr'   =&gt;   "&amp;ohtigr;",   'oshort'    =&gt;   "&amp;oshort;",   'oslash'   =&gt; "&amp;oslash;",
                    'otigr'    =&gt;   "&amp;otigr;",    'otilde'    =&gt;   "&amp;otilde;",   'ouml'     =&gt; "&amp;ouml;",
                    'percent'  =&gt;   "%",          'pgr'       =&gt;   "&amp;pgr;",      'phgr'     =&gt; "&amp;phgr;",
                    'pound'    =&gt;   "&amp;pound;",    'psgr'      =&gt;   "&amp;psgr;",     'qugr'     =&gt; "&amp;qugr;",
                    'rb'       =&gt;   "&amp;rb;",       'rbAacgr'   =&gt;   "&amp;rbAacgr;",  'rbAgr'    =&gt; "&amp;rbAgr;",
                    'rbAgvgr'  =&gt;   "&amp;rbAgvgr;",  'rbAtigr'   =&gt;   "&amp;rbAtigr;",  'rbEEacgr' =&gt; "&amp;rbEEacgr;",
                    'rbEEgr'   =&gt;   "&amp;rbEEgr;",   'rbEEgvgr'  =&gt;   "&amp;rbEEgvgr;", 'rbEEtigr' =&gt; "&amp;rbEEtigr;",
                    'rbEacgr'  =&gt;   "&amp;rbEacgr;",  'rbEgr'     =&gt;   "&amp;rbEgr;",    'rbEgvgr'  =&gt; "&amp;rbEgvgr;",
                    'rbEtigr'  =&gt;   "&amp;rbEtigr;",  'rbIacgr'   =&gt;   "&amp;rbIacgr;",  'rbIgr'    =&gt; "&amp;rbIgr;",
                    'rbIgvgr'  =&gt;   "&amp;rbIgvgr;",  'rbItigr'   =&gt;   "&amp;rbItigr;",  'rbOHacgr' =&gt; "&amp;rbOHacgr;",
                    'rbOHgr'   =&gt;   "&amp;rbOHgr;",   'rbOHgvgr'  =&gt;   "&amp;rbOHgvgr;", 'rbOHtigr' =&gt; "&amp;rbOHtigr;",
                    'rbOacgr'  =&gt;   "&amp;rbOacgr;",  'rbOgr'     =&gt;   "&amp;rbOgr;",    'rbOgvgr'  =&gt; "&amp;rbOgvgr;",
                    'rbOtigr'  =&gt;   "&amp;rbOtigr;",  'rbRgr'     =&gt;   "&amp;rbRgr;",    'rbUacgr'  =&gt; "&amp;rbUacgr;",
                    'rbUgr'    =&gt;   "&amp;rbUgr;",    'rbUgvgr'   =&gt;   "&amp;rbUgvgr;",  'rbUtigr'  =&gt; "&amp;rbUtigr;",
                    'rbaacgr'  =&gt;   "&amp;rbaacgr;",  'rbagr'     =&gt;   "&amp;rbagr;",    'rbagvgr'  =&gt; "&amp;rbagvgr;",
                    'rbatigr'  =&gt;   "&amp;rbatigr;",  'rbeacgr'   =&gt;   "&amp;rbeacgr;",  'rbeeacgr' =&gt; "&amp;rbeeacgr;",
                    'rbeegr'   =&gt;   "&amp;rbeegr;",   'rbeegvgr'  =&gt;   "&amp;rbeegvgr;", 'rbeetigr' =&gt; "&amp;rbeetigr;",
                    'rbegr'    =&gt;   "&amp;rbegr;",    'rbegvgr'   =&gt;   "&amp;rbegvgr;",  'rbetigr'  =&gt; "&amp;rbetigr;",
                    'rbiacgr'  =&gt;   "&amp;rbiacgr;",  'rbigr'     =&gt;   "&amp;rbigr;",    'rbigvgr'  =&gt; "&amp;rbigvgr;",
                    'rbitigr'  =&gt;   "&amp;rbitigr;",  'rboacgr'   =&gt;   "&amp;rboacgr;",  'rbogr'    =&gt; "&amp;rbogr;",
                    'rbogvgr'  =&gt;   "&amp;rbogvgr;",  'rbohacgr'  =&gt;   "&amp;rbohacgr;", 'rbohgr'   =&gt; "&amp;rbohgr;",
                    'rbohgvgr' =&gt;   "&amp;rbohgvgr;", 'rbohtigr'  =&gt;   "&amp;rbohtigr;", 'rbotigr'  =&gt; "&amp;rbotigr;",
                    'rbreve'   =&gt;   "&amp;rbreve;",   'rbrgr'     =&gt;   "&amp;rbrgr;",    'rbuacgr'  =&gt; "&amp;rbuacgr;",
                    'rbugr'    =&gt;   "&amp;rbugr;",    'rbugvgr'   =&gt;   "&amp;rbugvgr;",  'rbutigr'  =&gt; "&amp;rbutigr;",
                    'rdquo'    =&gt;   '"',          'rgr'       =&gt;   "&amp;rgr;",      'rsquo'    =&gt; "'",
                    'sb'       =&gt;   "&amp;sb;",       'sbAacgr'   =&gt;   "&amp;sbAacgr;",  'sbAgr'    =&gt; "&amp;sbAgr;",
                    'sbAgvgr'  =&gt;   "&amp;sbAgvgr;",  'sbAtigr'   =&gt;   "&amp;sbAtigr;",  'sbEEacgr' =&gt; "&amp;sbEEacgr;",
                    'sbEEgr'   =&gt;   "&amp;sbEEgr;",   'sbEEgvgr'  =&gt;   "&amp;sbEEgvgr;", 'sbEEtigr' =&gt; "&amp;sbEEtigr;",
                    'sbEacgr'  =&gt;   "&amp;sbEacgr;",  'sbEgr'     =&gt;   "&amp;sbEgr;",    'sbEgvgr'  =&gt; "&amp;sbEgvgr;",
                    'sbEtigr'  =&gt;   "&amp;sbEtigr;",  'sbIacgr'   =&gt;   "&amp;sbIacgr;",  'sbIdiagr' =&gt; "&amp;sbIdiagr;",
                    'sbIgr'    =&gt;   "&amp;sbIgr;",    'sbIgvgr'   =&gt;   "&amp;sbIgvgr;",  'sbItigr'  =&gt; "&amp;sbItigr;",
                    'sbOHacgr' =&gt;   "&amp;sbOHacgr;", 'sbOHgr'    =&gt;   "&amp;sbOHgr;",   'sbOHgvgr' =&gt; "&amp;sbOHgvgr;",
                    'sbOHtigr' =&gt;   "&amp;sbOHtigr;", 'sbOacgr'   =&gt;   "&amp;sbOacgr;",  'sbOgr'    =&gt; "&amp;sbOgr;",
                    'sbOgvgr'  =&gt;   "&amp;sbOgvgr;",  'sbOtigr'   =&gt;   "&amp;sbOtigr;",  'sbRgr'    =&gt; "&amp;sbRgr;",
                    'sbUacgr'  =&gt;   "&amp;sbUacgr;",  'sbUgr'     =&gt;   "&amp;sbUgr;",    'sbUgvgr'  =&gt; "&amp;sbUgvgr;",
                    'sbUtigr'  =&gt;   "&amp;sbUtigr;",  'sbaacgr'   =&gt;   "&amp;sbaacgr;",  'sbagr'    =&gt; "&amp;sbagr;",
                    'sbagvgr'  =&gt;   "&amp;sbagvgr;",  'sbatigr'   =&gt;   "&amp;sbatigr;",  'sbeacgr'  =&gt; "&amp;sbeacgr;",
                    'sbeeacgr' =&gt;   "&amp;sbeeacgr;", 'sbeegr'    =&gt;   "&amp;sbeegr;",   'sbeegvgr' =&gt; "&amp;sbeegvgr;",
                    'sbeetigr' =&gt;   "&amp;sbeetigr;", 'sbegr'     =&gt;   "&amp;sbegr;",    'sbegvgr'  =&gt; "&amp;sbegvgr;",
                    'sbetigr'  =&gt;   "&amp;sbetigr;",  'sbiacgr'   =&gt;   "&amp;sbiacgr;",  'sbigr'    =&gt; "&amp;sbigr;",
                    'sbigvgr'  =&gt;   "&amp;sbigvgr;",  'sbitigr'   =&gt;   "&amp;sbitigr;",  'sboacgr'  =&gt; "&amp;sboacgr;",
                    'sbogr'    =&gt;   "&amp;sbogr;",    'sbogvgr'   =&gt;   "&amp;sbogvgr;",  'sbohacgr' =&gt; "&amp;sbohacgr;",
                    'sbohgr'   =&gt;   "&amp;sbohgr;",   'sbohgvgr'  =&gt;   "&amp;sbohgvgr;", 'sbohtigr' =&gt; "&amp;sbohtigr;",
                    'sbotigr'  =&gt;   "&amp;sbotigr;",  'sbreve'    =&gt;   "&amp;sbreve;",   'sbrgr'    =&gt; "&amp;sbrgr;",
                    'sbuacgr'  =&gt;   "&amp;sbuacgr;",  'sbugr'     =&gt;   "&amp;sbugr;",    'sbugvgr'  =&gt; "&amp;sbugvgr;",
                    'sbutigr'  =&gt;   "&amp;sbutigr;",  'sfgr'      =&gt;   "&amp;sfgr;",     'sgr'      =&gt; "&amp;sgr;",
                    'slungr'   =&gt;   "&amp;slungr;",   'tblank'    =&gt;   "    ",       'tgr'      =&gt; "&amp;tgr;",
                    'thgr'     =&gt;   "&amp;thgr;",     'uacdiagr'  =&gt;   "&amp;uacdiagr;", 'uacgr'    =&gt; "&amp;uacgr;",
                    'uacute'   =&gt;   "&amp;uacute;",   'ubar'      =&gt;   "&amp;ubar;",     'ubreve'   =&gt; "&amp;ubreve;",
                    'ucirc'    =&gt;   "&amp;ucirc;",    'udiagr'    =&gt;   "&amp;udiagr;",   'udiagvgr' =&gt; "&amp;udiagvgr;",
                    'udiatigr' =&gt;   "&amp;udiatigr;", 'ugr'       =&gt;   "&amp;ugr;",      'ugrave'   =&gt; "&amp;ugrave;",
                    'ugvgr'    =&gt;   "&amp;ugvgr;",    'ushort'    =&gt;   "&amp;ushort;",   'utigr'    =&gt; "&amp;utigr;",
                    'uuml'     =&gt;   "&amp;uuml;",     'wblank'    =&gt;   "&amp;wblank;",   'xgr'      =&gt; "&amp;xgr;",
                    'yacute'   =&gt;   "&amp;yacute;",   'ygrave'    =&gt;   "&amp;ygrave;",   'yuml'     =&gt; "&amp;yuml;",
                    'z'        =&gt;   "&amp;#160;",     'zbreve'    =&gt;   "z",          'zgr'      =&gt; "&amp;zgr;",
		   )
} 
</pre></body></html>