version 1.1, 2000/07/12 17:35:44
|
version 1.2, 2000/09/29 11:41:13
|
Line 0
|
Line 1
|
|
import XMLInfoset |
|
import sys |
|
|
|
Element = XMLInfoset.Element |
|
Characters = XMLInfoset.Characters |
|
Attribute = XMLInfoset.Attribute |
|
infosetSchemaNamespace = XMLInfoset.infosetSchemaNamespace |
|
xsiNamespace = XMLInfoset.xsiNamespace |
|
|
|
def elementReflect(self, parent=None): |
|
sys.stderr.write("using new reflect on %s, %s\n" % (self,parent)); |
|
# sys.stderr.write("%s" % self.__dict__); |
|
element = self.oldReflect(parent) |
|
|
|
si = Element(element, infosetSchemaNamespace, "schemaInformation") |
|
element.addChunkedChild(si) |
|
# XXX more |
|
|
|
self.reflectString(element, "psvSpecified", self.psvSpecified, 1) |
|
|
|
self.reflectString(element, "default", self.default, 1) |
|
|
|
self.reflectString(element, "typeDefinitionType", self.typeDefinitionType, 1) |
|
|
|
self.reflectString(element, "typeDefinitionNamespace", |
|
self.typeDefinitionNamespace, 1) |
|
|
|
self.reflectBoolean(element, "typeDefinitionAnonymous", |
|
self.typeDefinitionAnonymous, 1) |
|
|
|
self.reflectString(element, "typeDefinitionName", self.typeDefinitionName, 1) |
|
|
|
self.reflectBoolean(element, "null", self.null, 1) |
|
|
|
self.reflectString(element, "validationAttempted", |
|
self.validationAttempted, 0) |
|
|
|
self.reflectString(element, "validity", self.validity, 1) |
|
|
|
return element |
|
|
|
Element.psvReflect = elementReflect |
|
|
|
def attributeReflect(self, parent=None): |
|
# sys.stderr.write("using new reflect on %s, %s\n" % (self,parent)); |
|
# sys.stderr.write("%s" % self.__dict__); |
|
attribute = self.oldReflect(parent) |
|
|
|
self.reflectString(attribute, "psvSpecified", self.psvSpecified, 1) |
|
|
|
self.reflectString(attribute, "typeDefinitionType", |
|
self.typeDefinitionType, 1) |
|
|
|
self.reflectString(attribute, "typeDefinitionNamespace", |
|
self.typeDefinitionNamespace, 1) |
|
|
|
self.reflectBoolean(attribute, "typeDefinitionAnonymous", |
|
self.typeDefinitionAnonymous, 1) |
|
|
|
self.reflectString(attribute, "typeDefinitionName", self.typeDefinitionName, 1) |
|
|
|
self.reflectString(attribute, "validationAttempted", |
|
self.validationAttempted, 0) |
|
|
|
# self.reflectString(attribute, "validity", self.validity, 1) XXX |
|
|
|
return attribute |
|
|
|
Attribute.psvReflect = attributeReflect |
|
|
|
def convert(infoitem): |
|
if isinstance(infoitem, Element): |
|
# sys.stderr.write("converting %s\n" % infoitem) |
|
infoitem.oldReflect = infoitem.reflect |
|
infoitem.reflect = infoitem.psvReflect |
|
|
|
infoitem.schemaInformation = None |
|
infoitem.psvSpecified = None |
|
infoitem.default = None |
|
infoitem.typeDefinitionType = None |
|
infoitem.typeDefinitionNamespace = None |
|
infoitem.typeDefinitionAnonymous = None |
|
infoitem.typeDefinitionName = None |
|
infoitem.null = None |
|
infoitem.validationAttempted = None |
|
infoitem.validity = None |
|
|
|
elif isinstance(infoitem, Attribute): |
|
# sys.stderr.write("converting %s\n" % infoitem) |
|
infoitem.oldReflect = infoitem.reflect |
|
infoitem.reflect = infoitem.psvReflect |
|
|
|
infoitem.psvSpecified = None |
|
infoitem.default = None |
|
infoitem.typeDefinitionType = None |
|
infoitem.typeDefinitionNamespace = None |
|
infoitem.typeDefinitionAnonymous = None |
|
infoitem.typeDefinitionName = None |
|
infoitem.validationAttempted = None |
|
infoitem.validity = None |
|
|