class RDF::RDFa::Format

RDFa format specification.

@example 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")

@example Obtaining serialization format MIME types

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

@example Obtaining serialization format file extension mappings

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

@see www.w3.org/TR/rdf-testcases/#ntriples

Public Class Methods

detect(sample) click to toggle source

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.

@param [String] sample Beginning several bytes (~ 1K) of input. @return [Boolean]

# File lib/rdf/rdfa/format.rb, line 38
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
symbols() click to toggle source
# File lib/rdf/rdfa/format.rb, line 44
def self.symbols
  [:rdfa, :lite, :html, :xhtml, :svg]
end