Sha256: 1952ea6c511b29abaedb75a8729b844d26150622424059bd58d2505032ab98cf
Contents?: true
Size: 1.45 KB
Versions: 1
Compression:
Stored size: 1.45 KB
Contents
module RubySpeech module SSML ## # The Speech Synthesis Markup Language is an XML application. The root element is speak. # # http://www.w3.org/TR/speech-synthesis/#S3.1.1 # class Speak < Element include XML::Language VALID_CHILD_TYPES = [String, Break, Emphasis, Prosody, SayAs, Voice].freeze ## # Create a new SSML speak root element # # @param [Hash] atts Key-value pairs of options mapping to setter methods # # @return [Speak] an element for use in an SSML document # def self.new(atts = {}, &block) super('speak', atts) do self[:version] = '1.0' self.namespace = 'http://www.w3.org/2001/10/synthesis' self.language ||= "en-US" instance_eval &block if block_given? end end ## # @return [String] the base URI to which relative URLs are resolved # def base_uri read_attr :base end ## # @param [String] uri the base URI to which relative URLs are resolved # def base_uri=(uri) write_attr 'xml:base', uri end def <<(arg) raise InvalidChildError, "A Speak can only accept String, Audio, Break, Emphasis, Mark, P, Phoneme, Prosody, SayAs, Sub, S, Voice as children" unless VALID_CHILD_TYPES.include? arg.class super end def eql?(o) super o, :language, :base_uri end end # Speak end # SSML end # RubySpeech
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ruby_speech-0.1.1 | lib/ruby_speech/ssml/speak.rb |