diff 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
line wrap: on
line diff
--- a/Lib/IMPL/DOM/Schema/SimpleNode.pm	Fri May 07 08:05:23 2010 +0400
+++ b/Lib/IMPL/DOM/Schema/SimpleNode.pm	Fri May 07 18:17:40 2010 +0400
@@ -3,15 +3,27 @@
 use warnings;
 
 use base qw(IMPL::DOM::Schema::Node);
+use IMPL::Class::Property;
+use IMPL::Class::Property::Direct;
+
+BEGIN {
+	public _direct property inflator => prop_get;
+}
 
 our %CTOR = (
     'IMPL::DOM::Schema::Node' => sub {my %args = @_; $args{nodeName} ||= 'SimpleNode'; %args}
-);  
+);
+
+sub CTOR {
+	my ($this,%args) = @_;
+	
+	$this->{$inflator} = $args{inflator} if $args{iflator};
+}
 
 sub Validate {
     my ($this,$node) = @_;
     
-    map $_->Validate($node), @{$this->childNodes};    
+    return map $_->Validate($node), @{$this->childNodes};
 }
 
 1;
@@ -20,10 +32,18 @@
 
 =pod
 
+=head1 NAME
+
+C<IMPL::DOM::SimpleNode> - узел с текстом.
+
 =head1 DESCRIPTION
 
 Узел имеющий простое значение. Данный узел может содержать ограничения
 на простое значение.
 
+Производит валидацию содержимого, при постоении DOM модели не имеет специального
+типа и будет создан в виде C<IMPL::DOM::Node>.
+
+Также определяет как будет воссоздано значение узла в DOM модели.
 
 =cut