Mercurial > pub > Impl
diff Lib/IMPL/DOM/Navigator/Builder.pm @ 148:e6447ad85cb4
DOM objects now have a schema and schemaSource properties
RegExp now can launder data
Improved post to DOM transformation (multiple values a now supported)
Added new axes to navigation queries: ancestor and descendant
minor changes and bug fixes
author | wizard |
---|---|
date | Mon, 16 Aug 2010 08:26:44 +0400 |
parents | 7b14e0122b79 |
children | 76515373dac0 |
line wrap: on
line diff
--- a/Lib/IMPL/DOM/Navigator/Builder.pm Mon Aug 09 08:45:36 2010 +0400 +++ b/Lib/IMPL/DOM/Navigator/Builder.pm Mon Aug 16 08:26:44 2010 +0400 @@ -33,7 +33,11 @@ if (my $schemaNode = $this->{$_schemaNavi}->NavigateName($nodeName)) { my $class = $schemaNode->can('nativeType') ? $schemaNode->nativeType || 'IMPL::DOM::Node' : 'IMPL::DOM::Node'; + my $schemaSource = $this->{$_schemaNavi}->SourceSchemaNode; + my @errors = $this->inflateProperties($schemaNode,\%props); + $props{schema} = $schemaNode; + $props{schemaSource} = $schemaSource; my $node; if (! $this->{$Document}) { @@ -51,7 +55,7 @@ map { IMPL::DOM::Schema::ValidationError->new( Node => $node, - Source => $this->{$_schemaNavi}->SourceSchemaNode, + Source => $schemaSource, Schema => $schemaNode, Message => $schemaNode->messageInflateError, Error => $_ @@ -171,12 +175,12 @@ создания экземпляра и созданный узел доавляется в документ. При создании нового узла используется метод документа C<< IMPL::DOM::Document->Create >> -Свойства узла передаются при создании через параметр C<props>, но имя создаваемого +Свойства узла передаются при создании через параметр C<%props>, но имя создаваемого узла НЕ может быть переопределено свойством C<nodeName>, оно будет проигнорировано. =item C< Document > -Свойство, которое содержит документ по окончании процедурв построения. +Свойство, которое содержит документ по окончании процедуры построения. =back