class Haml::Compiler::DoctypeCompiler
def compile(node)
def compile(node) case node.value[:type] when '' html_doctype(node) when 'xml' xml_doctype when 'rdfa' rdfa_doctype else [:html, :doctype, node.value[:type]] end end
def html_doctype(node)
def html_doctype(node) version = node.value[:version] || :transitional case @format when :xhtml [:html, :doctype, version] when :html4 [:html, :doctype, :transitional] when :html5 [:html, :doctype, :html] else [:html, :doctype, @format] end end
def initialize(options = {})
def initialize(options = {}) @format = options[:format] end
def rdfa_doctype
def rdfa_doctype [:static, '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">'] end
def xml_doctype
def xml_doctype case @format when :xhtml [:static, "<?xml version='1.0' encoding='utf-8' ?>\n"] else [:multi] end end