ieee-idams 0.2.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.rspec +3 -0
- data/.rubocop.yml +10 -0
- data/.rubocop_todo.yml +36 -0
- data/CODE_OF_CONDUCT.md +84 -0
- data/README.adoc +30 -0
- data/Rakefile +12 -0
- data/lib/ieee/idams/address.rb +32 -0
- data/lib/ieee/idams/affiliation.rb +34 -0
- data/lib/ieee/idams/affiliation_address.rb +37 -0
- data/lib/ieee/idams/affiliation_group.rb +19 -0
- data/lib/ieee/idams/article.rb +24 -0
- data/lib/ieee/idams/article_abstract.rb +22 -0
- data/lib/ieee/idams/article_copyright.rb +20 -0
- data/lib/ieee/idams/article_date.rb +33 -0
- data/lib/ieee/idams/article_filename.rb +22 -0
- data/lib/ieee/idams/article_info.rb +160 -0
- data/lib/ieee/idams/article_page_nums.rb +22 -0
- data/lib/ieee/idams/author.rb +64 -0
- data/lib/ieee/idams/author_group.rb +19 -0
- data/lib/ieee/idams/conf_group.rb +19 -0
- data/lib/ieee/idams/copyright.rb +24 -0
- data/lib/ieee/idams/copyright_group.rb +19 -0
- data/lib/ieee/idams/ics_code_term.rb +17 -0
- data/lib/ieee/idams/ics_codes.rb +17 -0
- data/lib/ieee/idams/isbn.rb +32 -0
- data/lib/ieee/idams/keyword.rb +19 -0
- data/lib/ieee/idams/keyword_set.rb +24 -0
- data/lib/ieee/idams/multimedia.rb +43 -0
- data/lib/ieee/idams/multimedia_component.rb +32 -0
- data/lib/ieee/idams/multimedia_compressed.rb +32 -0
- data/lib/ieee/idams/package_member_set.rb +15 -0
- data/lib/ieee/idams/product_number.rb +19 -0
- data/lib/ieee/idams/pub_sponsor.rb +17 -0
- data/lib/ieee/idams/pub_sponsoring_committee_set.rb +17 -0
- data/lib/ieee/idams/pub_topical_browse_set.rb +48 -0
- data/lib/ieee/idams/publication.rb +40 -0
- data/lib/ieee/idams/publication_acronym.rb +22 -0
- data/lib/ieee/idams/publication_info.rb +184 -0
- data/lib/ieee/idams/publisher.rb +29 -0
- data/lib/ieee/idams/standard_bundle.rb +43 -0
- data/lib/ieee/idams/standard_modifier_set.rb +15 -0
- data/lib/ieee/idams/standard_package_set.rb +15 -0
- data/lib/ieee/idams/standard_relationship.rb +36 -0
- data/lib/ieee/idams/version.rb +7 -0
- data/lib/ieee/idams/volume.rb +25 -0
- data/lib/ieee/idams/volume_info.rb +35 -0
- data/lib/ieee/idams/volume_info_issue.rb +22 -0
- data/lib/ieee/idams/volume_note_group.rb +17 -0
- data/lib/ieee/idams.rb +10 -0
- data/lib/ieee-idams.rb +16 -0
- data/references/ieee-books-xml-metadata-documentation.pdf +0 -0
- metadata +209 -0
@@ -0,0 +1,64 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "affiliation_group"
|
4
|
+
|
5
|
+
module Ieee
|
6
|
+
module Idams
|
7
|
+
# Represents an individual author
|
8
|
+
class Author < Lutaml::Model::Serializable
|
9
|
+
# AMS ID
|
10
|
+
# @return [Integer] author's AMS ID
|
11
|
+
attribute :amsid, :integer
|
12
|
+
|
13
|
+
# Order of authorship
|
14
|
+
# @return [Integer] author's order in the list of authors
|
15
|
+
attribute :authororder, :integer
|
16
|
+
|
17
|
+
# Normalized author name
|
18
|
+
# @return [String] surname, initials format
|
19
|
+
attribute :normname, :string
|
20
|
+
|
21
|
+
# Non-normalized author name
|
22
|
+
# @return [String] original format name
|
23
|
+
attribute :nonnormname, :string
|
24
|
+
|
25
|
+
# First name
|
26
|
+
# @return [String] author's first name
|
27
|
+
attribute :firstname, :string
|
28
|
+
|
29
|
+
# Middle name
|
30
|
+
# @return [String] author's middle name/initial
|
31
|
+
attribute :othername, :string
|
32
|
+
|
33
|
+
# Last name
|
34
|
+
# @return [String] author's surname
|
35
|
+
attribute :surname, :string
|
36
|
+
|
37
|
+
# Affiliation
|
38
|
+
# @return [String] author's institutional affiliation
|
39
|
+
attribute :affiliation, :string
|
40
|
+
|
41
|
+
# Affiliation information
|
42
|
+
# @return [AffiliationGroup] author's institutional affiliations
|
43
|
+
attribute :affgrp, AffiliationGroup
|
44
|
+
|
45
|
+
# Author type/role
|
46
|
+
# @return [String] one of: author, editor
|
47
|
+
attribute :authortype, :string, values: %w[author editor]
|
48
|
+
|
49
|
+
xml do
|
50
|
+
root "author"
|
51
|
+
map_element "amsid", to: :amsid
|
52
|
+
map_element "authororder", to: :authororder
|
53
|
+
map_element "normname", to: :normname, cdata: true
|
54
|
+
map_element "nonnormname", to: :nonnormname, cdata: true
|
55
|
+
map_element "firstname", to: :firstname, cdata: true
|
56
|
+
map_element "othername", to: :othername, cdata: true
|
57
|
+
map_element "surname", to: :surname, cdata: true
|
58
|
+
map_element "affiliation", to: :affiliation, cdata: true
|
59
|
+
map_element "affgrp", to: :affgrp
|
60
|
+
map_element "authortype", to: :authortype
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "author"
|
4
|
+
|
5
|
+
module Ieee
|
6
|
+
module Idams
|
7
|
+
# Represents a group of authors
|
8
|
+
class AuthorGroup < Lutaml::Model::Serializable
|
9
|
+
# List of authors
|
10
|
+
# @return [Array<Author>] authors of the work
|
11
|
+
attribute :author, Author, collection: true
|
12
|
+
|
13
|
+
xml do
|
14
|
+
root "authorgroup"
|
15
|
+
map_element "author", to: :author
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Ieee
|
4
|
+
module Idams
|
5
|
+
# Configuration Groiup
|
6
|
+
class ConfGroup < Lutaml::Model::Serializable
|
7
|
+
# <confgroup>
|
8
|
+
# <doi_permission>F</doi_permission>
|
9
|
+
# </confgroup>
|
10
|
+
|
11
|
+
attribute :doi_permission, :string, collection: true
|
12
|
+
|
13
|
+
xml do
|
14
|
+
root "confgroup"
|
15
|
+
map_element "doi_permission", to: :doi_permission
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "copyright"
|
4
|
+
|
5
|
+
module Ieee
|
6
|
+
module Idams
|
7
|
+
# Represents a copyright entry
|
8
|
+
class Copyright < Lutaml::Model::Serializable
|
9
|
+
# Copyright year
|
10
|
+
# @return [Integer] year of copyright
|
11
|
+
attribute :year, :integer
|
12
|
+
|
13
|
+
# Copyright holder
|
14
|
+
# @return [String] name of copyright holder
|
15
|
+
attribute :holder, :string
|
16
|
+
|
17
|
+
xml do
|
18
|
+
root "copyright"
|
19
|
+
map_element "year", to: :year
|
20
|
+
map_element "holder", to: :holder
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "copyright"
|
4
|
+
|
5
|
+
module Ieee
|
6
|
+
module Idams
|
7
|
+
# Represents a group of copyright information
|
8
|
+
class CopyrightGroup < Lutaml::Model::Serializable
|
9
|
+
# Copyright entries
|
10
|
+
# @return [Array<Copyright>] copyright information
|
11
|
+
attribute :copyright, Copyright, collection: true
|
12
|
+
|
13
|
+
xml do
|
14
|
+
root "copyrightgroup"
|
15
|
+
map_element "copyright", to: :copyright
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Ieee
|
4
|
+
module Idams
|
5
|
+
# ICS code with term
|
6
|
+
class IcsCodeTerm < Lutaml::Model::Serializable
|
7
|
+
attribute :codenum, :string
|
8
|
+
attribute :name, :string
|
9
|
+
|
10
|
+
xml do
|
11
|
+
root "code_term"
|
12
|
+
map_attribute "codenum", to: :codenum
|
13
|
+
map_content to: :name
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "ics_code_term"
|
4
|
+
|
5
|
+
module Ieee
|
6
|
+
module Idams
|
7
|
+
# ICS Codes
|
8
|
+
class IcsCodes < Lutaml::Model::Serializable
|
9
|
+
attribute :code_term, IcsCodeTerm, collection: true
|
10
|
+
|
11
|
+
xml do
|
12
|
+
root "icscodes"
|
13
|
+
map_element "code_term", to: :code_term
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Ieee
|
4
|
+
module Idams
|
5
|
+
# Represents an ISBN identifier for a book
|
6
|
+
class Isbn < Lutaml::Model::Serializable
|
7
|
+
# ISBN number
|
8
|
+
# @return [String] 13 or 10 digit ISBN, max 15 chars
|
9
|
+
attribute :content, :string
|
10
|
+
|
11
|
+
# File type for this ISBN
|
12
|
+
# @return [String] one of: paperback, hardcover, ePub, PDF
|
13
|
+
attribute :isbnfiletype, :string, values: %w[paperback hardcover ePub PDF]
|
14
|
+
|
15
|
+
# ISBN type specification
|
16
|
+
# @return [String] one of: New-2005, Historical
|
17
|
+
attribute :isbntype, :string, values: %w[New-2005 Historical]
|
18
|
+
|
19
|
+
# Media type
|
20
|
+
# @return [String] one of: Paper, CD, Online, Electronic
|
21
|
+
attribute :mediatype, :string, values: %w[Paper CD Online Electronic]
|
22
|
+
|
23
|
+
xml do
|
24
|
+
root "isbn"
|
25
|
+
map_content to: :content
|
26
|
+
map_attribute "isbnfiletype", to: :isbnfiletype
|
27
|
+
map_attribute "isbntype", to: :isbntype
|
28
|
+
map_attribute "mediatype", to: :mediatype
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Ieee
|
4
|
+
module Idams
|
5
|
+
# Represents a keyword
|
6
|
+
class Keyword < Lutaml::Model::Serializable
|
7
|
+
# Keyword term
|
8
|
+
# @return [String] keyword text
|
9
|
+
attribute :keywordterm, :string
|
10
|
+
attribute :keywordmodifier, :string
|
11
|
+
|
12
|
+
xml do
|
13
|
+
root "keyword"
|
14
|
+
map_element "keywordterm", to: :keywordterm, cdata: true
|
15
|
+
map_element "keywordmodifier", to: :keywordmodifier
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "keyword"
|
4
|
+
|
5
|
+
module Ieee
|
6
|
+
module Idams
|
7
|
+
# Represents a set of keywords
|
8
|
+
class KeywordSet < Lutaml::Model::Serializable
|
9
|
+
# Keyword type
|
10
|
+
# @return [String] type of keywords
|
11
|
+
attribute :keywordtype, :string
|
12
|
+
|
13
|
+
# List of keywords
|
14
|
+
# @return [Array<Keyword>] keywords
|
15
|
+
attribute :keyword, Keyword, collection: true
|
16
|
+
|
17
|
+
xml do
|
18
|
+
root "keywordset"
|
19
|
+
map_attribute "keywordtype", to: :keywordtype
|
20
|
+
map_element "keyword", to: :keyword
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "multimedia_compressed"
|
4
|
+
require_relative "multimedia_component"
|
5
|
+
|
6
|
+
module Ieee
|
7
|
+
module Idams
|
8
|
+
# Multimedia
|
9
|
+
class Multimedia < Lutaml::Model::Serializable
|
10
|
+
# <multimedia>
|
11
|
+
# <summary>The IEEE 1584 calculators can be accessed via the auxiliary files (5), ¿IEEE_1584_Bolted_Fault_Cal.xls¿ and
|
12
|
+
# ¿IEEE_1584_Arc_Flash_Hazard.xls¿, and test data can be accessed via the auxiliary files, ¿Data_set.xls¿,
|
13
|
+
# ¿Test_results_database.xls¿, and ¿CL_Fuse_test_data.xls¿ provided for use with IEEE 1584-2002.</summary>
|
14
|
+
# <compressed>
|
15
|
+
# <compressedfilename>IEEE1584-2002_AncillaryFiles.zip</compressedfilename>
|
16
|
+
# <compressedfilesize>180</compressedfilesize>
|
17
|
+
# <compressiontype>ZIP</compressiontype>
|
18
|
+
# <environmenttype>Windows</environmenttype>
|
19
|
+
# <readmefile>IEEE1584-2002_AncillaryFiles.readme.txt</readmefile>
|
20
|
+
# </compressed>
|
21
|
+
# <component>
|
22
|
+
# <componentfilename/>
|
23
|
+
# <componentfilesize/>
|
24
|
+
# <componenttype/>
|
25
|
+
# <componentplatform/>
|
26
|
+
# <componentdoi/>
|
27
|
+
# </component>
|
28
|
+
# </multimedia>
|
29
|
+
|
30
|
+
attribute :summary, :string
|
31
|
+
attribute :compressed, MultimediaCompressed
|
32
|
+
attribute :component, MultimediaComponent
|
33
|
+
|
34
|
+
xml do
|
35
|
+
root "multimedia"
|
36
|
+
|
37
|
+
map_element "summary", to: :summary
|
38
|
+
map_element "compressed", to: :compressed
|
39
|
+
map_element "component", to: :component
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Ieee
|
4
|
+
module Idams
|
5
|
+
# Multimedia component
|
6
|
+
class MultimediaComponent < Lutaml::Model::Serializable
|
7
|
+
# <component>
|
8
|
+
# <componentfilename/>
|
9
|
+
# <componentfilesize/>
|
10
|
+
# <componenttype/>
|
11
|
+
# <componentplatform/>
|
12
|
+
# <componentdoi/>
|
13
|
+
# </component>
|
14
|
+
|
15
|
+
attribute :filename, :string
|
16
|
+
attribute :filesize, :string
|
17
|
+
attribute :type, :string
|
18
|
+
attribute :platform, :string
|
19
|
+
attribute :doi, :string
|
20
|
+
|
21
|
+
xml do
|
22
|
+
root "component"
|
23
|
+
|
24
|
+
map_element "componentfilename", to: :filename, render_nil: true
|
25
|
+
map_element "componentfilesize", to: :filesize, render_nil: true
|
26
|
+
map_element "componenttype", to: :type, render_nil: true
|
27
|
+
map_element "componentplatform", to: :platform, render_nil: true
|
28
|
+
map_element "componentdoi", to: :doi, render_nil: true
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Ieee
|
4
|
+
module Idams
|
5
|
+
# Multimedia compressed
|
6
|
+
class MultimediaCompressed < Lutaml::Model::Serializable
|
7
|
+
# <compressed>
|
8
|
+
# <compressedfilename>IEEE1584-2002_AncillaryFiles.zip</compressedfilename>
|
9
|
+
# <compressedfilesize>180</compressedfilesize>
|
10
|
+
# <compressiontype>ZIP</compressiontype>
|
11
|
+
# <environmenttype>Windows</environmenttype>
|
12
|
+
# <readmefile>IEEE1584-2002_AncillaryFiles.readme.txt</readmefile>
|
13
|
+
# </compressed>
|
14
|
+
|
15
|
+
attribute :filename, :string
|
16
|
+
attribute :filesize, :string
|
17
|
+
attribute :compression_type, :string
|
18
|
+
attribute :environment_type, :string
|
19
|
+
attribute :readme_file, :string
|
20
|
+
|
21
|
+
xml do
|
22
|
+
root "compressed"
|
23
|
+
|
24
|
+
map_element "compressedfilename", to: :filename
|
25
|
+
map_element "compressedfilesize", to: :filesize
|
26
|
+
map_element "compressiontype", to: :compression_type
|
27
|
+
map_element "environmenttype", to: :environment_type
|
28
|
+
map_element "readmefile", to: :readme_file
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Ieee
|
4
|
+
module Idams
|
5
|
+
# Represents a set of package members
|
6
|
+
class PackageMemberSet < Lutaml::Model::Serializable
|
7
|
+
attribute :package_member, :string, collection: true
|
8
|
+
|
9
|
+
xml do
|
10
|
+
root "packagememberset"
|
11
|
+
map_element "packagemember", to: :package_member
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Ieee
|
4
|
+
module Idams
|
5
|
+
# Product number
|
6
|
+
class ProductNumber < Lutaml::Model::Serializable
|
7
|
+
# <productnumber pubtype="Online">STDWD94477</productnumber>
|
8
|
+
|
9
|
+
attribute :pubtype, :string
|
10
|
+
attribute :value, :string
|
11
|
+
|
12
|
+
xml do
|
13
|
+
root "productnumber"
|
14
|
+
map_attribute "pubtype", to: :pubtype
|
15
|
+
map_content to: :value
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Ieee
|
4
|
+
module Idams
|
5
|
+
# Contains volume metadata
|
6
|
+
class PubSponsor < Lutaml::Model::Serializable
|
7
|
+
# IEEE Society that sponsors the publication
|
8
|
+
# @return [String] Society name that sponsors the publication
|
9
|
+
attribute :society, :string, collection: true
|
10
|
+
|
11
|
+
xml do
|
12
|
+
root "pubsponsor"
|
13
|
+
map_element "society", to: :society
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Ieee
|
4
|
+
module Idams
|
5
|
+
# Represents a set of sponsoring committees
|
6
|
+
class PubSponsoringCommitteeSet < Lutaml::Model::Serializable
|
7
|
+
# List of committees
|
8
|
+
# @return [Array<String>] sponsoring committees
|
9
|
+
attribute :pubsponsoringcommittee, :string, collection: true
|
10
|
+
|
11
|
+
xml do
|
12
|
+
root "pubsponsoringcommitteeset"
|
13
|
+
map_element "pubsponsoringcommittee", to: :pubsponsoringcommittee, cdata: true
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Ieee
|
4
|
+
module Idams
|
5
|
+
# Represents a set of topical browse categories
|
6
|
+
class PubTopicalBrowseSet < Lutaml::Model::Serializable
|
7
|
+
# List of topical browse categories
|
8
|
+
VALID_CATEGORIES = [
|
9
|
+
"Aerospace",
|
10
|
+
"Bioengineering",
|
11
|
+
"Communication, Networking, and Broadcast Technologies",
|
12
|
+
"Components, Circuits, Devices and Systems",
|
13
|
+
"Computing and Processing",
|
14
|
+
"Engineered Materials, Dielectrics and Plasmas",
|
15
|
+
"Engineering Profession",
|
16
|
+
"Fields, Waves and Electromagnetics",
|
17
|
+
"General Topics for Engineers",
|
18
|
+
"Geoscience",
|
19
|
+
"Nuclear Engineering",
|
20
|
+
"Photonics and Electrooptics",
|
21
|
+
"Power, Industry and Industry Applications",
|
22
|
+
"Robotics and Control Systems",
|
23
|
+
"Signal Processing and Analysis",
|
24
|
+
"Transportation"
|
25
|
+
].freeze
|
26
|
+
|
27
|
+
# List of topical categories
|
28
|
+
# @return [Array<String>] subject classifications
|
29
|
+
attribute :pubtopicalbrowse, :string, collection: true,
|
30
|
+
values: VALID_CATEGORIES
|
31
|
+
|
32
|
+
xml do
|
33
|
+
root "pubtopicalbrowseset"
|
34
|
+
map_element "pubtopicalbrowse", to: :pubtopicalbrowse
|
35
|
+
end
|
36
|
+
|
37
|
+
# def validate
|
38
|
+
# errors = super
|
39
|
+
# pubtopicalbrowse.each do |category|
|
40
|
+
# unless VALID_CATEGORIES.include?(category)
|
41
|
+
# errors << "Invalid topical browse category: #{category}"
|
42
|
+
# end
|
43
|
+
# end
|
44
|
+
# errors
|
45
|
+
# end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "publication_info"
|
4
|
+
require_relative "volume"
|
5
|
+
|
6
|
+
module Ieee
|
7
|
+
module Idams
|
8
|
+
# Represents an IEEE IDAMS publication record
|
9
|
+
class Publication < Lutaml::Model::Serializable
|
10
|
+
# Publication title
|
11
|
+
# @return [String] normalized title
|
12
|
+
attribute :title, :string
|
13
|
+
|
14
|
+
# Publication normalized title
|
15
|
+
# @return [String] normalized title
|
16
|
+
attribute :normtitle, :string
|
17
|
+
|
18
|
+
# Standards family title
|
19
|
+
# @return [String] family title for standards
|
20
|
+
attribute :standardsfamilytitle, :string
|
21
|
+
|
22
|
+
# Publication information
|
23
|
+
# @return [PublicationInfo] detailed publication metadata
|
24
|
+
attribute :publicationinfo, PublicationInfo
|
25
|
+
|
26
|
+
# Volume information
|
27
|
+
# @return [Volume] volume details
|
28
|
+
attribute :volume, Volume
|
29
|
+
|
30
|
+
xml do
|
31
|
+
root "publication"
|
32
|
+
map_element "title", to: :title, cdata: true
|
33
|
+
map_element "normtitle", to: :normtitle, cdata: true
|
34
|
+
map_element "standardsfamilytitle", to: :standardsfamilytitle
|
35
|
+
map_element "publicationinfo", to: :publicationinfo
|
36
|
+
map_element "volume", to: :volume
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Ieee
|
4
|
+
module Idams
|
5
|
+
# Publication ID acronym
|
6
|
+
class PublicationAcronym < Lutaml::Model::Serializable
|
7
|
+
# Type of acronym
|
8
|
+
# @return [String]
|
9
|
+
attribute :type, :string
|
10
|
+
|
11
|
+
# Acronym value
|
12
|
+
# @return [String]
|
13
|
+
attribute :value, :string
|
14
|
+
|
15
|
+
xml do
|
16
|
+
root "acronym"
|
17
|
+
map_attribute "acronymtype", to: :type
|
18
|
+
map_content to: :value
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|