comparison Lib/IMPL/DOM/Schema/Node.pm @ 104:196bf443b5e1

DOM::Schema RC0 inflators support, validation and some other things, Minor and major fixes almost for everything. A 'Source' property of the ValidationErrors generated from a NodeSet or a NodeList is subject to change in the future.
author wizard
date Tue, 11 May 2010 02:42:59 +0400
parents c289ed9662ca
children e6447ad85cb4
comparison
equal deleted inserted replaced
103:c289ed9662ca 104:196bf443b5e1
35 35
36 sub Validate { 36 sub Validate {
37 my ($this,$node) = @_; 37 my ($this,$node) = @_;
38 38
39 if (my $schemaType = $this->{$type} ? $this->document->resolveType($this->{$type}) : undef ) { 39 if (my $schemaType = $this->{$type} ? $this->document->resolveType($this->{$type}) : undef ) {
40 return $schemaType->Validate($node); 40 my @errors = $schemaType->Validate($node,{Source => $this});
41 return @errors;
41 } else { 42 } else {
42 return (); 43 return ();
43 } 44 }
44 } 45 }
45 46
46 sub inflator { undef; } 47 sub inflateValue {
48 $_[1];
49 }
50
51 sub inflator { undef }
47 52
48 sub qname { 53 sub qname {
49 $_[0]->nodeName.'[name='.$_[0]->{$name}.']'; 54 $_[0]->nodeName.'[name='.$_[0]->{$name}.']';
50 } 55 }
51 56
54 __END__ 59 __END__
55 =pod 60 =pod
56 61
57 =head1 SYNOPSIS 62 =head1 SYNOPSIS
58 63
59 package Restriction; 64 package SchemaEntity;
60 use base qw(IMPL::DOM::Schema::Item); 65 use base qw(IMPL::DOM::Schema::Node);
61 66
62 sub Validate { 67 sub Validate {
63 my ($this,$node) = @_; 68 my ($this,$node) = @_;
64 } 69 }
65 70