Mercurial > pub > Impl
view 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 source
package IMPL::DOM::Schema::SimpleNode; use strict; 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) = @_; return map $_->Validate($node), @{$this->childNodes}; } 1; __END__ =pod =head1 NAME C<IMPL::DOM::SimpleNode> - узел с текстом. =head1 DESCRIPTION Узел имеющий простое значение. Данный узел может содержать ограничения на простое значение. Производит валидацию содержимого, при постоении DOM модели не имеет специального типа и будет создан в виде C<IMPL::DOM::Node>. Также определяет как будет воссоздано значение узла в DOM модели. =cut