packages feed

xml-conduit 1.1.0.4 → 1.1.0.5

raw patch · 2 files changed

+33/−28 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

Text/XML/Stream/Parse.hs view
@@ -153,11 +153,10 @@         | Just t <- lookup e es = ContentText t     resolve c = c     n' = if isClosed then n else l' : n-    fixAttName level (name', val) = (tnameToName True level name', val)-    begin = EventBeginElement (tnameToName False l' name)-          $ map (fixAttName l')-          $ as' []-    end = EventEndElement $ tnameToName False l' name+    fixAttName (name', val) = (tnameToName True l' name', val)+    elementName = tnameToName False l' name+    begin = EventBeginElement elementName $ map fixAttName $ as' []+    end = EventEndElement elementName tokenToEvent es n (TokenEndElement name) =     (es, n', [EventEndElement $ tnameToName False l name])   where@@ -200,9 +199,8 @@     getEncoding front bs'         | S.length bs < 4 =             Left (bs `S.append`)-        | otherwise = do-            let decode = CT.decode codec-             in Right (bsOut, decode)+        | otherwise =+            Right (bsOut, CT.decode codec)       where         bs = front bs'         bsOut = S.append (S.drop toDrop x) y@@ -282,7 +280,7 @@         await >>= maybe (return ()) push       where         push (position, token) =-            mapM_ (yield . ((,) (Just position))) events >> go es' levels'+            mapM_ (yield . (,) (Just position)) events >> go es' levels'           where             (es', levels', events) = tokenToEvent es levels token @@ -302,10 +300,10 @@ parseToken de = (char '<' >> parseLt) <|> TokenContent <$> parseContent de False False   where     parseLt =-        (char '?' >> parseInstr) <|>-        (char '!' >> (parseComment <|> parseCdata <|> parseDoctype)) <|>+        parseBegin <|>         (char '/' >> parseEnd) <|>-        parseBegin+        (char '!' >> (parseComment <|> parseCdata <|> parseDoctype)) <|>+        (char '?' >> parseInstr)     parseInstr = do         name <- parseIdent         if name == "xml"@@ -405,21 +403,15 @@     val <- squoted <|> dquoted     return (key, val)   where-    squoted = do-        char' '\''-        manyTill (parseContent de False True) (char '\'')-    dquoted = do-        char' '"'-        manyTill (parseContent de True False) (char '"')+    squoted = char '\'' *> manyTill (parseContent de False True) (char '\'')+    dquoted = char  '"' *> manyTill (parseContent de True False) (char  '"')  parseName :: Parser TName-parseName = do-    i1 <- parseIdent-    mi2 <- (char ':' >> fmap Just parseIdent) <|> return Nothing-    return $-        case mi2 of-            Nothing -> TName Nothing i1-            Just i2 -> TName (Just i1) i2+parseName =+  name <$> parseIdent <*> A.optional (char ':' >> parseIdent)+  where+    name i1 Nothing = TName Nothing i1+    name i1 (Just i2) = TName (Just i1) i2  parseIdent :: Parser Text parseIdent =@@ -434,7 +426,7 @@     valid '"' = False     valid '\'' = False     valid '/' = False-    valid c  = not $ isSpace c+    valid c  = not $ isXMLSpace c  parseContent :: DecodeEntities              -> Bool -- break on double quote@@ -458,7 +450,20 @@     valid _  = True  skipSpace :: Parser ()-skipSpace = skipWhile isSpace+skipSpace = skipWhile isXMLSpace++-- | Determines whether a character is an XML white space. The list of+-- white spaces is given by+--+-- >  S ::= (#x20 | #x9 | #xD | #xA)++--+-- in <http://www.w3.org/TR/2008/REC-xml-20081126/#sec-common-syn>.+isXMLSpace :: Char -> Bool+isXMLSpace ' ' = True+isXMLSpace '\t' = True+isXMLSpace '\r' = True+isXMLSpace '\n' = True+isXMLSpace _ = False  newline :: Parser () newline = ((char '\r' >> char '\n') <|> char '\n') >> return ()
xml-conduit.cabal view
@@ -1,5 +1,5 @@ name:            xml-conduit-version:         1.1.0.4+version:         1.1.0.5 license:         BSD3 license-file:    LICENSE author:          Michael Snoyman <michaels@suite-sol.com>, Aristid Breitkreuz <aristidb@googlemail.com>