import qualified Data.ByteString.Lazy as L
import Data.Encoding
import Data.Encoding.UTF8
+import qualified Data.Map as M
import Paths_Rakka -- Cabal が用意する。
import Rakka.Page
import Rakka.Utils
-> do mimeType <- (getXPathTreesInDoc "/page/@type/text()" >>> getText
>>> arr read) -< tree
+ lang <- maybeA (getXPathTreesInDoc "/page/@lang/text()" >>> getText) -< tree
+
isTheme <- (withDefault (getXPathTreesInDoc "/page/@isTheme/text()" >>> getText) "no"
>>> parseYesOrNo) -< tree
isFeed <- (withDefault (getXPathTreesInDoc "/page/@isFeed/text()" >>> getText) "no"
returnA -< Entity {
pageName = name
, pageType = mimeType
+ , pageLanguage = lang
, pageIsTheme = isTheme
, pageIsFeed = isFeed
, pageIsLocked = isLocked
, pageRevision = Nothing
, pageLastMod = lastMod
, pageSummary = summary
- , pageOtherLang = otherLang
+ , pageOtherLang = M.fromList otherLang
, pageContent = content
}
\ No newline at end of file