DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15124>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15124

xs:include namespace handling is broken

           Summary: xs:include namespace handling is broken
           Product: Axis
           Version: 1.1beta
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Major
          Priority: Other
         Component: WSDL processing
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


Given an XML schema file which defines a targetNamespace and which xs:includes a
second schema file, which does not define a targetNamespace (because its types
are supposed to be registered in the namespace of the including schema), Axis
will not  get the namespace right for types/elements in the included file.

The reason, AFAICT, is that the SymbolTable class' algorithm for finding
namespaces is to search the DOM by parent elements to find the targetNamespace
definition.  This is insufficient because the targetNamespace is in another DOM
-- the one that was created by reading the file with the <xs:include>, and
there's no way to reach attributes in that DOM from the DOM of the xs:included file.

I suspect that it will be necessary to add an additional parameter to the
various methods that recursively add types to the symbol table.  This would bear
the targetNamespace of any xs:including file and be used as a fallback when no
targetNS can be found by walking the current DOM.

Reply via email to