Mercurial > pub > Impl
diff Lib/IMPL/DOM/Schema/ComplexNode.pm @ 49:16ada169ca75
migrating to the Eclipse IDE
author | wizard@linux-odin.local |
---|---|
date | Fri, 26 Feb 2010 10:49:21 +0300 |
parents | 267460284fb3 |
children | a6e9759ff88a |
line wrap: on
line diff
--- a/Lib/IMPL/DOM/Schema/ComplexNode.pm Fri Feb 26 01:43:42 2010 +0300 +++ b/Lib/IMPL/DOM/Schema/ComplexNode.pm Fri Feb 26 10:49:21 2010 +0300 @@ -1,59 +1,59 @@ -package IMPL::DOM::Schema::ComplexNode; -use strict; -use warnings; - -use base qw(IMPL::DOM::Schema::Node); -use IMPL::Class::Property; - -BEGIN { - public property content => { - get => \&_getContent, - set => \&_setContent - } -} - -our %CTOR = ( - 'IMPL::DOM::Schema::Node' => sub {my %args = @_; $args{nodeName} ||= 'ComplexNode'; %args } -); - -sub _getContent { - $_[0]->firstChild; -} - -sub _setContent { - $_[0]->firstChild($_[1]); -} - -sub Validate { - my ($this,$node) = @_; - - map $_->Validate($node), @{$this->childNodes}; -} - -1; - -__END__ - -=pod - -=head1 DESCRIPTION - -Описывает сложный узел. Требует либо соответствие структуры, либо соответствия -типу. - -Дочерними элементами могут быть правила контроля свойств и т.п. -Первым дочерним элементом может быть только содержимое узла, см. C<content> - -=head2 PROPERTIES - -=over - -=item C<content> - -Содержимое узла, может быть либо C<IMPL::DOM::Schema::NodeSet> либо -C<IMPL::DOM::Schema::NodeList>, в зависимости от того важен порядок или нет. -Это свойство ссылается на первый дочерний элемент узла. - -=back - -=cut +package IMPL::DOM::Schema::ComplexNode; +use strict; +use warnings; + +use base qw(IMPL::DOM::Schema::Node); +use IMPL::Class::Property; + +BEGIN { + public property content => { + get => \&_getContent, + set => \&_setContent + } +} + +our %CTOR = ( + 'IMPL::DOM::Schema::Node' => sub {my %args = @_; $args{nodeName} ||= 'ComplexNode'; %args } +); + +sub _getContent { + $_[0]->firstChild; +} + +sub _setContent { + $_[0]->firstChild($_[1]); +} + +sub Validate { + my ($this,$node) = @_; + + map $_->Validate($node), @{$this->childNodes}; +} + +1; + +__END__ + +=pod + +=head1 DESCRIPTION + +Описывает сложный узел. Требует либо соответствие структуры, либо соответствия +типу. + +Дочерними элементами могут быть правила контроля свойств и т.п. +Первым дочерним элементом может быть только содержимое узла, см. C<content> + +=head2 PROPERTIES + +=over + +=item C<content> + +Содержимое узла, может быть либо C<IMPL::DOM::Schema::NodeSet> либо +C<IMPL::DOM::Schema::NodeList>, в зависимости от того важен порядок или нет. +Это свойство ссылается на первый дочерний элемент узла. + +=back + +=cut