annotate Lib/IMPL/DOM/Navigator/Builder.pm @ 245:7c517134c42f

Added Unsupported media type Web exception corrected resourceLocation setting in the resource Implemented localizable resources for text messages fixed TT view scopings, INIT block in controls now sets globals correctly.
author sergey
date Mon, 29 Oct 2012 03:15:22 +0400
parents b8c724f6de36
children 2746a8e5a6c4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
49
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
1 package IMPL::DOM::Navigator::Builder;
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
2 use strict;
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
3 use warnings;
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
4
236
2904da230022 DOM refactoring
sergey
parents: 206
diff changeset
5 use IMPL::Const qw(:prop);
2904da230022 DOM refactoring
sergey
parents: 206
diff changeset
6
165
76515373dac0 Added Class::Template,
wizard
parents: 148
diff changeset
7 use parent qw(IMPL::DOM::Navigator);
49
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
8 use IMPL::Class::Property;
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
9 use IMPL::Class::Property::Direct;
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
10 require IMPL::DOM::Navigator::SchemaNavigator;
104
196bf443b5e1 DOM::Schema RC0 inflators support, validation and some other things,
wizard
parents: 103
diff changeset
11 require IMPL::DOM::Schema::ValidationError;
106
83e356614c1e DOM Builder now is a navigator like SimpleBuilder
wizard
parents: 104
diff changeset
12 use IMPL::DOM::Document;
49
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
13
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
14 BEGIN {
236
2904da230022 DOM refactoring
sergey
parents: 206
diff changeset
15 private _direct property _schemaNavi => PROP_RW;
2904da230022 DOM refactoring
sergey
parents: 206
diff changeset
16 private _direct property _docClass => PROP_RW;
2904da230022 DOM refactoring
sergey
parents: 206
diff changeset
17 public _direct property BuildErrors => PROP_RO | PROP_LIST;
2904da230022 DOM refactoring
sergey
parents: 206
diff changeset
18 public _direct property Document => PROP_RO;
2904da230022 DOM refactoring
sergey
parents: 206
diff changeset
19 public _direct property ignoreUndefined => PROP_RO;
49
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
20 }
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
21
106
83e356614c1e DOM Builder now is a navigator like SimpleBuilder
wizard
parents: 104
diff changeset
22 our %CTOR = (
112
0ed8e2541b1c Form processing mechanism
wizard
parents: 106
diff changeset
23 'IMPL::DOM::Navigator' => sub { IMPL::DOM::Document->Empty; }
106
83e356614c1e DOM Builder now is a navigator like SimpleBuilder
wizard
parents: 104
diff changeset
24 );
83e356614c1e DOM Builder now is a navigator like SimpleBuilder
wizard
parents: 104
diff changeset
25
49
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
26 sub CTOR {
236
2904da230022 DOM refactoring
sergey
parents: 206
diff changeset
27 my ($this,$docClass,$schema,%opts) = @_;
49
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
28
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
29 $this->{$_docClass} = $docClass;
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
30 $this->{$_schemaNavi} = $schema ? IMPL::DOM::Navigator::SchemaNavigator->new($schema) : undef;
236
2904da230022 DOM refactoring
sergey
parents: 206
diff changeset
31
2904da230022 DOM refactoring
sergey
parents: 206
diff changeset
32 $this->{$ignoreUndefined} = $opts{ignoreUndefined} if $opts{ignoreUndefined};
49
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
33 }
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
34
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
35 sub NavigateCreate {
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
36 my ($this,$nodeName,%props) = @_;
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
37
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
38 if (my $schemaNode = $this->{$_schemaNavi}->NavigateName($nodeName)) {
104
196bf443b5e1 DOM::Schema RC0 inflators support, validation and some other things,
wizard
parents: 103
diff changeset
39 my $class = $schemaNode->can('nativeType') ? $schemaNode->nativeType || 'IMPL::DOM::Node' : 'IMPL::DOM::Node';
196bf443b5e1 DOM::Schema RC0 inflators support, validation and some other things,
wizard
parents: 103
diff changeset
40
148
e6447ad85cb4 DOM objects now have a schema and schemaSource properties
wizard
parents: 113
diff changeset
41 my $schemaSource = $this->{$_schemaNavi}->SourceSchemaNode;
e6447ad85cb4 DOM objects now have a schema and schemaSource properties
wizard
parents: 113
diff changeset
42
104
196bf443b5e1 DOM::Schema RC0 inflators support, validation and some other things,
wizard
parents: 103
diff changeset
43 my @errors = $this->inflateProperties($schemaNode,\%props);
148
e6447ad85cb4 DOM objects now have a schema and schemaSource properties
wizard
parents: 113
diff changeset
44 $props{schema} = $schemaNode;
e6447ad85cb4 DOM objects now have a schema and schemaSource properties
wizard
parents: 113
diff changeset
45 $props{schemaSource} = $schemaSource;
49
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
46
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
47 my $node;
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
48 if (! $this->{$Document}) {
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
49 $node = $this->{$Document} = $this->{$_docClass}->new(nodeName => $nodeName,%props);
106
83e356614c1e DOM Builder now is a navigator like SimpleBuilder
wizard
parents: 104
diff changeset
50 $this->_initNavigator($node);
49
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
51 } else {
206
c8fe3f84feba +IMPL::Web::Handlers::ViewSelector
sergey
parents: 194
diff changeset
52 die new IMPL::InvalidOperationException('Can create a second top level element') unless $this->Current;
49
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
53 $node = $this->{$Document}->Create($nodeName,$class,\%props);
106
83e356614c1e DOM Builder now is a navigator like SimpleBuilder
wizard
parents: 104
diff changeset
54 $this->Current->appendChild($node);
83e356614c1e DOM Builder now is a navigator like SimpleBuilder
wizard
parents: 104
diff changeset
55 $this->internalNavigateNodeSet($node);
49
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
56 }
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
57
104
196bf443b5e1 DOM::Schema RC0 inflators support, validation and some other things,
wizard
parents: 103
diff changeset
58 if (@errors) {
194
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
59 $this->BuildErrors->Append(
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
60 map {
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
61 IMPL::DOM::Schema::ValidationError->new(
236
2904da230022 DOM refactoring
sergey
parents: 206
diff changeset
62 node => $node,
2904da230022 DOM refactoring
sergey
parents: 206
diff changeset
63 source => $schemaSource,
2904da230022 DOM refactoring
sergey
parents: 206
diff changeset
64 schema => $schemaNode,
2904da230022 DOM refactoring
sergey
parents: 206
diff changeset
65 message => $schemaNode->messageInflateError,
2904da230022 DOM refactoring
sergey
parents: 206
diff changeset
66 error => $_
194
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
67 )
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
68 } @errors
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
69 );
104
196bf443b5e1 DOM::Schema RC0 inflators support, validation and some other things,
wizard
parents: 103
diff changeset
70 }
196bf443b5e1 DOM::Schema RC0 inflators support, validation and some other things,
wizard
parents: 103
diff changeset
71
49
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
72 return $node;
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
73 } else {
236
2904da230022 DOM refactoring
sergey
parents: 206
diff changeset
74 die new IMPL::InvalidOperationException("The specified node is undefined", $nodeName)
238
b8c724f6de36 DOM model refactoring
sergey
parents: 236
diff changeset
75 if !$this->ignoreUndefined;
236
2904da230022 DOM refactoring
sergey
parents: 206
diff changeset
76 return;
49
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
77 }
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
78 }
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
79
103
c289ed9662ca Schema beta 2
wizard
parents: 102
diff changeset
80 sub inflateProperties {
194
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
81 my ($this,$schemaNode,$refProps) = @_;
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
82 my @errors;
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
83 foreach my $schemaProp ( $schemaNode->selectNodes('Property') ) {
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
84 next if not exists $refProps->{$schemaProp->name};
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
85 my $result = eval {$schemaProp->inflateValue($refProps->{$schemaProp->name}) };
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
86 if (my $e = $@) {
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
87 push @errors, $e;
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
88 } else {
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
89 $refProps->{$schemaProp->name} = $result;
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
90 }
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
91 }
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
92 return @errors;
103
c289ed9662ca Schema beta 2
wizard
parents: 102
diff changeset
93 }
c289ed9662ca Schema beta 2
wizard
parents: 102
diff changeset
94
c289ed9662ca Schema beta 2
wizard
parents: 102
diff changeset
95 sub inflateValue {
194
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
96 my ($this,$value,$node) = @_;
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
97
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
98 $node ||= $this->Current;
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
99
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
100 my $nodeSchema = $this->{$_schemaNavi}->Current;
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
101
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
102 my $result = eval { $nodeSchema->inflateValue($value) };
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
103 if (my $e=$@) {
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
104 $this->BuildErrors->Append(new IMPL::DOM::Schema::ValidationError(
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
105 Schema => $nodeSchema,
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
106 Node => $node,
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
107 Error => $e,
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
108 Message => $nodeSchema->messageInflateError,
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
109 Source => $this->{$_schemaNavi}->SourceSchemaNode
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
110 ));
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
111 return $value;
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
112 } else {
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
113 return $result;
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
114 }
103
c289ed9662ca Schema beta 2
wizard
parents: 102
diff changeset
115 }
c289ed9662ca Schema beta 2
wizard
parents: 102
diff changeset
116
49
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
117 sub Back {
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
118 my ($this) = @_;
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
119
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
120 $this->{$_schemaNavi}->SchemaBack();
106
83e356614c1e DOM Builder now is a navigator like SimpleBuilder
wizard
parents: 104
diff changeset
121 $this->SUPER::Back();
49
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
122 }
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
123
112
0ed8e2541b1c Form processing mechanism
wizard
parents: 106
diff changeset
124 sub saveState {
194
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
125 my ($this) = @_;
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
126
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
127 $this->{$_schemaNavi}->saveState;
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
128 $this->SUPER::saveState;
112
0ed8e2541b1c Form processing mechanism
wizard
parents: 106
diff changeset
129 }
0ed8e2541b1c Form processing mechanism
wizard
parents: 106
diff changeset
130
0ed8e2541b1c Form processing mechanism
wizard
parents: 106
diff changeset
131 sub restoreState {
194
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
132 my ($this) = @_;
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
133
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
134 $this->{$_schemaNavi}->restoreState;
4d0e1962161c Replaced tabs with spaces
cin
parents: 180
diff changeset
135 $this->SUPER::restoreState;
112
0ed8e2541b1c Form processing mechanism
wizard
parents: 106
diff changeset
136 }
0ed8e2541b1c Form processing mechanism
wizard
parents: 106
diff changeset
137
236
2904da230022 DOM refactoring
sergey
parents: 206
diff changeset
138 #compatibility
2904da230022 DOM refactoring
sergey
parents: 206
diff changeset
139 sub buildErrors {
2904da230022 DOM refactoring
sergey
parents: 206
diff changeset
140 goto &BuildErrors;
2904da230022 DOM refactoring
sergey
parents: 206
diff changeset
141 }
2904da230022 DOM refactoring
sergey
parents: 206
diff changeset
142
49
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
143 1;
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
144
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
145 __END__
64
259cd3df6e53 Doc generation
wizard
parents: 49
diff changeset
146
49
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
147 =pod
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
148
64
259cd3df6e53 Doc generation
wizard
parents: 49
diff changeset
149 =head1 NAME
259cd3df6e53 Doc generation
wizard
parents: 49
diff changeset
150
180
d1676be8afcc Перекодировка в utf-8
sourcer
parents: 165
diff changeset
151 C< IMPL::DOM::Navigator::Builder > - Навигатор, строящий документ по указанной схеме.
64
259cd3df6e53 Doc generation
wizard
parents: 49
diff changeset
152
49
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
153 =head1 SYNOPSIS
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
154
64
259cd3df6e53 Doc generation
wizard
parents: 49
diff changeset
155 =begin code
259cd3df6e53 Doc generation
wizard
parents: 49
diff changeset
156
49
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
157 my $builder = new IMPL::DOM::Navigator::Builder(new MyApp::Document,$schema);
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
158 my $reader = new IMPL::DOM::XMLReader(Navigator => $builder);
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
159
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
160 $reader->ParseFile("document.xml");
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
161
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
162 my @errors = $schema->Validate($builder->Document);
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
163
64
259cd3df6e53 Doc generation
wizard
parents: 49
diff changeset
164 =end code
259cd3df6e53 Doc generation
wizard
parents: 49
diff changeset
165
49
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
166 =head1 DESCRIPTION
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
167
180
d1676be8afcc Перекодировка в utf-8
sourcer
parents: 165
diff changeset
168 Построитель DOM документов по указанной схеме. Обычно используется в связке
d1676be8afcc Перекодировка в utf-8
sourcer
parents: 165
diff changeset
169 с объектами для чтения такими как C<IMPL::DOM::XMLReader>.
49
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
170
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
171 =head1 METHODS
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
172
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
173 =over
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
174
64
259cd3df6e53 Doc generation
wizard
parents: 49
diff changeset
175 =item C< CTOR($classDocument,$schema) >
49
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
176
180
d1676be8afcc Перекодировка в utf-8
sourcer
parents: 165
diff changeset
177 Создает новый объект, принимает на вход класс документа (или фабрику, например
d1676be8afcc Перекодировка в utf-8
sourcer
parents: 165
diff changeset
178 L<IMPL::Object::Factory>) и схему. В процессе процедуры построения документа
d1676be8afcc Перекодировка в utf-8
sourcer
parents: 165
diff changeset
179 будет создан объект документа.
49
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
180
64
259cd3df6e53 Doc generation
wizard
parents: 49
diff changeset
181 =item C< NavigateCreate($nodeName,\%props) >
49
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
182
180
d1676be8afcc Перекодировка в utf-8
sourcer
parents: 165
diff changeset
183 Создает новый узел с указанным именем и переходит в него. В случае если в схеме
d1676be8afcc Перекодировка в utf-8
sourcer
parents: 165
diff changeset
184 подходящий узел не найден, то вызывается исключение.
49
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
185
180
d1676be8afcc Перекодировка в utf-8
sourcer
parents: 165
diff changeset
186 При этом по имени узла ищется его схема, после чего определяется класс для
d1676be8afcc Перекодировка в utf-8
sourcer
parents: 165
diff changeset
187 создания экземпляра и созданный узел доавляется в документ. При создании
d1676be8afcc Перекодировка в utf-8
sourcer
parents: 165
diff changeset
188 нового узла используется метод документа C<< IMPL::DOM::Document->Create >>
49
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
189
180
d1676be8afcc Перекодировка в utf-8
sourcer
parents: 165
diff changeset
190 Свойства узла передаются при создании через параметр C<%props>, но имя создаваемого
d1676be8afcc Перекодировка в utf-8
sourcer
parents: 165
diff changeset
191 узла НЕ может быть переопределено свойством C<nodeName>, оно будет проигнорировано.
64
259cd3df6e53 Doc generation
wizard
parents: 49
diff changeset
192
259cd3df6e53 Doc generation
wizard
parents: 49
diff changeset
193 =item C< Document >
259cd3df6e53 Doc generation
wizard
parents: 49
diff changeset
194
180
d1676be8afcc Перекодировка в utf-8
sourcer
parents: 165
diff changeset
195 Свойство, которое содержит документ по окончании процедуры построения.
49
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
196
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
197 =back
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
198
16ada169ca75 migrating to the Eclipse IDE
wizard@linux-odin.local
parents: 35
diff changeset
199 =cut