# frozen_string_literal: true module Niso module Jats class Source < Lutaml::Model::Serializable attribute :content, :string attribute :content_type, :string attribute :id, :string attribute :specific_use, :string attribute :lang, :string attribute :abbrev, Abbrev, collection: true 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 :alternatives, Alternatives, collection: true attribute :inline_graphic, InlineGraphic, collection: true attribute :inline_media, InlineMedia, collection: true attribute :private_char, PrivateChar, collection: true attribute :chem_struct, ChemStruct, collection: true attribute :inline_formula, InlineFormula, collection: true attribute :tex_math, TexMath, collection: true attribute :mml_math, :string, 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 "source" map_content to: :content map_attribute "content-type", to: :content_type map_attribute "id", to: :id map_attribute "specific-use", to: :specific_use map_attribute "lang", to: :lang, namespace: "http://www.w3.org/XML/1998/namespace", prefix: "xml" map_element "abbrev", to: :abbrev 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 "alternatives", to: :alternatives map_element "inline-graphic", to: :inline_graphic map_element "inline-media", to: :inline_media map_element "private-char", to: :private_char map_element "chem-struct", to: :chem_struct map_element "inline-formula", to: :inline_formula map_element "tex-math", to: :tex_math map_element "mml-math", to: :mml_math 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