comparison lib/IMPL/DOM/Schema/SimpleNode.pm @ 407:c6e90e02dd17 ref20150831

renamed Lib->lib
author cin
date Fri, 04 Sep 2015 19:40:23 +0300
parents
children
comparison
equal deleted inserted replaced
406:f23fcb19d3c1 407:c6e90e02dd17
1 package IMPL::DOM::Schema::SimpleNode;
2 use strict;
3 use warnings;
4
5 use IMPL::declare {
6 base => [
7 'IMPL::DOM::Schema::Node' => sub {
8 my %args = @_;
9 $args{nodeName} ||= 'SimpleNode';
10 %args
11 }
12 ]
13 };
14
15 sub Validate {
16 my ($this,$node,$ctx) = @_;
17
18 $ctx->{schemaNode} ||= $this; # для безымянных типов
19
20 $ctx->{schemaType} = $this;
21
22 my @result;
23
24 push @result, $_->Validate($node,$ctx) foreach $this->childNodes;
25
26 return @result;
27 }
28
29 1;
30
31 __END__
32
33 =pod
34
35 =head1 NAME
36
37 C<IMPL::DOM::SimpleNode> - узел с текстом.
38
39 =head1 DESCRIPTION
40
41 Узел имеющий простое значение. Данный узел может содержать ограничения
42 на простое значение.
43
44 Производит валидацию содержимого, при постоении DOM модели не имеет специального
45 типа и будет создан в виде C<IMPL::DOM::Node>.
46
47 Также определяет как будет воссоздано значение узла в DOM модели.
48
49 =cut