stringLiteral :: CharParser st Literal
stringLiteral = do
  s <- fmap rmQuotes stringLit
  do
      string cTypeS
      d <- datatypeUri
      return $ Literal s $ Typed d
    <|> do
        string asP
        t <- skips $ optionMaybe languageTag
        return $ Literal s $ Untyped t
    <|> skips (return $ Literal s $ Typed $ mkQName stringS)
stringLiteral :: CharParser st Literal
stringLiteral = do
  s <- fmap rmQuotes stringLit
  do
      string cTypeS
      d <- datatypeUri
      return $ Literal s $ Typed d
    <|> do
        string asP
        t <- skips $ optionMaybe languageTag
        return $ Literal s $ Untyped t
    <|> skips (return $ Literal s $ Typed $ mkQName stringS)
stringLiteral = do
  s <- fmap rmQuotes stringLit
  do
      string cTypeS
      d <- datatypeUri
      return $ Literal s $ Typed d
    <|> do
        string asP
        t <- skips $ optionMaybe languageTag
        return $ Literal s $ Untyped t
    <|> skips (return $ Literal s $ Typed $ mkQName stringS)