# File htree/leaf.rb, line 25 def initialize(root_element_name, public_identifier=nil, system_identifier=nil) init_raw_string if public_identifier && /\A[ \x0d\x0aa-zA-Z0-9\-'()+,.\/:=?;!*\#@$_%]*\z/ !~ public_identifier raise HTree::Error, "invalid public identifier in document type declaration: #{public_identifier.inspect}" end if system_identifier && /"/ =~ system_identifier && /'/ =~ system_identifier raise HTree::Error, "invalid system identifier in document type declaration: #{system_identifier.inspect}" end @root_element_name = root_element_name @public_identifier = public_identifier @system_identifier = system_identifier end
# File htree/parse.rb, line 372 def DocType.parse(raw_string, is_xml, is_html) unless /\A#{Pat::DocType_C}\z/ =~ raw_string raise HTree::Error, "cannot recognize as XML declaration: #{raw_string.inspect}" end root_element_name = $1 public_identifier = $2 || $3 system_identifier = $4 || $5 root_element_name = root_element_name.downcase if !is_xml && is_html result = DocType.new(root_element_name, public_identifier, system_identifier) result.raw_string = raw_string result end
Generated with the Darkfish Rdoc Generator 2.