@@ -394,13 +394,14 @@ attributes = try $ do
394394 attrs <- many (attribute >>~ many spaceChar)
395395 char '}'
396396 let (ids, classes, keyvals) = unzip3 attrs
397− let id' = if null ids then "" else head ids
398− return (id', concat classes, concat keyvals)
397+ let firstNonNull [] = ""
398+ firstNonNull (x:xs) | not (null x) = x
399+ | otherwise = firstNonNull xs
400+ return (firstNonNull $ reverse ids, concat classes, concat keyvals)
399401
400402attribute :: GenParser Char st ([Char], [[Char]], [([Char], [Char])])
401403attribute = identifierAttr <|> classAttr <|> keyValAttr
402404
403−
404405identifier :: GenParser Char st [Char]
405406identifier = do
406407 first <- letter