Mercurial > pub > Impl
comparison Lib/IMPL/DOM/Schema/Node.pm @ 19:1ca530e5c9c5
DOM схема, требует переработки в части схемы для описания схем. Автоверификация не проходит
| author | Sergey |
|---|---|
| date | Fri, 11 Sep 2009 16:30:39 +0400 |
| parents | 818c74b038ae |
| children | 267460284fb3 |
comparison
equal
deleted
inserted
replaced
| 18:818c74b038ae | 19:1ca530e5c9c5 |
|---|---|
| 6 use IMPL::Class::Property; | 6 use IMPL::Class::Property; |
| 7 use IMPL::DOM::Property qw(_dom); | 7 use IMPL::DOM::Property qw(_dom); |
| 8 use IMPL::Class::Property::Direct; | 8 use IMPL::Class::Property::Direct; |
| 9 | 9 |
| 10 BEGIN { | 10 BEGIN { |
| 11 public _dom property minOccur => prop_all; | 11 public property minOccur => prop_all; |
| 12 public _dom property maxOccur => prop_all; | 12 public property maxOccur => prop_all; |
| 13 public _dom property type => prop_all | 13 public property type => prop_all |
| 14 } | 14 } |
| 15 | 15 |
| 16 __PACKAGE__->PassThroughArgs; | 16 __PACKAGE__->PassThroughArgs; |
| 17 | 17 |
| 18 sub CTOR { | 18 sub CTOR { |
| 19 my ($this,%args) = @_; | 19 my ($this,%args) = @_; |
| 20 | 20 |
| 21 $this->minOccur($args{minOcuur}); | 21 $this->minOccur(defined $args{minOcuur} ? $args{minOcuur} : 1); |
| 22 $this->maxOccur($args{maxOccur}); | 22 $this->maxOccur(defined $args{maxOccur} ? $args{maxOccur} : 1); |
| 23 $this->type($args{type}); | 23 $this->type($args{type}); |
| 24 } | |
| 25 | |
| 26 sub Validate { | |
| 27 my ($this,$node) = @_; | |
| 28 | |
| 29 if (my $schemaType = $this->type ? $this->rootNode->resolveType($this->type) : undef ) { | |
| 30 return $schemaType->Validate($node); | |
| 31 } | |
| 24 } | 32 } |
| 25 | 33 |
| 26 1; | 34 1; |
| 27 | 35 |
| 28 __END__ | 36 __END__ |
