makeDTD.pl
- $sourceTemplateXML="zvonTemplateDTD.xml";
- $xslTemplateDirectory="C:/Zvon/Stylesheets/xslStylesheets/Zvon";
- $dtdDirectory="C:/Zvon/DTD/Zvon";
- $versionDTD="1_00";
- $XSL_ENGINE = 'c:\q\jre\bin\java -cp c:\q\xt\xt.jar;c:\q\xp\xp.jar com.jclark.xsl.sax.Driver';
- print STDOUT "\n\nValidation started.\n";
- chdir $dtdDirectory;
- system "v $sourceTemplateXML";
- print STDOUT "\n\nStart transformation? [y]: ";
- $tmp = <STDIN>;
- chomp $tmp;
- if (not($tmp eq '' or $tmp eq 'y')) {exit;}
- print STDOUT "Root element [$ARGV[0]]: ";
- $rootElement = <STDIN>;
- chomp($rootElement);
- if($rootElement eq ""){$rootElement=$ARGV[0];};
- print STDOUT "Use schema [$ARGV[1]]: ";
- $in = <STDIN>;
- chomp($in);
- if($in eq ""){$in=$ARGV[1];};
- $finalDTD="$rootElement\_$versionDTD.dtd";
- print "\nfinal DTD : $finalDTD \n\n";
- if($finalDTD eq ""){$finalDTD=$temp;};
- if (not
- (open
- (TEMPLATE, ">$xslTemplateDirectory/dtdTemplateConditions.xsl")
- )
- )
- {print STDOUT "$xslTemplateDirectory/dtdTemplateConditions.xsl failed";};
- print TEMPLATE
- "<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' >
- <xsl:variable name='rootElement'>$rootElement</xsl:variable>
- <xsl:variable name='in'>$in</xsl:variable>
- </xsl:stylesheet>";
- close TEMPLATE;
- $xmlFile = $sourceTemplateXML;
- $xmlFile =~ s/\//\\/g;
- $xslFile = "$xslTemplateDirectory/zvonDTD_2_10.xsl";
- $xslFile =~ s/\//\\/g;
- $dtdFile = $finalDTD;
- $dtdFile =~ s/\//\\/g;
- system "$XSL_ENGINE $xmlFile $xslFile $dtdFile ";
- if (!(open("FILE",$dtdFile))) {print "Open $dtdFile failed";exit;};
- read (FILE,$text,1000000);
- close FILE;
- $text=~s/\<\;/\</g;
- $text=~s/\>\;/\>/g;
- if (!(open(OUT,">$dtdFile"))) {print "\nOutput file $dtdFile was not created\n";exit;};
- print OUT $text;
- close OUT;
- print STDOUT "\n\nShow generated DTD? [n]: ";
- $tmp = <STDIN>;
- chomp $tmp;
- if ($tmp eq 'n' or $tmp eq '') {exit;}
- system("notepad $dtdFile");
-
-