Module: Peanuts::XML::LibXML
- Defined in:
- lib/peanuts/xml/libxml.rb
Defined Under Namespace
Classes: Reader, Schema, Writer
Class Method Summary collapse
Class Method Details
.schema(schema_type, source, source_type = :string) ⇒ Object
186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 |
# File 'lib/peanuts/xml/libxml.rb', line 186 def self.schema(schema_type, source, source_type = :string) schema_class = case schema_type when :xml_schema ::LibXML::XML::Schema when :relax_ng ::LibXML::XML::RelaxNG else raise ArgumentError, "unrecognized schema type #{schema_type}" end schema = case source_type when :string schema_class.string(source) when :io schema_class.string(source.read) when :uri schema_class.new(source) when :document schema_class.document(source) else raise ArgumentError, "unrecognized source type #{source_type}" end Schema.new(schema_type, schema) end |