Class: RDF::RDFa::Format

Inherits:
Format
  • Object
show all
Defined in:
lib/rdf/rdfa/format.rb

Overview

RDFa format specification.

Examples:

Obtaining an RDFa format class

RDF::Format.for(:rdfa)     #=> RDF::RDFa::Format
RDF::Format.for("etc/doap.html")
RDF::Format.for(:file_name      => "etc/doap.html")
RDF::Format.for(:file_extension => "html")
RDF::Format.for(:content_type   => "text/html")
RDF::Format.for(:content_type   => "application/xhtml+xml")

Obtaining serialization format MIME types

RDF::Format.content_types      #=> {"text/html" => [RDF::RDFa::Format]}

Obtaining serialization format file extension mappings

RDF::Format.file_extensions    #=> {:xhtml => "application/xhtml+xml"}

See Also:

Class Method Summary (collapse)

Class Method Details

+ (Boolean) detect(sample)

Sample detection to see if it matches RDFa (not RDF/XML or Microdata)

Use a text sample to detect the format of an input file. Sub-classes implement a matcher sufficient to detect probably format matches, including disambiguating between other similar formats.

Parameters:

  • sample (String)

    Beginning several bytes (~ 1K) of input.

Returns:

  • (Boolean)


35
36
37
38
39
# File 'lib/rdf/rdfa/format.rb', line 35

def self.detect(sample)
  (sample.match(/<[^>]*(about|resource|prefix|typeof|property|vocab)\s*="[^>]*>/m) ||
   sample.match(/<[^>]*DOCTYPE\s+html[^>]*>.*xmlns:/im)
  ) && !sample.match(/<(\w+:)?(RDF)/)
end