'Stem a Danish word and return the stemmed form.
:param word: The word that is stemmed.
:type word: str or unicode
:return: The stemmed form.
:rtype: unicode'

def stem(self, word):

    word = word.lower()
    if (word in self.stopwords):
        return word
    r1 = self._r1_scandinavian(word, self.__vowels)
    for suffix in self.__step1_suffixes:
        if r1.endswith(suffix):
            if (suffix == u's'):
                if (word[(-2)] in self.__s_ending):
                    word = word[:(-1)]
                    r1 = r1[:(-1)]
            else:
                word = word[:(- len(suffix))]
                r1 = r1[:(- len(suffix))]
            break
    for suffix in self.__step2_suffixes:
        if r1.endswith(suffix):
            word = word[:(-1)]
            r1 = r1[:(-1)]
            break
    if r1.endswith(u'igst'):
        word = word[:(-2)]
        r1 = r1[:(-2)]
    for suffix in self.__step3_suffixes:
        if r1.endswith(suffix):
            if (suffix == u'l\xf8st'):
                word = word[:(-1)]
                r1 = r1[:(-1)]
            else:
                word = word[:(- len(suffix))]
                r1 = r1[:(- len(suffix))]
                if r1.endswith(self.__step2_suffixes):
                    word = word[:(-1)]
                    r1 = r1[:(-1)]
            break
    for double_cons in self.__double_consonants:
        if (word.endswith(double_cons) and (len(word) > 3)):
            word = word[:(-1)]
            break
    return word
