Mercurial > pub > Impl
comparison Lib/IMPL/DOM/Schema/Node.pm @ 384:4edd36025051
DOM schema refactoring
| author | cin |
|---|---|
| date | Mon, 10 Feb 2014 17:41:34 +0400 |
| parents | 2f16f13b000c |
| children | 648dfaf642e0 |
comparison
equal
deleted
inserted
replaced
| 383:2f16f13b000c | 384:4edd36025051 |
|---|---|
| 43 $this->{$type} = $args{type}; | 43 $this->{$type} = $args{type}; |
| 44 $this->{$name} = $args{name} or die new IMPL::InvalidArgumentException('Argument is required','name'); | 44 $this->{$name} = $args{name} or die new IMPL::InvalidArgumentException('Argument is required','name'); |
| 45 } | 45 } |
| 46 | 46 |
| 47 sub Validate { | 47 sub Validate { |
| 48 my ($this,$node) = @_; | 48 my ($this,$node,$ctx) = @_; |
| 49 | 49 |
| 50 if (my $schemaType = $this->{$type} ? $this->document->resolveType($this->{$type}) : undef ) { | 50 if (my $schemaType = $this->{$type} ? $this->document->ResolveType($this->{$type}) : undef ) { |
| 51 my @errors = $schemaType->Validate($node,{Source => $this}); | 51 my @errors = $schemaType->Validate($node,{Source => $this}); |
| 52 return @errors; | 52 return @errors; |
| 53 } else { | 53 } else { |
| 54 return (); | 54 return (); |
| 55 } | 55 } |
| 64 sub isMultiple { | 64 sub isMultiple { |
| 65 my ($this) = @_; | 65 my ($this) = @_; |
| 66 | 66 |
| 67 return ($this->{$maxOccur} eq 'unbounded' || $this->{$maxOccur} > 1 ) ? 1 : 0; | 67 return ($this->{$maxOccur} eq 'unbounded' || $this->{$maxOccur} > 1 ) ? 1 : 0; |
| 68 } | 68 } |
| 69 | |
| 70 sub inflateValue { | |
| 71 $_[1]; | |
| 72 } | |
| 73 | |
| 74 sub inflator { undef } | |
| 75 | 69 |
| 76 sub qname { | 70 sub qname { |
| 77 $_[0]->nodeName.'[name='.$_[0]->{$name}.']'; | 71 $_[0]->nodeName.'[name='.$_[0]->{$name}.']'; |
| 78 } | 72 } |
| 79 | 73 |
| 121 | 115 |
| 122 =item C<[get,set] name> | 116 =item C<[get,set] name> |
| 123 | 117 |
| 124 Имя узла. | 118 Имя узла. |
| 125 | 119 |
| 126 =item C<[get,set] display> | |
| 127 | |
| 128 Имя узла для отображения. | |
| 129 | |
| 130 =item C<[get,set] display_no> | |
| 131 | |
| 132 Имя узла для отображения (родительный падеж). | |
| 133 | |
| 134 =item C<[get,set] display_blame> | |
| 135 | |
| 136 Имя узла для отображения (винительный падеж). | |
| 137 | |
| 138 =back | 120 =back |
| 139 | 121 |
| 140 =cut | 122 =cut |
