abbrIriNoPos :: CharParser st QName
abbrIriNoPos = try $ do
    pre <- try $ prefix << char ':'
    r <- hierPartWithOpts <|> return "" -- allow an empty local part
    return nullQName { namePrefix = pre, localPart = r }
  <|> fmap mkQName hierPartWithOpts
abbrIriNoPos :: CharParser st QName
abbrIriNoPos = try $ do
    pre <- try $ prefix << char ':'
    r <- hierPartWithOpts <|> return "" -- allow an empty local part
    return nullQName { namePrefix = pre, localPart = r }
  <|> fmap mkQName hierPartWithOpts
abbrIriNoPos = try $ do
    pre <- try $ prefix << char ':'
    r <- hierPartWithOpts <|> return "" -- allow an empty local part
    return nullQName { namePrefix = pre, localPart = r }
  <|> fmap mkQName hierPartWithOpts