diff options
Diffstat (limited to 'lib/WebCoso/Step/ReST/ToXml.pm')
-rw-r--r-- | lib/WebCoso/Step/ReST/ToXml.pm | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/WebCoso/Step/ReST/ToXml.pm b/lib/WebCoso/Step/ReST/ToXml.pm index 2f9384a..f65e71c 100644 --- a/lib/WebCoso/Step/ReST/ToXml.pm +++ b/lib/WebCoso/Step/ReST/ToXml.pm @@ -21,6 +21,9 @@ Fa tutto alla prima passata =cut +my %srckey_of :ATTR(:init_arg<from> :get<srckey> :default<rstdoc>); +my %dstkey_of :ATTR(:init_arg<to> :get<dstkey> :default<xmldom>); + my $xml_parser=XML::LibXML->new(); $xml_parser->load_ext_dtd(0); $xml_parser->clean_namespaces(1); @@ -32,21 +35,24 @@ sub process { my ($src_path)=$resource->get_axis_values('filename'); + my $srckey=$self->get_srckey(); + my $dstkey=$self->get_dstkey(); + my ($rst_doc,$xml_dom); - $rst_doc=$resource->get_property('rstdoc'); + $rst_doc=$resource->get_property_string($srckey); if (defined $rst_doc) { # monolingua $resource->set_property( - 'xmldom', + $dstkey, rst2xml($rst_doc,$src_path) ); } else { # multilingua my @langs=$resource->get_axis_values('language'); for my $cur_lang (@langs) { - $rst_doc=$resource->get_property({language=>$cur_lang},'rstdoc'); + $rst_doc=$resource->get_property_string({language=>$cur_lang},$srckey); $resource->set_property( {language=>$cur_lang}, - 'xmldom', + $dstkey, rst2xml($rst_doc,$src_path,$cur_lang) ); } |