X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=source%2Fmir%2Frss%2FRSSReader.java;h=31be42180f7179e860c407d003716eebfa2fd637;hb=5f32b740e1ad3e66beca031452bf2e5580abb806;hp=52547a7ca17debd7a707a7114b2dab1c9572c08c;hpb=0b7bda6fe52535994ff8fae95f28a6ddbb4dfa68;p=mir.git diff --git a/source/mir/rss/RSSReader.java b/source/mir/rss/RSSReader.java index 52547a7c..31be4218 100755 --- a/source/mir/rss/RSSReader.java +++ b/source/mir/rss/RSSReader.java @@ -52,6 +52,7 @@ import mir.util.*; public class RSSReader { public static final String RDF_NAMESPACE_URI = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"; public static final String RSS_1_0_NAMESPACE_URI = "http://purl.org/rss/1.0/"; + public static final String RSS_0_9_NAMESPACE_URI = "http://my.netscape.com/rdf/simple/0.9/"; public static final String DUBLINCORE_NAMESPACE_URI = "http://purl.org/dc/elements/1.1/"; public static final String EVENT_NAMESPACE_URI = "http://purl.org/rss/1.0/modules/event/"; public static final String TAXONOMY_NAMESPACE_URI = "http://web.resource.org/rss/1.0/modules/taxonomy/"; @@ -80,24 +81,25 @@ public class RSSReader { registerModule(new RSSBasicModule(RDF_NAMESPACE_URI, "RDF module"), "rdf"); registerModule(new RSSBasicModule(RSS_1_0_NAMESPACE_URI, "RSS 1.0 module"), "rss"); + registerModule(new RSSBasicModule(RSS_0_9_NAMESPACE_URI, "RSS 0.9 module"), "rss"); RSSBasicModule dcModule = new RSSBasicModule(DUBLINCORE_NAMESPACE_URI, "RSS Dublin Core 1.1"); - dcModule.addProperty("date", dcModule.W3CDTF_PROPERTY_TYPE); + dcModule.addProperty("date", RSSModule.W3CDTF_PROPERTY_TYPE); registerModule(dcModule, "dc"); RSSBasicModule dcTermsModule = new RSSBasicModule(DUBLINCORE_TERMS_NAMESPACE_URI, "RSS Qualified Dublin core"); - dcTermsModule.addProperty("created", dcModule.W3CDTF_PROPERTY_TYPE); - dcTermsModule.addProperty("issued", dcModule.W3CDTF_PROPERTY_TYPE); - dcTermsModule.addProperty("modified", dcModule.W3CDTF_PROPERTY_TYPE); - dcTermsModule.addProperty("dateAccepted", dcModule.W3CDTF_PROPERTY_TYPE); - dcTermsModule.addProperty("dateCopyrighted", dcModule.W3CDTF_PROPERTY_TYPE); - dcTermsModule.addProperty("dateSubmitted", dcModule.W3CDTF_PROPERTY_TYPE); + dcTermsModule.addProperty("created", RSSModule.W3CDTF_PROPERTY_TYPE); + dcTermsModule.addProperty("issued", RSSModule.W3CDTF_PROPERTY_TYPE); + dcTermsModule.addProperty("modified", RSSModule.W3CDTF_PROPERTY_TYPE); + dcTermsModule.addProperty("dateAccepted", RSSModule.W3CDTF_PROPERTY_TYPE); + dcTermsModule.addProperty("dateCopyrighted", RSSModule.W3CDTF_PROPERTY_TYPE); + dcTermsModule.addProperty("dateSubmitted", RSSModule.W3CDTF_PROPERTY_TYPE); registerModule(dcTermsModule, "dcterms"); RSSBasicModule v2vTermsModule = new RSSBasicModule(V2V_NAMESPACE_URI, "indymedia v2v RSS module"); - dcTermsModule.addMultiValuedProperty("topic", dcModule.PCDATA_PROPERTY_TYPE); - dcTermsModule.addMultiValuedProperty("genre", dcModule.PCDATA_PROPERTY_TYPE); - dcTermsModule.addMultiValuedProperty("link", dcModule.PCDATA_PROPERTY_TYPE); + v2vTermsModule.addMultiValuedProperty("topic", RSSModule.PCDATA_PROPERTY_TYPE); + v2vTermsModule.addMultiValuedProperty("genre", RSSModule.PCDATA_PROPERTY_TYPE); + v2vTermsModule.addMultiValuedProperty("link", RSSModule.PCDATA_PROPERTY_TYPE); registerModule(v2vTermsModule, "v2v"); registerModule(new RSSBasicModule(EVENT_NAMESPACE_URI, "Event RSS module"), "ev"); @@ -289,6 +291,10 @@ public class RSSReader { }; public RDFResource getResource() { + if (resource.getIdentifier()==null || resource.getIdentifier().length()==0) { + resource.setIdentifier(resource.get("rss:link").toString()); + } + return resource; } }