+
+
+
+-- | We also provide an (un)pickler for one common XML representation,
+-- used at least in "TSN.XML.News" and "TSN.XML.Location".
+--
+pickle_location :: PU Location
+pickle_location =
+ xpElem "location" $
+ xpWrap (from_tuple, to_tuple) $
+ xpTriple (xpOption (xpElem "city" xpText))
+ (xpOption (xpElem "state" xpText))
+ (xpElem "country" xpText)
+ where
+ from_tuple = uncurryN Location
+ to_tuple l = (city l, state l, country l)