You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
167 lines
4.4 KiB
Perl
167 lines
4.4 KiB
Perl
# (c) Level One Entertainment, - AP 2006
|
|
#
|
|
# Dieses Perl skript liest das sourcefile
|
|
# und durchsucht es nach <include tags
|
|
#
|
|
# Sofern nicht vorhanden, werden im include verzeichnis
|
|
# die files angelegt
|
|
#------------------------------------------------------------------------------
|
|
#
|
|
# Gesucht wird nach "<!include=Textzumdarstellen,,>
|
|
#
|
|
# Die zwei ",," Zeichen sind der Indikator dafür das ein File
|
|
# mit Filenamen "Textzumdarstellen_i.html" erzeugt werden soll.
|
|
#
|
|
# Gesucht wird nach "<!include=Textzumdarstellen,includeFILEName,>
|
|
#
|
|
# includeFilename wird auf existenz geprüft. Ist es nicht vorhanden
|
|
# dann wird es erzeugt: includeFILENAME.html
|
|
#
|
|
#
|
|
|
|
$force = false; # Alle files werden überschrieben
|
|
|
|
#
|
|
# E I N S T E L L U N G E N
|
|
#
|
|
# Pfade alle relativ zum skript, das am besten im Root von der html-doku steht.
|
|
#
|
|
$sourcefile = "deu_doku.src/l3lib_schema.html";
|
|
$includedir = "deu_include.src/";
|
|
$xmldir = "deu_xml/";
|
|
|
|
#
|
|
# TEXT der in den neu erzeugten Files geschrieben wird
|
|
#
|
|
$emptytext = "<div class=\"function_small\" >" .
|
|
"<!xml=@@@INCNAME@@@,function_small.xsl>" .
|
|
"</div>";
|
|
|
|
#
|
|
# TEXT der in den neu erzeugten XML Files geschrieben wird
|
|
#
|
|
$emptyxml = "<?xml version=\"1.0\" encoding=\"ISO-8859-15\"?>\n" .
|
|
"<!DOCTYPE f SYSTEM \"function.dtd\">\n" .
|
|
"<?xml-stylesheet type=\"text/xsl\" href=\"function.xsl\"?>\n" .
|
|
"<f>\n" .
|
|
" <Funktionsname>@@@XMLNAME@@@</Funktionsname>\n" .
|
|
" <Beschreibung>In Arbeit</Beschreibung>\n" .
|
|
" <Returnwert>\n" .
|
|
" <Typ>int</Typ>\n" .
|
|
" <Beschreibung>0 bei Erfolg</Beschreibung>\n" .
|
|
" </Returnwert>\n" .
|
|
" <Parameter>\n" .
|
|
" <Arg>\n" .
|
|
" <Typ>void</Typ>\n" .
|
|
" <Variablename></Variablename>\n" .
|
|
" <Beschreibung></Beschreibung>\n" .
|
|
" </Arg>\n" .
|
|
" </Parameter>\n" .
|
|
" <Location>\n" .
|
|
" <Headerfile>lowlevellib.h</Headerfile>\n" .
|
|
" </Location>\n" .
|
|
"</f>\n";
|
|
|
|
|
|
#
|
|
# Extension die zum generierten file dazugehängt wird
|
|
#
|
|
$extension_new = "_i.html";
|
|
$extension_old = ".html";
|
|
|
|
|
|
|
|
#
|
|
# Open Test
|
|
#
|
|
open(IFILE,"<$sourcefile" ) or die "cannot open $sourcefile";
|
|
|
|
|
|
#
|
|
# Lese schleife
|
|
#
|
|
$/ = "\n"; # Trennsymbol
|
|
$zeilen_gesamt = 0; # Zeilen zähler
|
|
$includes_gesamt = 0; # zählt includes
|
|
$filesgeneriert_gesamt = 0; # anzahl generierter Files
|
|
$xmlfilesgeneriert_gesamt = 0; # anzahl generierter XML Files
|
|
|
|
while( <IFILE> ){
|
|
chomp;
|
|
$zeilen_gesamt ++;
|
|
|
|
if( $_ =~ m/<!include=(.+),(.*),/ ) {
|
|
$includes_gesamt++;
|
|
print $1 . ":" . $2 . ": ";
|
|
|
|
# Wenn $2 leer dann $2 aus $1 genereieren
|
|
$filename = $2;
|
|
if( $filename ){
|
|
$filename = $includedir . $2 . $extension_old;
|
|
$xmlfile = $2;
|
|
}
|
|
else
|
|
{
|
|
$filename = $includedir . $1 . $extension_new;
|
|
$xmlfile = $1;
|
|
}
|
|
$xmlfile =~ /(.*)_i/; # _i entfernen
|
|
$xmlfile = $1; # _i entfernen
|
|
|
|
# Test ob include file vorhanden ist
|
|
if(! -e $filename || $force==true ){
|
|
#gibts nicht dann erzeugen
|
|
open (OFILE, ">$filename" ) or
|
|
die "Fehler beim Erzeugen von $filename";
|
|
|
|
#text template auflösen und speichern
|
|
$text = $emptytext;
|
|
$text =~ s/@@@INCNAME@@@/$xmlfile/g;
|
|
print OFILE $text; #ohne "\n" schreiben
|
|
close OFILE;
|
|
|
|
$filesgeneriert_gesamt ++;
|
|
print " ". $filename . " generiert\n";
|
|
}
|
|
else
|
|
{
|
|
print " _i.html:existiert\n";
|
|
}
|
|
|
|
# Test ob xml file vorhanden ist
|
|
$filename = $xmldir . $xmlfile . ".xml";
|
|
if(! -e $filename || $force==true){
|
|
#gibts nicht dann erzeugen
|
|
open (OFILE, ">$filename" ) or
|
|
die "Fehler beim Erzeugen von $filename";
|
|
|
|
#text template auflösen und speichern
|
|
$text = $emptyxml;
|
|
$text =~ s/@@@XMLNAME@@@/$xmlfile/g;
|
|
print OFILE $text; #ohne "\n" schreiben
|
|
close OFILE;
|
|
|
|
$xmlfilesgeneriert_gesamt ++;
|
|
print " ". $filename . " generiert\n";
|
|
}
|
|
else
|
|
{
|
|
print " xml:existiert\n";
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
# Cleanup
|
|
#
|
|
close IFILE;
|
|
print "Fertig\n";
|
|
print "Gelesene Zeilen............" . $zeilen_gesamt . "\n";
|
|
print "Anzahl Include Tags........" . $includes_gesamt . "\n";
|
|
print "Generierte Include Files..." . $filesgeneriert_gesamt . "\n";
|
|
print "Generierte XML Files......." . $xmlfilesgeneriert_gesamt . "\n";
|
|
|
|
|
|
|
|
|