/[suikacvs]/messaging/manakai/bin/daf.pl
Suika

Diff of /messaging/manakai/bin/daf.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.18 by wakaba, Sat Nov 4 12:25:10 2006 UTC revision 1.19 by wakaba, Sun Nov 5 10:57:29 2006 UTC
# Line 1  Line 1 
1  #!/usr/bin/perl -w  #!/usr/bin/perl -w
2  use strict;  use strict;
3  use Message::Util::QName::Filter {  use Message::Util::QName::Filter {
   c => q<http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core#>,  
   DIS => q<http://suika.fam.cx/~wakaba/archive/2005/manakai/Util/DIS#>,  
4    dis => q<http://suika.fam.cx/~wakaba/archive/2004/8/18/lang#dis-->,    dis => q<http://suika.fam.cx/~wakaba/archive/2004/8/18/lang#dis-->,
5    dp => q<http://suika.fam.cx/~wakaba/archive/2005/manakai/Util/DIS#Perl/>,    dp => q<http://suika.fam.cx/~wakaba/archive/2005/manakai/Util/DIS#Perl/>,
   fe => q<http://suika.fam.cx/www/2006/feature/>,  
6    ManakaiDOM => q<http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom#>,    ManakaiDOM => q<http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom#>,
   pc => q<http://suika.fam.cx/~wakaba/archive/2005/manakai/Util/PerlCode#>,  
7    swcfg21 => q<http://suika.fam.cx/~wakaba/archive/2005/swcfg21#>,    swcfg21 => q<http://suika.fam.cx/~wakaba/archive/2005/swcfg21#>,
   Util => q<http://suika.fam.cx/~wakaba/archive/2005/manakai/Util/>,  
8  };  };
9    
10  our$VERSION=do{my @r=(q$Revision$=~/\d+/g);sprintf "%d."."%02d" x $#r,@r};  our$VERSION=do{my @r=(q$Revision$=~/\d+/g);sprintf "%d."."%02d" x $#r,@r};
# Line 138  sub verbose_msg_ ($) { Line 133  sub verbose_msg_ ($) {
133  my $start_time;  my $start_time;
134  BEGIN { $start_time = time }  BEGIN { $start_time = time }
135    
136  use Message::Util::DIS::DNLite;  use Message::DOM::DOMCore;
   
 my %feature;  
137    
138  for (@{$Opt{create_module}}) {  for (@{$Opt{create_module}}) {
139    my (undef, undef, undef, $out_type) = @$_;    my (undef, undef, undef, $out_type) = @$_;
140    
141    if ($out_type eq 'perl-pm') {    if ($out_type eq 'perl-pm') {
142      require 'manakai/daf-perl-pm.pl';      require 'manakai/daf-perl-pm.pl';
     $feature{'+' . ExpandedURI q<Util:PerlCode>} = '1.0';  
143    } elsif ($out_type eq 'perl-t') {    } elsif ($out_type eq 'perl-t') {
144      require 'manakai/daf-perl-t.pl';      require 'manakai/daf-perl-t.pl';
     $feature{ExpandedURI q<fe:GenericLS>} = '3.0';  
     $feature{'+' . ExpandedURI q<DIS:TDT>} = '1.0';  
     $feature{'+' . ExpandedURI q<Util:PerlCode>} = '1.0';  
145    } elsif ($out_type eq 'dtd-modules') {    } elsif ($out_type eq 'dtd-modules') {
146      require 'manakai/daf-dtd-modules.pl';      require 'manakai/daf-dtd-modules.pl';
     $feature{ExpandedURI q<fe:GenericLS>} = '3.0';  
     $feature{'+' . ExpandedURI q<fe:XDP>} = '3.0';  
147    } elsif ($out_type eq 'dtd-driver') {    } elsif ($out_type eq 'dtd-driver') {
148      require 'manakai/daf-dtd-modules.pl';      require 'manakai/daf-dtd-modules.pl';
     $feature{ExpandedURI q<fe:GenericLS>} = '3.0';  
     $feature{'+' . ExpandedURI q<fe:XDP>} = '3.0';  
149    }    }
150  }  }
151    
152  our $limpl = $Message::DOM::ImplementationRegistry->get_implementation  our $impl = $Message::DOM::ImplementationRegistry->get_implementation;
                            ({ExpandedURI q<fe:Min> => '3.0',  
                              '+' . ExpandedURI q<DIS:DNLite> => '1.0',  
                              '+' . ExpandedURI q<DIS:Core> => '1.0',  
                              %feature,  
                            });  
 our $impl = $limpl->get_feature (ExpandedURI q<DIS:Core> => '1.0');  
153    
154  ## --- Loading and Updating the Database  ## --- Loading and Updating the Database
155    
# Line 180  $db->pl_database_module_resolver (\&daf_ Line 159  $db->pl_database_module_resolver (\&daf_
159  $db->dom_config->set_parameter ('error-handler' => \&daf_on_error);  $db->dom_config->set_parameter ('error-handler' => \&daf_on_error);
160    
161  my $parser = $impl->create_dis_parser;  my $parser = $impl->create_dis_parser;
 my $DNi = $impl->get_feature (ExpandedURI q<DIS:DNLite> => '1.0');  
162  my %ModuleSourceDISDocument;  my %ModuleSourceDISDocument;
163  my %ModuleSourceDNLDocument;  my %ModuleSourceDNLDocument;
164  my %ModuleNameNamespaceBinding = (  my %ModuleNameNamespaceBinding = (
# Line 307  status_msg "done"; Line 285  status_msg "done";
285    
286  daf_check_undefined ();  daf_check_undefined ();
287    
 undef $DNi;  
288  undef %ModuleSourceDNLDocument;  undef %ModuleSourceDNLDocument;
289  exit $HasError if $HasError;  exit $HasError if $HasError;
290    
# Line 336  $db->free; Line 313  $db->free;
313  undef $db;  undef $db;
314  status_msg "done";  status_msg "done";
315    
 undef $limpl;  
316  undef $impl;  undef $impl;
317    
318  {  {
# Line 429  sub daf_convert_dis_document_to_dnl_docu Line 405  sub daf_convert_dis_document_to_dnl_docu
405      my $dis_doc = $ModuleSourceDISDocument{$module_uri};      my $dis_doc = $ModuleSourceDISDocument{$module_uri};
406      next M unless $dis_doc;      next M unless $dis_doc;
407      verbose_msg_ qq<Converting <$module_uri>...>;      verbose_msg_ qq<Converting <$module_uri>...>;
408      my $dnl_doc = $DNi->convert_dis_document_to_dnl_document      my $dnl_doc = $impl->convert_dis_document_to_dnl_document
409                            ($dis_doc, database_arg => $db,                            ($dis_doc, database_arg => $db,
410                             base_namespace_binding =>                             base_namespace_binding =>
411                               {(map {$_->local_name => $_->target_namespace_uri}                               {(map {$_->local_name => $_->target_namespace_uri}

Legend:
Removed from v.1.18  
changed lines
  Added in v.1.19

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24