code: def parse_ireturnvalue(self, tup_tree):
          
  
          # Note: The self.check_node() below does not enforce any child elements
          # from the DTD, and the processing further down does not enforce that
          # VALUE.ARRAY and VALUE.REFERENCE may appear at most once.
          # Checking that at this level is not reasonable because the better
          # checks can be done in context of the intrinsic operation receiving
          # its return value. The DTD is so broad simply because it needs to
          # cover the possible return values of all intrinsic operations.
          self.check_node(tup_tree, 'IRETURNVALUE')
  
          values = self.list_of_same(tup_tree,
                                     ('CLASSNAME', 'INSTANCENAME', 'VALUE',
                                      'VALUE.OBJECTWITHPATH',
                                      'VALUE.OBJECTWITHLOCALPATH',
                                      'VALUE.OBJECT', 'OBJECTPATH',
                                      'QUALIFIER.DECLARATION', 'VALUE.ARRAY',
                                      'VALUE.REFERENCE', 'CLASS', 'INSTANCE',
                                      'INSTANCEPATH', 'VALUE.NAMEDINSTANCE',
                                      'VALUE.INSTANCEWITHPATH'))
  
          # Note: The caller needs to unpack the value.
          return name(tup_tree), attrs(tup_tree), values
docs: Parse IRETURNVALUE element. Returns name, attributes and values of the
          tup_tree.
  
            ::
  
              <!ELEMENT IRETURNVALUE (CLASSNAME* | INSTANCENAME* | VALUE* |
                                      VALUE.OBJECTWITHPATH* |
                                      VALUE.OBJECTWITHLOCALPATH* |
                                      VALUE.OBJECT* | OBJECTPATH* |
                                      QUALIFIER.DECLARATION* | VALUE.ARRAY? |
                                      VALUE.REFERENCE? | CLASS* | INSTANCE* |
                                      INSTANCEPATH* | VALUE.NAMEDINSTANCE* |
                                      VALUE.INSTANCEWITHPATH*)>