Mercurial > pub > Impl
comparison Lib/IMPL/DOM/Schema.pm @ 389:5aff94ba842f
DOM Schema refactoring complete
| author | cin |
|---|---|
| date | Wed, 12 Feb 2014 13:36:24 +0400 |
| parents | 2f16f13b000c |
| children | f23fcb19d3c1 |
comparison
equal
deleted
inserted
replaced
| 388:648dfaf642e0 | 389:5aff94ba842f |
|---|---|
| 17 Property => 'IMPL::DOM::Schema::Property', | 17 Property => 'IMPL::DOM::Schema::Property', |
| 18 SwitchNode => 'IMPL::DOM::Schema::SwitchNode', | 18 SwitchNode => 'IMPL::DOM::Schema::SwitchNode', |
| 19 Validator => 'IMPL::DOM::Schema::Validator', | 19 Validator => 'IMPL::DOM::Schema::Validator', |
| 20 Builder => 'IMPL::DOM::Navigator::Builder', | 20 Builder => 'IMPL::DOM::Navigator::Builder', |
| 21 XMLReader => 'IMPL::DOM::XMLReader', # XMLReader references Schema | 21 XMLReader => 'IMPL::DOM::XMLReader', # XMLReader references Schema |
| 22 InflateFactory => 'IMPL::DOM::Schema::InflateFactory', | |
| 23 Loader => 'IMPL::Code::Loader', | 22 Loader => 'IMPL::Code::Loader', |
| 24 StringMap => 'IMPL::Resources::StringLocaleMap' | 23 StringMap => 'IMPL::Resources::StringLocaleMap' |
| 25 }, | 24 }, |
| 26 base => [ | 25 base => [ |
| 27 'IMPL::DOM::Document' => sub { | 26 'IMPL::DOM::Document' => sub { |
| 59 | 58 |
| 60 my $type = $this->{$_typesMap}{$typeName}; | 59 my $type = $this->{$_typesMap}{$typeName}; |
| 61 return $type if $type; | 60 return $type if $type; |
| 62 | 61 |
| 63 foreach my $base ($this->baseSchemas) { | 62 foreach my $base ($this->baseSchemas) { |
| 64 last if $type = $base->resolveType($typeName); | 63 last if $type = $base->ResolveType($typeName); |
| 65 } | 64 } |
| 66 | 65 |
| 67 die IMPL::KeyNotFoundException->new($typeName) | 66 die IMPL::KeyNotFoundException->new($typeName) |
| 68 unless $type; | 67 unless $type; |
| 69 return $this->{$_typesMap}{$typeName} = $type; | 68 return $this->{$_typesMap}{$typeName} = $type; |
| 240 ComplexType->new(type => 'SimpleType', nativeType => 'IMPL::DOM::Schema::SimpleType')->appendRange( | 239 ComplexType->new(type => 'SimpleType', nativeType => 'IMPL::DOM::Schema::SimpleType')->appendRange( |
| 241 NodeList->new()->appendRange( | 240 NodeList->new()->appendRange( |
| 242 Node->new(name => 'Property', type=>'Property', maxOccur=>'unbounded', minOccur=>0), | 241 Node->new(name => 'Property', type=>'Property', maxOccur=>'unbounded', minOccur=>0), |
| 243 AnyNode->new(maxOccur => 'unbounded', minOccur => 0, type=>'Validator') | 242 AnyNode->new(maxOccur => 'unbounded', minOccur => 0, type=>'Validator') |
| 244 ), | 243 ), |
| 245 Property->new(name => 'type'), | 244 Property->new(name => 'type') |
| 246 Property->new(name => 'inflator', optional => 1, inflator => 'IMPL::DOM::Schema::InflateFactory') | |
| 247 ), | 245 ), |
| 248 ComplexType->new(type => 'SimpleNode', nativeType => 'IMPL::DOM::Schema::SimpleNode')->appendRange( | 246 ComplexType->new(type => 'SimpleNode', nativeType => 'IMPL::DOM::Schema::SimpleNode')->appendRange( |
| 249 NodeList->new()->appendRange( | 247 NodeList->new()->appendRange( |
| 250 Node->new(name => 'Property', type=>'Property', maxOccur=>'unbounded', minOccur=>0), | 248 Node->new(name => 'Property', type=>'Property', maxOccur=>'unbounded', minOccur=>0), |
| 251 AnyNode->new(maxOccur => 'unbounded', minOccur => 0, type=>'Validator') | 249 AnyNode->new(maxOccur => 'unbounded', minOccur => 0, type=>'Validator') |
| 252 ), | 250 ), |
| 253 Property->new(name => 'name'), | 251 Property->new(name => 'name') |
| 254 Property->new(name => 'inflator', optional => 1, inflator => 'IMPL::DOM::Schema::InflateFactory') | |
| 255 ), | 252 ), |
| 256 ComplexType->new(type => 'Validator', nativeType => 'IMPL::DOM::Schema::Validator')->appendRange( | 253 ComplexType->new(type => 'Validator', nativeType => 'IMPL::DOM::Schema::Validator')->appendRange( |
| 257 NodeList->new()->appendRange( | 254 NodeList->new()->appendRange( |
| 258 AnyNode->new(maxOccur => 'unbounded', minOccur => 0) | 255 AnyNode->new(maxOccur => 'unbounded', minOccur => 0) |
| 259 ) | 256 ) |
| 260 ), | 257 ), |
| 261 ComplexType->new(type => 'Property', nativeType => 'IMPL::DOM::Schema::Property' )->appendRange( | 258 ComplexType->new(type => 'Property', nativeType => 'IMPL::DOM::Schema::Property' )->appendRange( |
| 262 NodeList->new()->appendRange( | 259 NodeList->new()->appendRange( |
| 263 AnyNode->new(maxOccur => 'unbounded', minOccur => 0) | 260 AnyNode->new(maxOccur => 'unbounded', minOccur => 0) |
| 264 ), | 261 ), |
| 265 Property->new(name => 'name'), | 262 Property->new(name => 'name') |
| 266 Property->new(name => 'inflator', optional => 1, inflator => 'IMPL::DOM::Schema::InflateFactory') | |
| 267 ), | 263 ), |
| 268 SimpleType->new(type => 'Node', nativeType => 'IMPL::DOM::Schema::Node')->appendRange( | 264 SimpleType->new(type => 'Node', nativeType => 'IMPL::DOM::Schema::Node')->appendRange( |
| 269 Property->new(name => 'name'), | 265 Property->new(name => 'name'), |
| 270 Property->new(name => 'type') | 266 Property->new(name => 'type') |
| 271 ), | 267 ), |
