| Module | RSS::RootElementMixin |
| In: |
lib/rss/rss.rb
|
| output_encoding | [R] |
# File lib/rss/rss.rb, line 956
956: def initialize(rss_version, version=nil, encoding=nil, standalone=nil)
957: super()
958: @rss_version = rss_version
959: @version = version || '1.0'
960: @encoding = encoding
961: @standalone = standalone
962: @output_encoding = nil
963: end
# File lib/rss/rss.rb, line 965
965: def output_encoding=(enc)
966: @output_encoding = enc
967: self.converter = Converter.new(@output_encoding, @encoding)
968: end
# File lib/rss/rss.rb, line 970
970: def setup_maker(maker)
971: maker.version = version
972: maker.encoding = encoding
973: maker.standalone = standalone
974:
975: xml_stylesheets.each do |xss|
976: xss.setup_maker(maker)
977: end
978:
979: setup_maker_elements(maker)
980: end
# File lib/rss/rss.rb, line 982
982: def to_xml(version=nil, &block)
983: if version.nil? or version == @rss_version
984: to_s
985: else
986: RSS::Maker.make(version) do |maker|
987: setup_maker(maker)
988: block.call(maker) if block
989: end.to_s
990: end
991: end
# File lib/rss/rss.rb, line 1010
1010: def ns_declarations
1011: decls = {}
1012: self.class::NSPOOL.collect do |prefix, uri|
1013: prefix = ":#{prefix}" unless prefix.empty?
1014: decls["xmlns#{prefix}"] = uri
1015: end
1016: decls
1017: end
# File lib/rss/rss.rb, line 1019
1019: def setup_maker_elements(maker)
1020: channel.setup_maker(maker) if channel
1021: image.setup_maker(maker) if image
1022: textinput.setup_maker(maker) if textinput
1023: super(maker)
1024: end
# File lib/rss/rss.rb, line 994
994: def tag(indent, attrs={}, &block)
995: rv = xmldecl + xml_stylesheet_pi
996: rv << super(indent, ns_declarations.merge(attrs), &block)
997: rv
998: end