Example #1
0
 def query(self, name, node):
     """ blindly query the schema by name """
     log.debug('searching schema for (%s)', name)
     qref = qualify(name, node, node.namespace())
     query = BlindQuery(qref)
     result = query.execute(self.schema)
     return (result, [])
Example #2
0
 def known(self, node):
     """ resolve type referenced by @xsi:type """
     ref = node.get('type', Namespace.xsins)
     if ref is None:
         return None
     qref = qualify(ref, node, node.namespace())
     query = BlindQuery(qref)
     return query.execute(self.schema)
Example #3
0
 def query(self, name):
     """ blindly query the schema by name """
     log.debug('searching schema for (%s)', name)
     schema = self.schema
     wsdl = self.wsdl()
     if wsdl is None:
         qref = qualify(name, schema.root, schema.tns)
     else:
         qref = qualify(name, wsdl.root, wsdl.tns)
     query = BlindQuery(qref)
     result = query.execute(schema)
     return (result, [])
Example #4
0
 def root(self, parts):
     """
     Find the path root.
     @param parts: A list of path parts.
     @type parts: [str,..]
     @return: The root.
     @rtype: L{xsd.sxbase.SchemaObject}
     """
     result = None
     name = parts[0]
     log.debug('searching schema for (%s)', name)
     qref = self.qualify(parts[0])
     query = BlindQuery(qref)
     result = query.execute(self.schema)
     if result is None:
         log.error('(%s) not-found', name)
         raise PathResolver.BadPath(name)
     else:
         log.debug('found (%s) as (%s)', name, Repr(result))
     return result
Example #5
0
 def find(self, name, resolved=True):
     """
     Get the definition object for the schema object by name.
     @param name: The name of a schema object.
     @type name: basestring
     @param resolved: A flag indicating that the fully resolved type
         should be returned.
     @type resolved: boolean
     @return: The found schema I{type}
     @rtype: L{xsd.sxbase.SchemaObject}
     """
     log.debug('searching schema for (%s)', name)
     qref = qualify(name, self.schema.root, self.schema.tns)
     query = BlindQuery(qref)
     result = query.execute(self.schema)
     if result is None:
         log.error('(%s) not-found', name)
         return None
     log.debug('found (%s) as (%s)', name, Repr(result))
     if resolved:
         result = result.resolve()
     return result