printDTD.pl

  1. $DTD_HOME='C:/Zvon/DTD/Zvon';
  2. $TARGET_HOME='C:/Zvon/ZvonHTML/DTD/Zvon';
  3. opendir DIR, $DTD_HOME;
  4. @list = readdir DIR;
  5. use File::Basename;
  6. use File::Path;
  7. chdir($DTD_HOME);
  8. OUTER: foreach $dtdFile (@list)
  9. {
  10. next OUTER if !($dtdFile=~ /\.dtd/);
  11. $htmlFile = "$TARGET_HOME/$dtdFile";
  12. $htmlFile =~ s/\.dtd/\.html/g;
  13. $htmlDir = dirname($htmlFile);
  14. if(!(-d $htmlDir)) {mkpath($htmlDir,true);};
  15. if(-f $dtdFile)
  16. {
  17. open DTD_IN, $dtdFile;
  18. if (!(open DTD_OUT, ">$htmlFile")){print "\n$htmlFile not created";};
  19. read DTD_IN,$tmp, 1000000;
  20. close DTD_IN;
  21. $tmp=~s/</</g ;
  22. $tmp=~s/>/>/g;
  23. $tmp=~s/\n/<LI>/g;
  24. $tmp=~s/href="(\S*)\.xsl"/href="<A href="$1\.html"> $1\.xsl<\/A>"/g;
  25. print DTD_OUT "<HTML><HEAD><META http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"> <TITLE>$dtdFile</TITLE></HEAD><BODY><H2>$dtdFile</H2><P>generated from template <A HREF='zvonTemplateDTD.html'>zvonTemplateDTD.xml</A></P><OL><LI>$tmp</OL></BODY></HTML>";
  26. close DTD_OUT;
  27. }
  28. }