Added
Link Here
|
1 |
--- CheckRDF.hs.orig 2007-03-02 19:13:07.000000000 +0100 |
2 |
+++ CheckRDF.hs 2009-01-26 18:28:22.000000000 +0100 |
3 |
@@ -24,9 +24,12 @@ |
4 |
import Directory ( doesFileExist, getPermissions, readable, removeFile ) |
5 |
import List ( partition, intersperse, groupBy, sortBy) |
6 |
import Time (getClockTime,toCalendarTime,calendarTimeToString) |
7 |
+import Char (toLower) |
8 |
|
9 |
import Text.XML.HaXml.Types |
10 |
import Text.XML.HaXml.Parse (xmlParse) |
11 |
+import Text.XML.HaXml.Posn (noPos) |
12 |
+import Text.XML.HaXml.Xtract.Lex (lexXtract) |
13 |
import Text.XML.HaXml.Xtract.Parse (parseXtract) |
14 |
import Text.PrettyPrint.HughesPJ (render, vcat) |
15 |
import Text.XML.HaXml.Pretty (content) |
16 |
@@ -52,15 +55,15 @@ |
17 |
mkNewRDF :: RDFConfig -> FilePath -> String -> RDF |
18 |
mkNewRDF config filename contents = |
19 |
let elem = getElem $ xmlParse filename contents |
20 |
- ct = render $ vcat $ map content $ dfilter (parseXtract "channel/title/-") elem |
21 |
- cl = render $ vcat $ map content $ dfilter (parseXtract "channel/link/-") elem |
22 |
- len1 = length $ dfilter (parseXtract "//item/title") elem |
23 |
- len2 = length $ dfilter (parseXtract "//item/link") elem |
24 |
+ ct = render $ vcat $ map content $ dfilter (parseXtract (lexXtract (map toLower) "channel/title/-")) elem |
25 |
+ cl = render $ vcat $ map content $ dfilter (parseXtract (lexXtract (map toLower) "channel/link/-")) elem |
26 |
+ len1 = length $ dfilter (parseXtract (lexXtract (map toLower) "//item/title")) elem |
27 |
+ len2 = length $ dfilter (parseXtract (lexXtract (map toLower) "//item/link")) elem |
28 |
items = if len1 == len2 |
29 |
then (map (\ i -> (render $ vcat $ map content $ |
30 |
- dfilter (parseXtract ("//item/title["++i++"]/-")) elem |
31 |
+ dfilter (parseXtract (lexXtract (map toLower) ("//item/title["++i++"]/-"))) elem |
32 |
,render $ vcat $ map content $ |
33 |
- dfilter (parseXtract ("//item/link["++i++"]/-" )) elem) |
34 |
+ dfilter (parseXtract (lexXtract (map toLower) ("//item/link["++i++"]/-" ))) elem) |
35 |
) |
36 |
$ map show [0..len1-1]) |
37 |
else [] |
38 |
@@ -69,7 +72,7 @@ |
39 |
,clink = cl |
40 |
,citems = rdfitems |
41 |
} |
42 |
- where getElem (Document _ _ e _) = CElem e |
43 |
+ where getElem (Document _ _ e _) = CElem e noPos |
44 |
dfilter f = \ x -> f x x |
45 |
mkRDFItem (t,l) = RDFItem {title = substituteChar '\n' ' ' $ rmCDATA t |
46 |
,link = filter (/='\n') $ rmCDATA l |