Sha256: 80d72998042ac0ee29eda1decd0b153565d8cc4e1b8f1b4c0c2961ff5e1cb590

Contents?: true

Size: 1.17 KB

Versions: 24

Compression:

Stored size: 1.17 KB

Contents

module ScmsXmlHandler
	VERSION = '1.0.0'
	require 'nokogiri'
	
	def ScmsXmlHandler.transform(xmlstring)

		# This could be a better solution: http://stackoverflow.com/questions/3542264/can-nokogiri-search-for-xml-stylesheet-tags

		xml = Nokogiri::XML(xmlstring)
		#<?xml-stylesheet type="text/xsl" href="../skins/html5-boilerplate.xsl"?>
		pi = xml.children[0]
		mypi = pi.to_s.scan(/.* href="(.*)"\?>/)
		
		if mypi[0] != nil
			xslpi = mypi[0][0].to_s
			puts "Transforming with #{xslpi}"
			xslpi = File.join($website, xslpi)
			
			if File.exists?(xslpi)
				begin 
					xsl = File.read(xslpi)
					xslt  = Nokogiri::XSLT(xsl)
					return xslt.transform(xml).to_html
				rescue StandardError => e
					ScmsUtils.errLog("Error transforming")
					ScmsUtils.errLog(xslpi)
					ScmsUtils.errLog(e.message)
					ScmsUtils.errLog(e.inspect)
					#print e.backtrace.join("\n")
				rescue Exception => e  
					ScmsUtils.errLog("Error transforming with #{xslpi}")
					ScmsUtils.errLog(e.message)
				end
			else
				puts "Cant find pi: #{xslpi}"
			end
		else
			puts "No XSL processing instruction found in #{view}"
		end

		return xmlstring

	end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
scms-4.5.1 lib/scms/scms-xmlhandler.rb
scms-4.5.0 lib/scms/scms-xmlhandler.rb
scms-4.4.9 lib/scms/scms-xmlhandler.rb
scms-4.4.8 lib/scms/scms-xmlhandler.rb
scms-4.4.6 lib/scms/scms-xmlhandler.rb
scms-4.4.5 lib/scms/scms-xmlhandler.rb
scms-4.4.4 lib/scms/scms-xmlhandler.rb
scms-4.4.3 lib/scms/scms-xmlhandler.rb
scms-4.4.2 lib/scms/scms-xmlhandler.rb
scms-4.4.1 lib/scms/scms-xmlhandler.rb
scms-4.4.0 lib/scms/scms-xmlhandler.rb
scms-4.3.0 lib/scms/scms-xmlhandler.rb
scms-4.2.6 lib/scms/scms-xmlhandler.rb
scms-4.2.5 lib/scms/scms-xmlhandler.rb
scms-4.2.4 lib/scms/scms-xmlhandler.rb
scms-4.2.3 lib/scms/scms-xmlhandler.rb
scms-4.2.2 lib/scms/scms-xmlhandler.rb
scms-4.2.0 lib/scms/scms-xmlhandler.rb
scms-4.1.2 lib/scms/scms-xmlhandler.rb
scms-4.1.1 lib/scms/scms-xmlhandler.rb