[Xml-compile] Two concrete types in one schema

Mark Overmeer mark at overmeer.net
Thu Jan 28 11:58:47 GMT 2010


* Roman Daniel (roman.daniel at davosro.cz) [100128 11:20]:
> We have
> - an abstract type A in schema1
> - two concrete types T1 and T2 in schema2
> - element E using the abstract type in schema3

the xsi_type switch did not clean the cache which is used to
circumvent combinatorian explosions.

        my $altnode = $doc->createElementNS(SCHEMA2001, 'element');
        $altnode->setNamespace($ns => $prefix);
        $altnode->setAttribute(name => $name);
        $altnode->setAttribute(type => $type);
 +      my $altnodeid = $altnode->nodePath.'#'.$fullname;
 +      delete $self->{_created}{$altnodeid}; # clean nesting cache
        $alt{$alttype} = $self->element($tree->descend($altnode));
    }

Thanks for the great report!
-- 
               MarkOv

------------------------------------------------------------------------
       Mark Overmeer MSc                                MARKOV Solutions
       Mark at Overmeer.net                          solutions at overmeer.net
http://Mark.Overmeer.net                   http://solutions.overmeer.net




More information about the Xml-compile mailing list