annotate Lib/IMPL/DOM/Transform/PostToDOM.pm @ 32:56cef8e3cda6

+1
author Sergey
date Mon, 09 Nov 2009 01:39:31 +0300
parents 94d47b388442
children 16ada169ca75
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
1 package IMPL::DOM::Post2DOM;
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
2 use strict;
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
3 use warnings;
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
4
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
5 use IMPL::DOM::Navigator;
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
6 use IMPL::Class::Property;
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
7
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
8 use base qw(IMPL::Transform);
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
9
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
10 BEGIN {
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
11 public property Navigator => prop_get | owner_set;
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
12 }
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
13
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
14 our %CTOR = (
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
15 'IMPL::Transform' => sub {
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
16 return (
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
17 HASH => \&TransfromPostData
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
18 );
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
19 }
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
20 );
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
21
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
22 sub TransformPostData {
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
23 my ($this,$data) = @_;
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
24
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
25 my $navi = $this->Navigator;
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
26
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
27 while (my ($key,$value) = each %$data) {
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
28 my $node = $navi->Navigate($key);
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
29 $node->nodeValue($value);
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
30 }
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
31
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
32 return $navi->Document;
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
33 }
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
34
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
35
94d47b388442 Улучшены тесты
Sergey
parents:
diff changeset
36 1;