Mercurial > pub > Impl
comparison Lib/IMPL/DOM/Schema/SimpleNode.pm @ 103:c289ed9662ca
Schema beta 2
More strict validation, support for inflating a simple nodes and properties
author | wizard |
---|---|
date | Fri, 07 May 2010 18:17:40 +0400 |
parents | 16ada169ca75 |
children | 196bf443b5e1 |
comparison
equal
deleted
inserted
replaced
102:cf3b6ef2be22 | 103:c289ed9662ca |
---|---|
1 package IMPL::DOM::Schema::SimpleNode; | 1 package IMPL::DOM::Schema::SimpleNode; |
2 use strict; | 2 use strict; |
3 use warnings; | 3 use warnings; |
4 | 4 |
5 use base qw(IMPL::DOM::Schema::Node); | 5 use base qw(IMPL::DOM::Schema::Node); |
6 use IMPL::Class::Property; | |
7 use IMPL::Class::Property::Direct; | |
8 | |
9 BEGIN { | |
10 public _direct property inflator => prop_get; | |
11 } | |
6 | 12 |
7 our %CTOR = ( | 13 our %CTOR = ( |
8 'IMPL::DOM::Schema::Node' => sub {my %args = @_; $args{nodeName} ||= 'SimpleNode'; %args} | 14 'IMPL::DOM::Schema::Node' => sub {my %args = @_; $args{nodeName} ||= 'SimpleNode'; %args} |
9 ); | 15 ); |
16 | |
17 sub CTOR { | |
18 my ($this,%args) = @_; | |
19 | |
20 $this->{$inflator} = $args{inflator} if $args{iflator}; | |
21 } | |
10 | 22 |
11 sub Validate { | 23 sub Validate { |
12 my ($this,$node) = @_; | 24 my ($this,$node) = @_; |
13 | 25 |
14 map $_->Validate($node), @{$this->childNodes}; | 26 return map $_->Validate($node), @{$this->childNodes}; |
15 } | 27 } |
16 | 28 |
17 1; | 29 1; |
18 | 30 |
19 __END__ | 31 __END__ |
20 | 32 |
21 =pod | 33 =pod |
22 | 34 |
35 =head1 NAME | |
36 | |
37 C<IMPL::DOM::SimpleNode> - узел с текстом. | |
38 | |
23 =head1 DESCRIPTION | 39 =head1 DESCRIPTION |
24 | 40 |
25 Узел имеющий простое значение. Данный узел может содержать ограничения | 41 Узел имеющий простое значение. Данный узел может содержать ограничения |
26 на простое значение. | 42 на простое значение. |
27 | 43 |
44 Производит валидацию содержимого, при постоении DOM модели не имеет специального | |
45 типа и будет создан в виде C<IMPL::DOM::Node>. | |
46 | |
47 Также определяет как будет воссоздано значение узла в DOM модели. | |
28 | 48 |
29 =cut | 49 =cut |