Adding (a_remove_whitespace,v_1) as a parser option when running solves it. Silly me.
Tony Morris wrote: > I am trying to parse XML using HXT following > http://www.haskell.org/haskellwiki/HXT/Conversion_of_Haskell_data_from/to_XML > > Here is my XML file (way.xml): > > <way id="27776903" visible="true" timestamp="2009-05-31T13:39:15Z" > version="3" changeset="1368552" user="Matt" uid="70"> > <tag k="access" v="private"/> > <tag k="highway" v="service"/> > </way> > > The problem is when parsing, by reading the <tag> entries into the > list held by the Way data structure, I cannot get anything but an > empty list. > > Here is my parsing code: > > import Text.XML.HXT.Arrow > > newtype Way = Way { > tags :: [Tag] > } deriving (Eq, Show) > > xpWay :: PU Way > xpWay = xpElem "way" (xpWrap (Way, tags) (xpList xpTag)) > > data Tag = Tag { > k :: String, > v :: String > } deriving (Eq, Show) > > xpTag :: PU Tag > xpTag = xpElem "tag" (xpWrap (uncurry Tag, k &&& v) (xpPair (xpAttr > "k" xpText) (xpAttr "v" xpText))) > > When I run, I get the following result: > > Main> run = runX (xunpickleDocument xpWay [] "way.xml") > [Way {tags = []}] > > Why is the tags list empty instead of holding two entries? > > > -- Tony Morris http://tmorris.net/ _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
