From: Egon W. <eg...@us...> - 2002-07-19 12:20:01
|
Update of /cvsroot/woc/woc/bin/index In directory usw-pr-cvs1:/tmp/cvs-serv6791/index Added Files: .cvsignore Makefile genlangxslts.pl index.abbrev.xsl index.bruto.xsl index.cas2smiles.xsl index.en.xsl index.enum.xsl index.nl.xsl index.vnnum.xsl makechemtrans.sh templindex.XX-XX.xsl update.pl woclist.pl woclist.sh Log Message: Added system to make index pages. --- NEW FILE: .cvsignore --- woclist.xml makechemtrans.sh genindex.*.xsl --- NEW FILE: Makefile --- clean: rm genindex.*.xsl rm makechemtrans.sh --- NEW FILE: genlangxslts.pl --- #! /usr/local/bin/perl -w use strict; use diagnostics; my %langs = ( "NL" => { "EN" => "Dutch", "NL" => "Nederlands", }, "EN" => { "EN" => "English", "NL" => "Engels", }, "DE" => { "EN" => "German", "NL" => "Duits", }, "IT" => { "EN" => "Italian", "NL" => "Italiaans", }, "FR" => { "EN" => "French", "NL" => "Frans", }, "ES" => { "EN" => "Spanish", "NL" => "Spaans", }, "LA" => { "EN" => "Latin", "NL" => "Latijn", }, "FY" => { "EN" => "Frysian", "NL" => "Fries", }, ); foreach my $from (keys(%langs)) { foreach my $to (keys(%langs)) { print "$from -> $to$/"; open(INPUT, "<templindex.XX-XX.xsl"); open(OUTPUT, ">genindex.$from-$to.xsl"); while(<INPUT>) { s/#FROM#/$from/; s/#TO#/$to/; print OUTPUT; } } } open(OUTPUT, ">makechemtrans.sh"); print OUTPUT "#!/usr/local/bin/tcsh -f$/$/"; print OUTPUT "# This script is autogenerated with genlangxslts.pl! Do not edit!$/$/"; print OUTPUT "setenv all \""; foreach my $from (keys(%langs)) { foreach my $to (keys(%langs)) { if ($from ne $to) { print OUTPUT "genindex.$from-$to \\$/"; } } } print OUTPUT "\"$/$/"; print OUTPUT "update.pl noxml \$all$/"; --- NEW FILE: index.abbrev.xsl --- <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output mode="html"/> <xsl:template match="/"> <html> <head> <base href="http://www.sci.kun.nl/woc/"/> <link rel="stylesheet" href="http://www.sci.kun.nl/woc/gui/styles/woc.css" type="text/css"/> <script src="gui/javascript/isframe.js"></script> <script src="gui/javascript/browsertest.js"></script> <script src="gui/javascript/location.js"></script> <script><xsl:comment> setLocation("Afkortingen"); // </xsl:comment> </script> </head> <body class="main"> <hr/> <xsl:apply-templates select="woclist" /> <hr/> </body> </html> </xsl:template> <xsl:template match="woclist"> <table border="0" celpadding="0" cellspacing="0" width="100%"> <xsl:for-each select="ITEM/DICT/ABBREV"> <xsl:sort /> <tr> <td class="main"><xsl:value-of select="."/></td> <xsl:choose> <xsl:when test="../NAME/LANG[@ID='NL']"> <td class="main"> <a href="http://www.sci.kun.nl/woc/gui/items/{../../@FILE}.shtml"> <xsl:value-of select="../NAME/LANG[@ID='NL']"/></a> </td> </xsl:when> <xsl:otherwise> <td class="main"> <a href="http://www.sci.kun.nl/woc/gui/items/{../../@FILE}.shtml"> <xsl:value-of select="../../@NAME"/></a> </td> </xsl:otherwise> </xsl:choose> </tr> </xsl:for-each> </table> </xsl:template> <!-- Poging A, B, C, etc.. voor de delen te zetten xsl:template match="woclist"> <table border="0" celpadding="0" cellspacing="0" width="100%"> <xsl:call-template name="letter-deel"> <xsl:with-param name="letter" select="'A'"/> </xsl:call-template> <xsl:call-template name="letter-deel"> <xsl:with-param name="letter" select="'B'"/> </xsl:call-template> <xsl:call-template name="letter-deel"> <xsl:with-param name="letter" select="'C'"/> </xsl:call-template> <xsl:call-template name="letter-deel"> <xsl:with-param name="letter" select="'D'"/> </xsl:call-template> <xsl:call-template name="letter-deel"> <xsl:with-param name="letter" select="'E'"/> </xsl:call-template> <xsl:call-template name="letter-deel"> <xsl:with-param name="letter" select="'F'"/> </xsl:call-template> <xsl:call-template name="letter-deel"> <xsl:with-param name="letter" select="'G'"/> </xsl:call-template> <xsl:call-template name="letter-deel"> <xsl:with-param name="letter" select="'H'"/> </xsl:call-template> <xsl:call-template name="letter-deel"> <xsl:with-param name="letter" select="'I'"/> </xsl:call-template> <xsl:call-template name="letter-deel"> <xsl:with-param name="letter" select="'J'"/> </xsl:call-template> <xsl:call-template name="letter-deel"> <xsl:with-param name="letter" select="'K'"/> </xsl:call-template> </table> </xsl:template> <xsl:template name="letter-deel"> <xsl:param name="letter" select="."/> <H3><xsl:value-of select="$letter"/></H3> <xsl:for-each select="ITEM/DICT/ABBREV[starts-with(string(),$letter)]"> <xsl:sort /> <tr> <td class="main"><a href="http://www.sci.kun.nl/woc/gui/items/{../../@FILE}.shtml"><xsl:value-of select="."/></a></td> <td class="main"><a href="http://www.sci.kun.nl/woc/gui/items/{../../@FILE}.shtml"><xsl:value-of select="../NAME/LANG[@ID='NL']"/></a></td> </tr> </xsl:for-each> </xsl:template--> </xsl:stylesheet> --- NEW FILE: index.bruto.xsl --- <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <!-- xsl:output mode="html"/ --> <xsl:template match="/"> <html> <head> <base href="http://www.sci.kun.nl/woc/"/> <link rel="stylesheet" href="http://www.sci.kun.nl/woc/gui/styles/woc.css" type="text/css"/> <script src="gui/javascript/isframe.js"></script> <script src="gui/javascript/browsertest.js"></script> <script src="gui/javascript/location.js"></script> <script><xsl:comment> setLocation("Bruto Formule lijst"); // </xsl:comment> </script> </head> <body class="main"> <hr/> <xsl:apply-templates select="woclist"/> <hr/> </body> </html> </xsl:template> <xsl:template match="woclist"> <table border="0" celpadding="0" cellspacing="0" width="100%"> <xsl:for-each select="ITEM/molecule/string[@title='StoichiometryID']"> <xsl:sort select="."/> <tr> <td class="main"><xsl:apply-templates select="../string[@title='Stoichiometry']"/></td> <td class="main"> <a href="http://www.sci.kun.nl/woc/gui/items/{../../@FILE}.shtml"> <xsl:value-of select="../../@NAME" /></a></td> </tr> </xsl:for-each> </table> </xsl:template> <xsl:template match="sub"> <sub><xsl:apply-templates /></sub> </xsl:template> </xsl:stylesheet> --- NEW FILE: index.cas2smiles.xsl --- <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output mode="html"/> <xsl:template match="/"> <html> <head> <base href="http://www.sci.kun.nl/woc/"/> <link rel="stylesheet" href="http://www.sci.kun.nl/woc/gui/styles/woc.css" type="text/css"/> <script src="gui/javascript/isframe.js"></script> <script src="gui/javascript/browsertest.js"></script> <script src="gui/javascript/location.js"></script> <script><xsl:comment> setLocation("Nederlands-Engels"); // </xsl:comment> </script> </head> <body class="main"> <hr/> <xsl:apply-templates select="woclist" /> <hr/> </body> </html> </xsl:template> <xsl:template match="NAME"> <xsl:apply-templates/> </xsl:template> <xsl:template match="woclist"> <table border="0" celpadding="0" cellspacing="0" width="100%"> <xsl:for-each select="ITEM"> <xsl:sort select="INDEX[@CLASS='CAS-NUMBER']"/> <xsl:for-each select="INDEX[@CLASS='CAS-NUMBER']"> <xsl:if test="."> <tr> <td class="main"><a href="http://www.sci.kun.nl/woc/gui/items/{../@FILE}.shtml"><xsl:value-of select="."/></a></td> <td class="main"><xsl:value-of select="../INDEX[@CLASS='SMILES']"/></td> </tr> </xsl:if> </xsl:for-each> </xsl:for-each> </table> </xsl:template> </xsl:stylesheet> --- NEW FILE: index.en.xsl --- <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output mode="html"/> <xsl:template match="/"> <html> <head> <base href="http://www.sci.kun.nl/woc/"/> <link rel="stylesheet" href="http://www.sci.kun.nl/woc/gui/styles/woc.css" type="text/css"/> <script src="gui/javascript/isframe.js"></script> <script src="gui/javascript/browsertest.js"></script> <script src="gui/javascript/location.js"></script> <script><xsl:comment> setLocation("Afkortingen"); // </xsl:comment> </script> </head> <body class="main"> <hr/> <xsl:apply-templates select="woclist" /> <hr/> </body> </html> </xsl:template> <xsl:template match="woclist"> <table border="0" celpadding="0" cellspacing="0" width="100%"> <xsl:for-each select="//LANG[@ID='EN']"> <xsl:sort select="."/> <tr> <td class="main"> <a href="http://www.sci.kun.nl/woc/gui/items/{../../../@FILE}.shtml"><xsl:value-of select="."/></a> </td> </tr> </xsl:for-each> </table> </xsl:template> </xsl:stylesheet> --- NEW FILE: index.enum.xsl --- <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xsl:version="1.0"> <xsl:output mode="html"/> <xsl:template match="/"> <html> <head> <base href="http://www.sci.kun.nl/woc/"/> <link rel="stylesheet" href="http://www.sci.kun.nl/woc/gui/styles/woc.css" type="text/css"/> <script src="gui/javascript/isframe.js"></script> <script src="gui/javascript/browsertest.js"></script> <script src="gui/javascript/location.js"></script> <script><xsl:comment> setLocation("Nederlands-Engels"); // </xsl:comment> </script> </head> <body class="main"> <hr/> <xsl:apply-templates select="woclist" /> <hr/> </body> </html> </xsl:template> <xsl:template match="NAME"> <xsl:apply-templates/> </xsl:template> <xsl:template match="woclist"> <table border="0" celpadding="0" cellspacing="0" width="100%"> <xsl:for-each select="ITEM"> <xsl:sort select="INDEX[@CLASS='E-NUMBER']"/> <xsl:for-each select="INDEX[@CLASS='E-NUMBER']"> <xsl:if test="."> <tr> <td class="main"><xsl:text>E</xsl:text><xsl:value-of select="."/></td> <td class="main"><a href="http://www.sci.kun.nl/woc/gui/items/{../@FILE}.shtml"><xsl:value-of select="../@NAME"/></a></td> </tr> </xsl:if> </xsl:for-each> </xsl:for-each> </table> </xsl:template> </xsl:stylesheet> --- NEW FILE: index.nl.xsl --- <?xml version="1.0"?> <xsl:stylesheet xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output mode="html"/> <xsl:template match="/"> <html> <head> <base href="http://www.sci.kun.nl/woc/"/> <link rel="stylesheet" href="http://www.sci.kun.nl/woc/gui/styles/woc.css" type="text/css"/> <script src="gui/javascript/isframe.js"></script> <script src="gui/javascript/browsertest.js"></script> <script src="gui/javascript/location.js"></script> <script><xsl:comment> setLocation("Afkortingen"); // </xsl:comment> </script> </head> <body class="main"> <hr/> <xsl:apply-templates select="woclist" /> <hr/> </body> </html> </xsl:template> <xsl:template match="woclist"> <table border="0" celpadding="0" cellspacing="0" width="100%"> <xsl:for-each select="//LANG[@ID='NL']"> <xsl:sort select="."/> <tr> <td class="main"> <a href="http://www.sci.kun.nl/woc/gui/items/{../../../@FILE}.shtml"><xsl:value-of select="."/></a> </td> </tr> </xsl:for-each> </table> </xsl:template> </xsl:stylesheet> --- NEW FILE: index.vnnum.xsl --- <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output mode="html"/> <xsl:template match="/"> <html> <head> <base href="http://www.sci.kun.nl/woc/"/> <link rel="stylesheet" href="http://www.sci.kun.nl/woc/gui/styles/woc.css" type="text/css"/> <script src="gui/javascript/isframe.js"></script> <script src="gui/javascript/browsertest.js"></script> <script src="gui/javascript/location.js"></script> <script><xsl:comment> setLocation("Nederlands-Engels"); // </xsl:comment> </script> </head> <body class="main"> <hr/> <xsl:apply-templates select="woclist" /> <hr/> </body> </html> </xsl:template> <xsl:template match="NAME"> <xsl:apply-templates/> </xsl:template> <xsl:template match="woclist"> <table border="0" celpadding="0" cellspacing="0" width="100%"> <xsl:for-each select="ITEM"> <xsl:sort select="INDEX[@CLASS='UN-NUMBER']"/> <xsl:for-each select="INDEX[@CLASS='UN-NUMBER']"> <xsl:if test="."> <tr> <td class="main">UN <xsl:value-of select="."/></td> <td class="main"><a href="http://www.sci.kun.nl/woc/gui/items/{../@FILE}.shtml"><xsl:value-of select="../@NAME"/></a></td> </tr> </xsl:if> </xsl:for-each> </xsl:for-each> </table> </xsl:template> </xsl:stylesheet> --- NEW FILE: makechemtrans.sh --- #!/usr/local/bin/tcsh -f # This script is autogenerated with genlangxslts.pl! Do not edit! setenv all "genindex.EN-FR \ genindex.EN-ES \ genindex.EN-DE \ genindex.EN-NL \ genindex.EN-IT \ genindex.EN-LA \ genindex.EN-FY \ genindex.FR-EN \ genindex.FR-ES \ genindex.FR-DE \ genindex.FR-NL \ genindex.FR-IT \ genindex.FR-LA \ genindex.FR-FY \ genindex.ES-EN \ genindex.ES-FR \ genindex.ES-DE \ genindex.ES-NL \ genindex.ES-IT \ genindex.ES-LA \ genindex.ES-FY \ genindex.DE-EN \ genindex.DE-FR \ genindex.DE-ES \ genindex.DE-NL \ genindex.DE-IT \ genindex.DE-LA \ genindex.DE-FY \ genindex.NL-EN \ genindex.NL-FR \ genindex.NL-ES \ genindex.NL-DE \ genindex.NL-IT \ genindex.NL-LA \ genindex.NL-FY \ genindex.IT-EN \ genindex.IT-FR \ genindex.IT-ES \ genindex.IT-DE \ genindex.IT-NL \ genindex.IT-LA \ genindex.IT-FY \ genindex.LA-EN \ genindex.LA-FR \ genindex.LA-ES \ genindex.LA-DE \ genindex.LA-NL \ genindex.LA-IT \ genindex.LA-FY \ genindex.FY-EN \ genindex.FY-FR \ genindex.FY-ES \ genindex.FY-DE \ genindex.FY-NL \ genindex.FY-IT \ genindex.FY-LA \ " update.pl noxml $all --- NEW FILE: templindex.XX-XX.xsl --- <?xml version="1.0"?> <xsl:stylesheet xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <head> <base href="http://www.sci.kun.nl/woc/"/> <link rel="stylesheet" href="http://www.sci.kun.nl/woc/gui/styles/woc.css" type="text/css"/> </head> <body class="main"> <hr/> <xsl:apply-templates select="woclist" /> <hr/> </body> </html> </xsl:template> <xsl:template match="NAME"> <xsl:apply-templates/> </xsl:template> <xsl:template match="woclist"> <table border="0" celpadding="0" cellspacing="0" width="100%"> <xsl:for-each select="ITEM/DICT/NAME"> <xsl:sort select="LANG[@ID='#FROM#']"/> <xsl:for-each select="LANG[@ID='#FROM#']"> <xsl:if test="../LANG[@ID='#TO#']"> <tr> <td class="main"><xsl:value-of select="."/></td> <td class="main"><a href="http://www.sci.kun.nl/woc/gui/items/{../../../@FILE}.shtml"><xsl:value-of select="../LANG[@ID='#TO#']"/></a></td> </tr> </xsl:if> </xsl:for-each> </xsl:for-each> </table> </xsl:template> </xsl:stylesheet> --- NEW FILE: update.pl --- #!/usr/local/bin/tcsh -f setenv name "woclist" setenv baseuri "http://www.sci.kun.nl/woc/gui/index" setenv htmldir "/vol/www/woc/web-docs/gui/index" setenv datadir "/vol/www/woc/bin/index" setenv jarsdir "/vol/www/woc/cgi-bin/jars" setenv all "index.abbrev index.bruto index.DE-NL index.DE-EN index.EN-DE index.EN-NL \ index.NL-DE index.NL-EN index.nl index.enum index.vnnum \ index.smiles2cas index.cas2smiles index.FR-NL index.IT-NL index.FR-EN \ index.IT-EN" if ($1 == '') then echo "Usage: update.pl [web] all" echo "Usage: update.pl [web] [noxml] <index-name> ..." else if ($1 == 'web') then echo "Content-type: text/html" echo "" shift endif if ($1 == 'all') then shift update.pl $* $all else if ($1 == 'noxml') then shift else echo "Creating new $datadir/$name.xml..." $datadir/$name.sh endif foreach index ($*) echo "Parsing $datadir/$name.xml against $datadir/$index.xsl..." xsltproc $datadir/$index.xsl $datadir/$name.xml > ! $htmldir/$index.html chmod 664 $htmldir/$index.html chgrp wwwwoc $htmldir/$index.html end echo "Done!" endif endif unsetenv name baseuri htmldir datadir jarsdir all --- NEW FILE: woclist.pl --- # hulp-script gebruikt door wocml.sh my $cmldir="/vol/www/woc/web-docs/data/dadml/fysisch/cml"; my $infile; my $outfile; if (@ARGV >= 2) { $infile = shift; $outfile = shift; } else { $infile = "woclist.tmp2.xml"; $outfile = "woclist.xml"; } open (INFILE, "$infile"); open (OUTFILE, ">$outfile"); #print eerste regel alvast $_ = <INFILE>; print OUTFILE; while (<INFILE>) { my $file; if (/ITEM.*?CODE=/i) { s/CODE/FILE/i; print OUTFILE; } elsif (/INSERT.*PhysicalProperties.*>(.*)</i) { my @inserts = `awk '/<molecule/,/<\\/molecule/{print " ",\$0}' $cmldir/$1`; foreach my $insert (@inserts) { if ($insert =~ /^(.*Stoichiometry.*>)(.*)(<.*)$/i) { my $pre = $1; my $bruto = $2; my $brutoID = $2; my $post = $3; $bruto =~ s/(\d+)/<sub>$1<\/sub>/ig; print OUTFILE $pre,$bruto,$post,$/; $pre =~ s/Stoichiometry/StoichiometryID/i; $brutoID =~ s/(\d+)/{$1}/ig; while ($brutoID =~ /\{(\d+?)\}/) { my $number = sprintf "%04i", $1; $brutoID =~ s/\{\d+?\}/$number/; } print OUTFILE $pre,$brutoID,$post,$/; } else { print OUTFILE $insert; } } } elsif (/\<\?xml.*\?\>/i) { s/\<\?xml.*\?\>//i; print OUTFILE; } else { print OUTFILE; } } # zoals in Convert.java sub NAMELikeToANCHORLike { # heeft 1 parameter my $param = shift @_; $param =~ s/^\s*(.*?)\s*$/$1/ig; $param =~ s/\ /\_/g; $param =~ s/[,|.|<|>]//g; $param =~ tr/[A-Z]/[a-z]/; return $param; } --- NEW FILE: woclist.sh --- #!/usr/bin/tcsh -f setenv name "woclist" setenv ext ".xml" setenv temp ".tmp" setenv temp2 ".tmp2" setenv wmldir "/vol/www/woc/data/wml" # cmldir is in perl-stukje gedefinieerd cat $wmldir/*.xml > ! $name$temp echo '<?xml version="1.0" encoding="ISO-8859-1"?>' > ! $name$temp2 echo '<\!DOCTYPE ITEM SYSTEM "../../data/dtd/'$name'.dtd">' >> $name$temp2 echo '<'$name' xmlns:xsl="http://www.w3.org/1999/XSL/Transform"' >> $name$temp2 echo ' xmlns:import="http://www.sci.kun.nl/woc/import"' >> $name$temp2 echo ' xmlns:xlink="http://www.sci.kun.nl/woc/topicmap">' >> $name$temp2 awk "/\<ITEM/,/\<\/ITEM/{print}" $name$temp >> $name$temp2 echo '</'$name'>' >> $name$temp2 perl $name.pl $name$temp2 $name$ext rm $name$temp $name$temp2 chgrp wwwwoc $name$ext chmod 664 $name$ext |