code: def getSRegNS(message):
      
      # See if there exists an alias for one of the two defined simple
      # registration types.
      for sreg_ns_uri in [ns_uri_1_1, ns_uri_1_0]:
          alias = message.namespaces.getAlias(sreg_ns_uri)
          if alias is not None:
              break
      else:
          # There is no alias for either of the types, so try to add
          # one. We default to using the modern value (1.1)
          sreg_ns_uri = ns_uri_1_1
          try:
              message.namespaces.addAlias(ns_uri_1_1, 'sreg')
          except KeyError, why:
              # An alias for the string 'sreg' already exists, but it's
              # defined for something other than simple registration
              raise SRegNamespaceError(why[0])
  
      # we know that sreg_ns_uri defined, because it's defined in the
      # else clause of the loop as well, so disable the warning
      return sreg_ns_uri
docs: Extract the simple registration namespace URI from the given
      OpenID message. Handles OpenID 1 and 2, as well as both sreg
      namespace URIs found in the wild, as well as missing namespace
      definitions (for OpenID 1)
  
      @param message: The OpenID message from which to parse simple
          registration fields. This may be a request or response message.
      @type message: C{L{openid.message.Message}}
  
      @returns: the sreg namespace URI for the supplied message. The
          message may be modified to define a simple registration
          namespace.
      @rtype: C{str}
  
      @raise ValueError: when using OpenID 1 if the message defines
          the 'sreg' alias to be something other than a simple
          registration type.