Class: Datacite::Mapping::Subject

Inherits:
Object
  • Object
show all
Includes:
XML::Mapping
Defined in:
lib/datacite/mapping/subject.rb

Overview

Subject, keyword, classification code, or key phrase describing the Resource.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(scheme: nil, scheme_uri: nil, language: 'en', value:) ⇒ Subject

Initializes a new Datacite::Mapping::Subject

Parameters:

  • scheme (String, nil) (defaults to: nil) —

    the subject scheme or classification code or authority if one is used. Optional.

  • scheme_uri (URI, nil) (defaults to: nil) —

    the URI of the subject scheme or classification code or authority if one is used. Optional.

  • language (String) (defaults to: 'en') —

    an IETF BCP 47, ISO 639-1 language code identifying the language. It's unclear from the spec whether language is required; to play it safe, if it's missing, we default to 'en'.

  • value (String) —

    the subject itself.



39
40
41
42
43
44
# File 'lib/datacite/mapping/subject.rb', line 39

def initialize(scheme: nil, scheme_uri: nil, language: 'en', value:)
  self.scheme = scheme
  self.scheme_uri = scheme_uri
  self.language = language
  self.value = value
end

Instance Attribute Details

#language ⇒ String

Returns an IETF BCP 47, ISO 639-1 language code identifying the language. It's unclear from the spec whether language is required; to play it safe, if it's missing, we default to 'en'.

Returns:

  • (String) —

    an IETF BCP 47, ISO 639-1 language code identifying the language. It's unclear from the spec whether language is required; to play it safe, if it's missing, we default to 'en'.



21
# File 'lib/datacite/mapping/subject.rb', line 21

text_node :language, '@xml:lang', default_value: nil

#scheme ⇒ String?

Returns the subject scheme or classification code or authority if one is used. Optional.

Returns:

  • (String, nil) —

    the subject scheme or classification code or authority if one is used. Optional.



12
# File 'lib/datacite/mapping/subject.rb', line 12

text_node :scheme, '@subjectScheme', default_value: nil

#scheme_uri ⇒ URI?

Returns the URI of the subject scheme or classification code or authority if one is used. Optional.

Returns:

  • (URI, nil) —

    the URI of the subject scheme or classification code or authority if one is used. Optional.



16
# File 'lib/datacite/mapping/subject.rb', line 16

uri_node :scheme_uri, '@schemeURI', default_value: nil

#value ⇒ String

Returns the subject itself.

Returns:

  • (String) —

    the subject itself.



25
# File 'lib/datacite/mapping/subject.rb', line 25

text_node :value, 'text()'