#209 inappropriate re-processing of archived namespaces

PyXB 1.2.3
closed
None
fixed
Content model
critical
DEVEL
defect
2013-09-13
2013-09-12
No

The resolution to #208 introduced a behavior change in that archives associated with a QName in an attribute are read during parsing, before all input schema have been retrieved, rather than delayed until resolution, which occurs after the schema are retrieved and processed. In effect this converts these archive imports into pre-loads, leaving the namespace with a component model but marked as though that model were permitted to be extended. Where the archive obtained its content through a schema with an alternative location (e.g., the cached local copies for the common bundle including http://www.w3.org/1999/xlink) this results in improper attempts to retrieve and process the imported schema when a schemaLocation is provided, resulting in type redefinition errors.

Discussion

  • Peter A. Bigot

    Peter A. Bigot - 2013-09-13
    • status changed from new to accepted
    • description modified (diff)
    • milestone set to PyXB 1.2.3
     
  • Peter A. Bigot

    Peter A. Bigot - 2013-09-13
    • status changed from accepted to closed
    • resolution set to fixed

    Fixed in following commit:

    commit bb685d5d97acf71bd25a63ed298bef4c86fb98ef
    Author: Peter A. Bigot <pab@pabigot.com>
    Date:   Fri Sep 13 12:12:03 2013 -0500
    
        trac/209: inappropriate re-processing of archived namespaces
    
        Refactor archive/namespace management.  Remove --pre-load-archives; this
        loaded components early, which implicitly enabled the namespaces to be
        extended regardless of intent.  Replace this with
        --import-augmentable-namespace which specifies particular namespaces that
        may be extended even if content is available from archives or builtins.
        Simplify the logic in import handling so only import-augmentable namespaces
        cause anything to happen in an import.
    
        Update the examples.  The --pre-load-archive directive in complex/nsext is
        no longer necessary since the existing declarations are found by the attempt
        to reference them.  A new complex/nsaugment test case handles the intended
        situation of extending from an archive by importing an alternative schema.
    
     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks