comparison Lib/IMPL/DOM/Document.pm @ 77:9d24db321029

Refactoring Web::TT docs
author wizard
date Fri, 02 Apr 2010 20:18:46 +0400
parents 16ada169ca75
children 196bf443b5e1
comparison
equal deleted inserted replaced
76:b1652a158b2b 77:9d24db321029
34 1; 34 1;
35 __END__ 35 __END__
36 36
37 =pod 37 =pod
38 38
39 =head1 NAME
40
41 C<IMPL::DOM::Document> DOM документ.
42
39 =head1 DESCRIPTION 43 =head1 DESCRIPTION
44
45 Документ, позволяет создавать узлы определенных типов, что позволяет абстрагироваться
46 от механизмов реального создания объектов. Т.о. например C<IMPL::DOM::Navigator::Builder>
47 может формировать произвольные документы.
48
49 =head1 SYNOPSIS
50
51 =begin code
52
53 package MyDocument;
54 use base qw(IMPL::DOM::Document);
55
56 sub Create {
57 my $this = shift;
58 my ($name,$class,$hashProps) = @_;
59
60 if ($class eq 'Info') {
61 return MyInfo->new($name,$hashProps->{date},$hashProps->{description});
62 } else {
63 # leave as it is
64 return $this->SUPER::Create(@_);
65 }
66 }
67
68 =end code
40 69
41 =head1 METHODS 70 =head1 METHODS
42 71
43 =over 72 =over
44 73
45 =item C<<$doc->Create>> 74 =item C< Create($nodeName,$class,$hashProps) >
46 75
47 Создает узел определеннго типа с определенным именем и свойствами. 76 Реализация по умолчанию. Создает узел определеннго типа с определенным именем и свойствами.
77
78 =begin code
79
80 sub Create {
81 my ($this,$nodeName,$class,$hashProps) = @_;
82
83 return $class->new (
84 nodeName => $nodeName,
85 document => $this,
86 %$hashProps
87 );
88 }
89
90 =end code
48 91
49 =back 92 =back
50 93
51 =cut 94 =cut