Update of /cvsroot/woc/woc/src/woc/src/index In directory usw-pr-cvs1:/tmp/cvs-serv23171/woc/src/index Added Files: Makefile.am genlangxslts.pl genlangxslts.pl.in index.abbrev.xsl index.bruto.xsl index.cas2smiles.xsl index.en.xsl index.enum.xsl index.nl.xsl index.smiles2cas.xsl index.vnnum.xsl makechemtrans.sh templindex.XX-XX.xsl update.sh update.sh.in woclist.pl woclist.pl.in woclist.sh woclist.sh.in Log Message: --- NEW FILE: Makefile.am --- bindir=${prefix}/bin/index bin_SCRIPTS = \ woclist.sh \ woclist.pl \ genlangxslts.pl \ update.sh CLEANFILES = $(bin_SCRIPTS) --- NEW FILE: genlangxslts.pl --- #! /usr/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, ">index.$from-$to.xsl"); while(<INPUT>) { s/#FROM#/$from/; s/#TO#/$to/; print OUTPUT; } } } open(OUTPUT, ">makechemtrans.sh"); print OUTPUT "#! /usr/bin/sh\n"; print OUTPUT "# This script is autogenerated with genlangxslts.pl! Do not edit!\n\n"; print OUTPUT "all=\""; foreach my $from (keys(%langs)) { foreach my $to (keys(%langs)) { if ($from ne $to) { print OUTPUT "index.$from-$to \\\n"; } } } print OUTPUT "\"\n\n"; print OUTPUT "update.sh \$all\n"; `chmod 755 makechemtrans.sh` --- NEW FILE: genlangxslts.pl.in --- #! @PATHTOPERL@ -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, ">index.$from-$to.xsl"); while(<INPUT>) { s/#FROM#/$from/; s/#TO#/$to/; print OUTPUT; } } } open(OUTPUT, ">makechemtrans.sh"); print OUTPUT "#! @PATHTOSH@\n"; print OUTPUT "# This script is autogenerated with genlangxslts.pl! Do not edit!\n\n"; print OUTPUT "all=\""; foreach my $from (keys(%langs)) { foreach my $to (keys(%langs)) { if ($from ne $to) { print OUTPUT "index.$from-$to \\\n"; } } } print OUTPUT "\"\n\n"; print OUTPUT "update.sh \$all\n"; `chmod 755 makechemtrans.sh` --- NEW FILE: index.abbrev.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="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.smiles2cas.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='SMILES']"/> <xsl:for-each select="INDEX[@CLASS='SMILES']"> <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='CAS-NUMBER']"/></td> </tr> </xsl:if> </xsl:for-each> </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/bin/sh # This script is autogenerated with genlangxslts.pl! Do not edit! all="index.EN-FR \ index.EN-ES \ index.EN-DE \ index.EN-NL \ index.EN-IT \ index.EN-LA \ index.EN-FY \ index.FR-EN \ index.FR-ES \ index.FR-DE \ index.FR-NL \ index.FR-IT \ index.FR-LA \ index.FR-FY \ index.ES-EN \ index.ES-FR \ index.ES-DE \ index.ES-NL \ index.ES-IT \ index.ES-LA \ index.ES-FY \ index.DE-EN \ index.DE-FR \ index.DE-ES \ index.DE-NL \ index.DE-IT \ index.DE-LA \ index.DE-FY \ index.NL-EN \ index.NL-FR \ index.NL-ES \ index.NL-DE \ index.NL-IT \ index.NL-LA \ index.NL-FY \ index.IT-EN \ index.IT-FR \ index.IT-ES \ index.IT-DE \ index.IT-NL \ index.IT-LA \ index.IT-FY \ index.LA-EN \ index.LA-FR \ index.LA-ES \ index.LA-DE \ index.LA-NL \ index.LA-IT \ index.LA-FY \ index.FY-EN \ index.FY-FR \ index.FY-ES \ index.FY-DE \ index.FY-NL \ index.FY-IT \ index.FY-LA \ " update.sh $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"> <!-- This stylesheet is autogenerated with genlangxslts.pl! Do not edit! --> <xsl:template match="/"> <html> <head> <base href="http://www-woc.sci.kun.nl/"/> <link rel="stylesheet" href="http://www-woc.sci.kun.nl/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-woc.sci.kun.nl/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.sh --- #! /usr/bin/sh -f name="woclist" baseuri="http://www-woc.sci.kun.nl/gui/index" htmldir="../../web-docs/gui/index" datadir="." # The default makes all indices except for the pages # translating words XX-XX. Those are done with the # script makechemtrans.pl. all="index.abbrev index.bruto index.nl index.enum index.vnnum \ index.smiles2cas index.cas2smiles" if test "x$1" = "x" then echo "Usage: update.pl xml" echo "Usage: update.pl [web] all" echo "Usage: update.pl [web] <index-name> ..." else if test "x$1" = "xxml" then echo "Creating new $datadir/$name.xml..." $datadir/$name.sh exit fi if test "x$1" = "xweb" then echo "Content-type: text/html" echo "" shift fi if test "x$1" = "xall"; then shift ./update.sh $all else for index in $* do 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 done echo "Done!" fi fi --- NEW FILE: update.sh.in --- #! @PATHTOSH@ -f name="woclist" baseuri="http://www-woc.sci.kun.nl/gui/index" htmldir="../../web-docs/gui/index" datadir="." # The default makes all indices except for the pages # translating words XX-XX. Those are done with the # script makechemtrans.pl. all="index.abbrev index.bruto index.nl index.enum index.vnnum \ index.smiles2cas index.cas2smiles" if test "x$1" = "x" then echo "Usage: update.pl xml" echo "Usage: update.pl [web] all" echo "Usage: update.pl [web] <index-name> ..." else if test "x$1" = "xxml" then echo "Creating new $datadir/$name.xml..." $datadir/$name.sh exit fi if test "x$1" = "xweb" then echo "Content-type: text/html" echo "" shift fi if test "x$1" = "xall"; then shift ./update.sh $all else for index in $* do 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 done echo "Done!" fi fi --- NEW FILE: woclist.pl --- #! /usr/bin/perl use strict; use diagnostics; # Author: Geert Josten # hulp-script gebruikt door wocml.sh my $cmldir="../../data/dadml/physicalprop/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.pl.in --- #! @PATHTOPERL@ use strict; use diagnostics; # Author: Geert Josten # hulp-script gebruikt door wocml.sh my $cmldir="../../data/dadml/physicalprop/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/sh -e # Author: Geert Josten NAME="woclist" EXT=".xml" TEMP=".tmp" TEMP2=".tmp2" WMLDIR="../../data/wml" # cmldir is in perl-stukje gedefinieerd echo "" > $NAME$TEMP cat `find $WMLDIR/123 -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/a -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/b -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/c -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/d -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/e -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/f -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/g -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/h -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/i -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/j -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/k -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/l -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/m -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/n -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/o -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/p -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/q -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/r -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/s -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/t -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/u -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/v -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/w -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/x -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/y -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/z -name "*.xml" | grep -v templates` >> $NAME$TEMP echo '<?xml version="1.0" encoding="ISO-8859-1"?>' > $NAME$TEMP2 echo '<!DOCTYPE ITEM SYSTEM "../../lib/xml/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 /usr/bin/perl $NAME.pl $NAME$TEMP2 $NAME$EXT rm $NAME$TEMP $NAME$TEMP2 # chgrp wwwwoc $NAME$EXT chmod 664 $NAME$EXT --- NEW FILE: woclist.sh.in --- #! @PATHTOSH@ -e # Author: Geert Josten NAME="woclist" EXT=".xml" TEMP=".tmp" TEMP2=".tmp2" WMLDIR="../../data/wml" # cmldir is in perl-stukje gedefinieerd echo "" > $NAME$TEMP cat `find $WMLDIR/123 -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/a -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/b -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/c -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/d -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/e -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/f -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/g -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/h -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/i -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/j -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/k -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/l -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/m -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/n -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/o -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/p -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/q -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/r -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/s -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/t -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/u -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/v -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/w -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/x -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/y -name "*.xml" | grep -v templates` >> $NAME$TEMP cat `find $WMLDIR/z -name "*.xml" | grep -v templates` >> $NAME$TEMP echo '<?xml version="1.0" encoding="ISO-8859-1"?>' > $NAME$TEMP2 echo '<!DOCTYPE ITEM SYSTEM "../../lib/xml/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 @PATHTOPERL@ $NAME.pl $NAME$TEMP2 $NAME$EXT rm $NAME$TEMP $NAME$TEMP2 # chgrp wwwwoc $NAME$EXT chmod 664 $NAME$EXT |