--- messaging/manakai/bin/daf.pl 2006/05/16 11:26:24 1.13
+++ messaging/manakai/bin/daf.pl 2006/08/15 10:59:24 1.16
@@ -12,22 +12,32 @@
Util => q,
};
+our$VERSION=do{my @r=(q$Revision: 1.16 $=~/\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-modules=s' => sub {
+ shift;
+ my $i = [split /\s+/, shift, 3];
+ $i->[3] = 'dtd-modules';
+ push @{$Opt{create_module}}, $i;
+ },
'create-perl-module=s' => sub {
shift;
my $i = [split /\s+/, shift, 3];
$i->[3] = 'perl-pm';
push @{$Opt{create_module}}, $i;
+ push @target_modules, [$i->[0], $i->[2]];
},
'create-perl-test=s' => sub {
shift;
my $i = [split /\s+/, shift, 3];
$i->[3] = 'perl-t';
push @{$Opt{create_module}}, $i;
+ push @target_modules, [$i->[0], $i->[2]];
},
'debug' => \$Opt{debug},
'dis-file-suffix=s' => \$Opt{dis_suffix},
@@ -35,6 +45,12 @@
'dafs-file-suffix=s' => \$Opt{dafs_suffix},
'dafx-file-suffix=s' => \$Opt{dafx_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;
@@ -82,6 +98,7 @@
$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};
+$Opt{mod_suffix} = '.mod' unless defined $Opt{mod_suffix};
$Message::DOM::DOMFeature::DEBUG = 1 if $Opt{debug};
require Error;
$Error::Debug = 1 if $Opt{debug};
@@ -129,6 +146,10 @@
$feature{ExpandedURI q} = '3.0';
$feature{'+' . ExpandedURI q} = '1.0';
$feature{'+' . ExpandedURI q} = '1.0';
+ } elsif ($out_type eq 'dtd-modules') {
+ require 'manakai/daf-dtd-modules.pl';
+ $feature{ExpandedURI q} = '3.0';
+ $feature{'+' . ExpandedURI q} = '3.0';
}
}
@@ -158,12 +179,6 @@
## property.
);
-my @target_modules;
-for (@{$Opt{create_module}}) {
- my ($mod_uri, $out_path, $mod_for, $out_type) = @$_;
- push @target_modules, [$mod_uri, $mod_for];
-}
-
my $ResourceCount = 0;
$db->pl_update_module (\@target_modules,
get_module_index_file_name => sub {
@@ -247,7 +262,7 @@
status_msg_ " " if ($ResourceCount % (10 * 10)) == 0;
status_msg '' if ($ResourceCount % (10 * 50)) == 0;
}
-});
+}, implementation => $impl);
status_msg '';
status_msg "done";
@@ -294,6 +309,8 @@
daf_perl_pm ($mod_uri, $out_file_path, $mod_for);
} elsif ($out_type eq 'perl-t') {
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);
}
}