diff options
Diffstat (limited to 'lib/rss/taxonomy.rb')
-rw-r--r-- | lib/rss/taxonomy.rb | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/lib/rss/taxonomy.rb b/lib/rss/taxonomy.rb new file mode 100644 index 0000000000..5d3dd5bf85 --- /dev/null +++ b/lib/rss/taxonomy.rb @@ -0,0 +1,32 @@ +# Experimental + +require "rss/1.0" + +module RSS + + TAXO_PREFIX = "taxo" + TAXO_NS = "http://purl.org/rss/1.0/modules/taxonomy/" + + Element.install_ns(TAXO_PREFIX, TAXO_NS) + + TAXO_ELEMENTS = [] + + %w(link).each do |x| + if const_defined? :Listener + Listener.install_get_text_element(x, TAXO_NS, "#{TAXO_PREFIX}_#{x}=") + end + TAXO_ELEMENTS << "#{TAXO_PREFIX}_#{x}" + end + + module TaxonomyModel + attr_writer *%w(title description creator subject publisher + contributor date format identifier source + language relation coverage rights).collect{|x| "#{TAXO_PREFIX}_#{x}"} + end + + class Channel; extend TaxonomyModel; end + class Item; extend TaxonomyModel; end + class Image; extend TaxonomyModel; end + class TextInput; extend TaxonomyModel; end + +end |