def resolve(self, symbol):
        '''
        Resolve the specified symbol to absolute value.

        @param symbol: Symbol name.
        @type symbol: str

        @return: Absolute value of the symbol.
        @rtype: str
        '''

        if symbol not in self.symtab:
            return '[[::%s::]]' % symbol

        result = self.symtab[symbol].content

        while True:
            matobj = PageMacro.varpat.search(result)
            if matobj is None: break
            symname = matobj.group('symname')
            if symname in self.symtab:
                (result, _) = PageMacro.varpat.subn(
                    self.resolve(symname), result, 1
                )
            else:
                (result, _) = PageMacro.varpat.subn(
                    '[[::%s::]]' % symname, result, 1
                )

        return self.handle_unk(result)

        Resolve the specified symbol to absolute value.

        @param symbol: Symbol name.
        @type symbol: str

        @return: Absolute value of the symbol.
        @rtype: str
        
recipes/Python/231512_Efficient_Comfortable_HTMLTemplate/recipe-231512.py