Modified Files:
XMLSchema.py -- added a couple helper methods for discovering
whether or not an element should be qualified.
----------------------------------------------------------------------
Modified Files:
Namespaces.py
-- Added a SOAP-1.2 binding
WSDLTools.py
-- Added some methods from grabbing ElementDeclaration and
TypeDefintion from Message instances.
XMLSchema.py
-- fixed a bug in SchemaReader.
logging.py
-- added a couple more functions, and a level to basic logger.
----------------------------------------------------------------------
Modified Files:
Utility.py -- catch any exceptions thrown when a DOM is loaded up,
throw a ParseError with old ex.args and inform which file
caused the problem.
XMLSchema.py -- For attributeGroup incorrectly adding global
attribute declarations, but these are declared locally.
----------------------------------------------------------------------
Modified Files:
WSDLTools.py
XMLSchema.py
--removed some print statements I left behind.
----------------------------------------------------------------------
Modified Files:
WSDLTools.py
-- resolution of default WS-Action was incorrect when using
imported portTypes.
XMLSchema.py
-- added a couple helper functions, and a few more Markers
for introspecting modelGroups and simpleType derivations.
----------------------------------------------------------------------
Modified Files:
XMLSchema.py -- Shouldn't check attributes for WSDL definition
since it's legal to specify <any> attribute in <definition>
----------------------------------------------------------------------
Modified Files:
XMLSchema.py -- required another condition in getItemTrace,
need to check if at <xsd:schema> or <wsdl:definition>,
also added some info to SchemaError throw in checkAttributes.
Now provides namespace/attribute and the Schema Item containing
the offending attribute.
----------------------------------------------------------------------
~
Modified Files:
XMLSchema.py
-- added a few convience methods, and 'disabled' a few methods
to force a sane usage.
__init__.py
-- removed use of python logging module, and replaced it with
the below.
Added Files:
logging.py
-- simple interface to log message to, can write your own
logger class. By default do no logging.
----------------------------------------------------------------------
Modified Files:
XMLSchema.py -- added some code to generate user interpretable
exceptions.
BEFORE:
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/ZSI/wstools/Utility.py", line 600, in __getitem__
return self.data[key]
KeyError: u'xtvd'
AFTER:
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/ZSI/wstools/XMLSchema.py", line 465, in getQNameAttribute
raise KeyError, "targetNamespace(%s) collection(%s) has no item(%s)"\
KeyError: u'targetNamespace(urn:TMSWebServices) collection(types) has no item(xtvd)'
----------------------------------------------------------------------
Modified Files:
Utility.py
XMLSchema.py -- just moved SplitQName out of here and into Utility
Added Files:
Namespaces.py -- WSDL, SOAP, SCHEMA, XMLNS namespaces here. Doesn't
require PyXml
----------------------------------------------------------------------
Modified Files:
XMLSchema.py -- fixed a few problem with the XML namespace, mainly
affecting the use of 'xml:lang'. Fixed a bug identifying
attributeGroup references vs. definitions. Also changed the
inheritance of MarkerInterface, and moved the classes involved
before all Schema classes.
Now will parse "XML Schema Part 1: Structures", and
"XML Schema Part 2: Datatypes" XML Schema definitions.
----------------------------------------------------------------------
Modified Files:
XMLSchema.py -- added substutionGroup to the list of attributes
that can be specified in an ElementDeclaration.
----------------------------------------------------------------------
Modified Files:
XMLSchema.py -- If a schema needs to 'create' a schema instance
itself it adds this schema to its import dictionary.
----------------------------------------------------------------------
Modified Files:
XMLSchema.py -- error in Import class for accessing a schemaLocation.
This bug would only show up if a schema had to 'construct' a
schema instance of a different namespace itself. Basically the
last option.
----------------------------------------------------------------------
Modified Files:
XMLSchema.py -- fixed an unknown bug caused by overlooking
the potential namespace contents of a "types" node.
----------------------------------------------------------------------
Modified Files:
Utility.py
WSDLTools.py
XMLSchema.py
-- Fixed [ 810251 ] default method broken in wstools.Utility.Collection
-- Also fixed problem with includes Collection key, and changed
Types(Collection) class to declare a different default key instead
of redefining several methods.
----------------------------------------------------------------------
Modified Files:
WSDLTools.py
XMLSchema.py
-- Fixed [ 808505 ] ZSI fails with <xs:include ... />
Now schema include statements should be handled correctly.
-- Also fixed a problem with relative uri handling for XMLSchema
and SchemaReader.
----------------------------------------------------------------------
Modified Files:
XMLSchema.py -- now we get reasonable error message back when
import or include is incorrectly defined.
File "/usr/local/lib/python2.3/site-packages/ZSI/wstools/XMLSchema.py", line 478, in __checkAttributes
raise SchemaError, '%s, unknown attribute' %a
ZSI.wstools.XMLSchema.SchemaError: location, unknown attribute
----------------------------------------------------------------------
Modified Files:
XMLSchema.py -- fixed two places where 'readFromURL' was supposed
to be loadFromURL.
----------------------------------------------------------------------
Modified Files:
XMLSchema.py -- added a try clause to catch xml.dom.ext ImportError,
and added a SplitQName function that matches xml.dom.ext.SplitQName
output.
----------------------------------------------------------------------
Modified Files:
WSDLTools.py -- added a line in Reader to to set WSDL.location
for files so that imports with relative paths will work for
file paths as well as urls.
XMLSchema.py -- a couple Attribute fixes, and the WSDLAdapter
wasn't passing it's parent into the XMLSchemaComponent
constructor which was messing up import lookups.
----------------------------------------------------------------------
Modified Files:
XMLSchema.py -- fixed XMLSchemaComponent.setAttributes, added
the needed getNamespace method to all DOMAdapters. All
changes are related to XML attribute handling.
----------------------------------------------------------------------
Modified Files:
XMLSchema.py -- Modified/Extended some of the element classes.
For LocalElementDeclaration inheritance was duplicitous,
and for ElementReference it was wrong.
----------------------------------------------------------------------
Modified Files:
XMLSchema.py -- Fixed a few bugs, a few classes mistakenly thought
they contained global attribute declarations and I fixed this
to local attribute declarations. Couple spots where
AttributeGroup declarations and references were incorreclty
used in place of eachother. Completed a few classes but
a few remain incomplete.
----------------------------------------------------------------------
Modified Files:
XMLSchema.py -- Namespaced a couple attributes in attribute
dictionary that I missed.
----------------------------------------------------------------------
Modified Files:
XMLSchema.py -- there was a indexing logic error in Restriction/Extention
classes fromDom method. Also changed the attribute dictionary of all
classes that inherit XMLSchemaComponent, now all attributes
are organized by namespace.
----------------------------------------------------------------------
Modified Files:
XMLSchema.py --
Wasn't resolving schema imports in every scenario.
Now look in parent schema imported_schemas first, second look
in the parent wsdl, lastly try to resolve schemaLocation.
Removed 'what' parameter from marker interface methods, I don't
know what it was doing there. Check self.
----------------------------------------------------------------------
Modified Files:
XMLSchema.py -- changed getQNameAttribute to return None if it
can't find QName obj in it's own tns or in any of its
imported namespaces. Used to throw an exception.
----------------------------------------------------------------------
Modified Files:
XMLSchema.py -- fixed some default attribute handling, added a
few get methods in XMLSchema for elementFormDefault,
attributeFormDefault, blockDefault, finalDefault. Also
added a global method GetSchema. Now default attributes
are set correctly in all schema components.
----------------------------------------------------------------------
Modified Files:
Utility.py -- Added a parameter to Collection class constructor,
'name' is the default attribute used for keys but one
can specify whatever key they want.
XMLSchema.py -- Used the above parameter to make Collection
instances use the appropriate 'attribute' as key.
----------------------------------------------------------------------
WSDLTools.py -- just a few minor changes so the new schema class
will be used instead of the schema tns placeholder.
Might want to add an argument to WSDL.load method so that
programmer can specify the placeholder or actual
implementation.
XMLSchema.py -- mostly new, unused original code is commented out at the bottom.
XMLSchema.py
----------------------------------------------------------------------
fixed an obvious bug, added a SchemaError class so it can actually
be thrown.
----------------------------------------------------------------------