--- messaging/manakai/bin/daf.pl 2006/05/19 11:02:11 1.14
+++ messaging/manakai/bin/daf.pl 2006/11/04 12:25:10 1.18
@@ -12,12 +12,19 @@
Util => q,
};
+our$VERSION=do{my @r=(q$Revision: 1.18 $=~/\d+/g);sprintf "%d."."%02d" x $#r,@r};
use Cwd;
use Getopt::Long;
use Pod::Usage;
-my %Opt = (create_module => []);
+our %Opt = (create_module => []);
my @target_modules;
GetOptions (
+ 'create-dtd-driver=s' => sub {
+ shift;
+ my $i = [split /\s+/, shift, 3];
+ $i->[3] = 'dtd-driver';
+ push @{$Opt{create_module}}, $i;
+ },
'create-dtd-modules=s' => sub {
shift;
my $i = [split /\s+/, shift, 3];
@@ -43,12 +50,14 @@
'daem-file-suffix=s' => \$Opt{daem_suffix},
'dafs-file-suffix=s' => \$Opt{dafs_suffix},
'dafx-file-suffix=s' => \$Opt{dafx_suffix},
+ 'dtd-file-suffix=s' => \$Opt{dtd_suffix},
'help' => \$Opt{help},
'load-module=s' => sub {
shift;
my $i = [split /\s+/, shift, 2];
push @target_modules, [$i->[0], $i->[1]];
},
+ 'mod-file-suffix=s' => \$Opt{mod_suffix},
'search-path|I=s' => sub {
shift;
my @value = split /\s+/, shift;
@@ -96,7 +105,8 @@
$Opt{daem_suffix} = '.dafm' unless defined $Opt{daem_suffix};
$Opt{dafx_suffix} = '.dafx' unless defined $Opt{dafx_suffix};
$Opt{dafs_suffix} = '.dafs' unless defined $Opt{dafs_suffix};
-$Message::DOM::DOMFeature::DEBUG = 1 if $Opt{debug};
+$Opt{dtd_suffix} = '.dtd' unless defined $Opt{dtd_suffix};
+$Opt{mod_suffix} = '.mod' unless defined $Opt{mod_suffix};
require Error;
$Error::Debug = 1 if $Opt{debug};
$Message::Util::Error::VERBOSE = 1 if $Opt{verbose};
@@ -147,6 +157,10 @@
require 'manakai/daf-dtd-modules.pl';
$feature{ExpandedURI q} = '3.0';
$feature{'+' . ExpandedURI q} = '3.0';
+ } elsif ($out_type eq 'dtd-driver') {
+ require 'manakai/daf-dtd-modules.pl';
+ $feature{ExpandedURI q} = '3.0';
+ $feature{'+' . ExpandedURI q} = '3.0';
}
}
@@ -259,7 +273,7 @@
status_msg_ " " if ($ResourceCount % (10 * 10)) == 0;
status_msg '' if ($ResourceCount % (10 * 50)) == 0;
}
-});
+}, implementation => $impl);
status_msg '';
status_msg "done";
@@ -308,6 +322,8 @@
daf_perl_t ($mod_uri, $out_file_path, $mod_for);
} elsif ($out_type eq 'dtd-modules') {
daf_dtd_modules ($mod_uri, $out_file_path, $mod_for);
+ } elsif ($out_type eq 'dtd-driver') {
+ daf_dtd_driver ($mod_uri, $out_file_path, $mod_for);
}
}