# frozen_string_literal: true module Niso module Jats class Code < Lutaml::Model::Serializable attribute :content, :string attribute :code_type, :string attribute :code_version, :string attribute :executable, :string attribute :id, :string attribute :language, :string attribute :language_version, :string attribute :orientation, :string, default: -> { "portrait" } attribute :platforms, :string attribute :position, :string, default: -> { "float" } attribute :specific_use, :string attribute :lang, :string attribute :email, Email, collection: true attribute :ext_link, ExtLink, collection: true attribute :uri, Uri, collection: true attribute :bold, Bold, collection: true attribute :fixed_case, FixedCase, collection: true attribute :italic, Italic, collection: true attribute :monospace, Monospace, collection: true attribute :overline, Overline, collection: true attribute :roman, Roman, collection: true attribute :sans_serif, SansSerif, collection: true attribute :sc, Sc, collection: true attribute :strike, Strike, collection: true attribute :underline, Underline, collection: true attribute :ruby, Ruby, collection: true attribute :inline_graphic, InlineGraphic, collection: true attribute :inline_media, InlineMedia, collection: true attribute :private_char, PrivateChar, collection: true attribute :abbrev, Abbrev, collection: true attribute :index_term, IndexTerm, collection: true attribute :index_term_range_end, IndexTermRangeEnd, collection: true attribute :milestone_end, MilestoneEnd, collection: true attribute :milestone_start, MilestoneStart, collection: true attribute :named_content, NamedContent, collection: true attribute :styled_content, StyledContent, collection: true attribute :fn, Fn, collection: true attribute :target, Target, collection: true attribute :xref, Xref, collection: true attribute :sub, Sub, collection: true attribute :sup, Sup, collection: true xml do root "code" map_content to: :content map_attribute "code-type", to: :code_type map_attribute "code-version", to: :code_version map_attribute "executable", to: :executable map_attribute "id", to: :id map_attribute "language", to: :language map_attribute "language-version", to: :language_version map_attribute "orientation", to: :orientation map_attribute "platforms", to: :platforms map_attribute "position", to: :position map_attribute "specific-use", to: :specific_use map_attribute "lang", to: :lang, namespace: "http://www.w3.org/XML/1998/namespace", prefix: "xml" map_element "email", to: :email map_element "ext-link", to: :ext_link map_element "uri", to: :uri map_element "bold", to: :bold map_element "fixed-case", to: :fixed_case map_element "italic", to: :italic map_element "monospace", to: :monospace map_element "overline", to: :overline map_element "roman", to: :roman map_element "sans-serif", to: :sans_serif map_element "sc", to: :sc map_element "strike", to: :strike map_element "underline", to: :underline map_element "ruby", to: :ruby map_element "inline-graphic", to: :inline_graphic map_element "inline-media", to: :inline_media map_element "private-char", to: :private_char map_element "abbrev", to: :abbrev map_element "index-term", to: :index_term map_element "index-term-range-end", to: :index_term_range_end map_element "milestone-end", to: :milestone_end map_element "milestone-start", to: :milestone_start map_element "named-content", to: :named_content map_element "styled-content", to: :styled_content map_element "fn", to: :fn map_element "target", to: :target map_element "xref", to: :xref map_element "sub", to: :sub map_element "sup", to: :sup end end end end