sts 0.5.3 → 0.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/GAPS.guidelines.iso-sts-ed2.1/01-maintenance.md +19 -0
- data/GAPS.guidelines.iso-sts-ed2.1/03-general.md +75 -0
- data/GAPS.guidelines.iso-sts-ed2.1/04-structure.md +75 -0
- data/GAPS.guidelines.iso-sts-ed2.1/05-content.md +63 -0
- data/GAPS.guidelines.iso-sts-ed2.1/06-tables.md +53 -0
- data/GAPS.guidelines.iso-sts-ed2.1/07-formulae.md +41 -0
- data/GAPS.guidelines.iso-sts-ed2.1/08-figures.md +45 -0
- data/GAPS.guidelines.iso-sts-ed2.1/09-terms.md +56 -0
- data/GAPS.guidelines.iso-sts-ed2.1/10-references.md +56 -0
- data/GAPS.guidelines.iso-sts-ed2.1/annex-a-multilingual.md +79 -0
- data/GAPS.guidelines.niso-sts-v1.0/01-introduction-scope.md +27 -0
- data/GAPS.guidelines.niso-sts-v1.0/02-document-structure.md +100 -0
- data/GAPS.guidelines.niso-sts-v1.0/03-front-matter.md +149 -0
- data/GAPS.guidelines.niso-sts-v1.0/04-body-content.md +209 -0
- data/GAPS.guidelines.niso-sts-v1.0/05-tables-figures.md +152 -0
- data/GAPS.guidelines.niso-sts-v1.0/06-math-formulae.md +128 -0
- data/GAPS.guidelines.niso-sts-v1.0/07-references.md +113 -0
- data/GAPS.guidelines.niso-sts-v1.0/08-terminology.md +127 -0
- data/GAPS.guidelines.niso-sts-v1.0/09-metadata.md +113 -0
- data/GAPS.guidelines.niso-sts-v1.0/10-iso-iec-variant.md +141 -0
- data/GAPS.guidelines.niso-sts-v1.0/SUMMARY.md +96 -0
- data/GAPS.guidelines.schema-xref.md +101 -0
- data/Gemfile +1 -0
- data/TODO.sts-refactor/00-overview.md +172 -0
- data/TODO.sts-refactor/01-mathml-delegation.md +153 -0
- data/TODO.sts-refactor/02-type-resolution.md +122 -0
- data/TODO.sts-refactor/03-namespace-coupling.md +158 -0
- data/TODO.sts-refactor/04-register-versioning.md +180 -0
- data/TODO.sts-refactor/05-missing-elements.md +195 -0
- data/TODO.sts-refactor/06-missing-attributes.md +152 -0
- data/TODO.sts-refactor/07-incomplete-models.md +180 -0
- data/TODO.sts-refactor/08-isoiec-profile.md +169 -0
- data/TODO.sts-refactor/09-autoload-cleanup.md +88 -0
- data/TODO.sts-refactor/10-test-coverage.md +164 -0
- data/TODO.sts-refactor/11-duplicate-models.md +168 -0
- data/lib/sts/iso_sts/annex_type.rb +2 -0
- data/lib/sts/iso_sts/bold.rb +9 -9
- data/lib/sts/iso_sts/break.rb +3 -0
- data/lib/sts/iso_sts/comm_ref.rb +2 -0
- data/lib/sts/iso_sts/content_language.rb +22 -0
- data/lib/sts/iso_sts/copyright_holder.rb +4 -2
- data/lib/sts/iso_sts/copyright_statement.rb +4 -2
- data/lib/sts/iso_sts/copyright_year.rb +3 -0
- data/lib/sts/iso_sts/doc_ref.rb +2 -0
- data/lib/sts/iso_sts/document_identification.rb +2 -0
- data/lib/sts/iso_sts/edition.rb +2 -0
- data/lib/sts/iso_sts/ext_link.rb +1 -1
- data/lib/sts/iso_sts/front.rb +2 -0
- data/lib/sts/iso_sts/iso_meta.rb +2 -2
- data/lib/sts/iso_sts/italic.rb +9 -9
- data/lib/sts/iso_sts/label.rb +7 -5
- data/lib/sts/iso_sts/language.rb +2 -0
- data/lib/sts/iso_sts/meta_date.rb +20 -0
- data/lib/sts/iso_sts/mixed_citation.rb +5 -5
- data/lib/sts/iso_sts/monospace.rb +26 -0
- data/lib/sts/iso_sts/named_content.rb +44 -0
- data/lib/sts/iso_sts/nat_meta.rb +4 -4
- data/lib/sts/iso_sts/page_count.rb +2 -0
- data/lib/sts/iso_sts/paragraph.rb +8 -8
- data/lib/sts/iso_sts/permissions.rb +2 -0
- data/lib/sts/iso_sts/preformat.rb +3 -3
- data/lib/sts/iso_sts/reg_meta.rb +4 -4
- data/lib/sts/iso_sts/release_date.rb +2 -0
- data/lib/sts/iso_sts/sc.rb +26 -0
- data/lib/sts/iso_sts/sec.rb +2 -2
- data/lib/sts/iso_sts/secretariat.rb +2 -0
- data/lib/sts/iso_sts/standard_cross_reference.rb +4 -2
- data/lib/sts/iso_sts/standard_identification.rb +2 -0
- data/lib/sts/iso_sts/standard_ref.rb +16 -0
- data/lib/sts/iso_sts/std.rb +3 -1
- data/lib/sts/iso_sts/std_ref.rb +2 -0
- data/lib/sts/iso_sts/strike.rb +26 -0
- data/lib/sts/iso_sts/styled_content.rb +11 -9
- data/lib/sts/iso_sts/sub.rb +2 -0
- data/lib/sts/iso_sts/sup.rb +2 -0
- data/lib/sts/iso_sts/table_wrap_foot.rb +2 -0
- data/lib/sts/iso_sts/td.rb +7 -7
- data/lib/sts/iso_sts/term.rb +5 -5
- data/lib/sts/iso_sts/th.rb +7 -7
- data/lib/sts/iso_sts/title.rb +6 -4
- data/lib/sts/iso_sts/title_compl.rb +2 -0
- data/lib/sts/iso_sts/title_full.rb +2 -0
- data/lib/sts/iso_sts/title_intro.rb +2 -0
- data/lib/sts/iso_sts/title_main.rb +2 -0
- data/lib/sts/iso_sts/underline.rb +26 -0
- data/lib/sts/iso_sts/uri.rb +32 -0
- data/lib/sts/iso_sts/xref.rb +3 -3
- data/lib/sts/iso_sts.rb +9 -0
- data/lib/sts/mathml.rb +12 -58
- data/lib/sts/namespaces.rb +2 -0
- data/lib/sts/niso_sts/abstract.rb +2 -0
- data/lib/sts/niso_sts/access_date.rb +2 -0
- data/lib/sts/niso_sts/accrediting_organization.rb +2 -0
- data/lib/sts/niso_sts/addr_line.rb +2 -0
- data/lib/sts/niso_sts/address.rb +2 -0
- data/lib/sts/niso_sts/aff_alternatives.rb +3 -0
- data/lib/sts/niso_sts/alt_text.rb +2 -0
- data/lib/sts/niso_sts/alt_title.rb +2 -0
- data/lib/sts/niso_sts/alternatives.rb +2 -0
- data/lib/sts/niso_sts/anonymous.rb +3 -0
- data/lib/sts/niso_sts/app.rb +2 -0
- data/lib/sts/niso_sts/article_title.rb +2 -0
- data/lib/sts/niso_sts/attrib.rb +2 -0
- data/lib/sts/niso_sts/authorization.rb +2 -0
- data/lib/sts/niso_sts/award_group.rb +22 -4
- data/lib/sts/niso_sts/award_id.rb +6 -0
- data/lib/sts/niso_sts/back.rb +22 -4
- data/lib/sts/niso_sts/body.rb +2 -0
- data/lib/sts/niso_sts/boxed_text.rb +38 -4
- data/lib/sts/niso_sts/break.rb +3 -0
- data/lib/sts/niso_sts/caption.rb +8 -0
- data/lib/sts/niso_sts/chapter_title.rb +2 -0
- data/lib/sts/niso_sts/chem_struct.rb +2 -0
- data/lib/sts/niso_sts/citation_alternatives.rb +2 -0
- data/lib/sts/niso_sts/city.rb +2 -0
- data/lib/sts/niso_sts/code.rb +111 -0
- data/lib/sts/niso_sts/collab_alternatives.rb +3 -0
- data/lib/sts/niso_sts/comm_ref_group.rb +3 -0
- data/lib/sts/niso_sts/comment.rb +2 -0
- data/lib/sts/niso_sts/compound_subject.rb +29 -0
- data/lib/sts/niso_sts/compound_subject_part.rb +39 -0
- data/lib/sts/niso_sts/conf_acronym.rb +2 -0
- data/lib/sts/niso_sts/conf_date.rb +2 -0
- data/lib/sts/niso_sts/conf_loc.rb +2 -0
- data/lib/sts/niso_sts/conf_name.rb +2 -0
- data/lib/sts/niso_sts/conf_num.rb +2 -0
- data/lib/sts/niso_sts/conf_sponsor.rb +2 -0
- data/lib/sts/niso_sts/conf_theme.rb +2 -0
- data/lib/sts/niso_sts/conference.rb +2 -0
- data/lib/sts/niso_sts/content_language.rb +2 -0
- data/lib/sts/niso_sts/contrib_id.rb +2 -0
- data/lib/sts/niso_sts/copyright_holder.rb +2 -0
- data/lib/sts/niso_sts/copyright_statement.rb +2 -0
- data/lib/sts/niso_sts/copyright_year.rb +2 -0
- data/lib/sts/niso_sts/country.rb +2 -0
- data/lib/sts/niso_sts/counts.rb +2 -0
- data/lib/sts/niso_sts/custom_meta.rb +2 -0
- data/lib/sts/niso_sts/custom_meta_group.rb +3 -0
- data/lib/sts/niso_sts/data_title.rb +29 -0
- data/lib/sts/niso_sts/date.rb +2 -0
- data/lib/sts/niso_sts/date_in_citation.rb +2 -0
- data/lib/sts/niso_sts/day.rb +2 -0
- data/lib/sts/niso_sts/def.rb +3 -0
- data/lib/sts/niso_sts/def_head.rb +18 -0
- data/lib/sts/niso_sts/def_item.rb +4 -0
- data/lib/sts/niso_sts/def_list.rb +21 -4
- data/lib/sts/niso_sts/degrees.rb +2 -0
- data/lib/sts/niso_sts/disp_formula_group.rb +0 -2
- data/lib/sts/niso_sts/disp_quote.rb +2 -0
- data/lib/sts/niso_sts/display_formula.rb +37 -4
- data/lib/sts/niso_sts/doc_number.rb +2 -0
- data/lib/sts/niso_sts/doc_type.rb +2 -0
- data/lib/sts/niso_sts/editing_instruction.rb +8 -2
- data/lib/sts/niso_sts/edition.rb +2 -0
- data/lib/sts/niso_sts/elocation_id.rb +2 -0
- data/lib/sts/niso_sts/email.rb +2 -0
- data/lib/sts/niso_sts/equation_count.rb +2 -0
- data/lib/sts/niso_sts/era.rb +2 -0
- data/lib/sts/niso_sts/ext_link.rb +16 -0
- data/lib/sts/niso_sts/fax.rb +2 -0
- data/lib/sts/niso_sts/fig_count.rb +2 -0
- data/lib/sts/niso_sts/floats_group.rb +2 -0
- data/lib/sts/niso_sts/fn_group.rb +3 -0
- data/lib/sts/niso_sts/fpage.rb +2 -0
- data/lib/sts/niso_sts/front.rb +15 -0
- data/lib/sts/niso_sts/funding_source.rb +2 -0
- data/lib/sts/niso_sts/given_names.rb +2 -0
- data/lib/sts/niso_sts/gov.rb +2 -0
- data/lib/sts/niso_sts/graphic.rb +4 -0
- data/lib/sts/niso_sts/hr.rb +3 -0
- data/lib/sts/niso_sts/ics.rb +3 -0
- data/lib/sts/niso_sts/ics_desc.rb +2 -0
- data/lib/sts/niso_sts/ics_wrap.rb +9 -0
- data/lib/sts/niso_sts/index.rb +32 -0
- data/lib/sts/niso_sts/index_div.rb +30 -0
- data/lib/sts/niso_sts/index_entry.rb +32 -0
- data/lib/sts/niso_sts/index_title_group.rb +22 -0
- data/lib/sts/niso_sts/inline_formula.rb +29 -4
- data/lib/sts/niso_sts/inline_media.rb +50 -0
- data/lib/sts/niso_sts/institution.rb +2 -0
- data/lib/sts/niso_sts/institution_id.rb +2 -0
- data/lib/sts/niso_sts/institution_wrap.rb +2 -0
- data/lib/sts/niso_sts/intro.rb +2 -0
- data/lib/sts/niso_sts/is_proof.rb +2 -0
- data/lib/sts/niso_sts/isbn.rb +2 -0
- data/lib/sts/niso_sts/issn.rb +2 -0
- data/lib/sts/niso_sts/issn_l.rb +2 -0
- data/lib/sts/niso_sts/issue.rb +2 -0
- data/lib/sts/niso_sts/kwd_group.rb +8 -0
- data/lib/sts/niso_sts/label.rb +4 -0
- data/lib/sts/niso_sts/legend.rb +39 -0
- data/lib/sts/niso_sts/license.rb +2 -0
- data/lib/sts/niso_sts/license_p.rb +2 -0
- data/lib/sts/niso_sts/list.rb +2 -0
- data/lib/sts/niso_sts/list_item.rb +2 -2
- data/lib/sts/niso_sts/long_desc.rb +2 -0
- data/lib/sts/niso_sts/lpage.rb +2 -0
- data/lib/sts/niso_sts/main.rb +2 -0
- data/lib/sts/niso_sts/meta_date.rb +2 -0
- data/lib/sts/niso_sts/metadata_std.rb +0 -2
- data/lib/sts/niso_sts/mml_content.rb +0 -2
- data/lib/sts/niso_sts/month.rb +2 -0
- data/lib/sts/niso_sts/name.rb +2 -0
- data/lib/sts/niso_sts/name_alternatives.rb +5 -0
- data/lib/sts/niso_sts/named_content.rb +51 -1
- data/lib/sts/niso_sts/nat_meta.rb +2 -0
- data/lib/sts/niso_sts/nested_kwd.rb +2 -0
- data/lib/sts/niso_sts/non_normative_note.rb +2 -0
- data/lib/sts/niso_sts/normative_note.rb +2 -0
- data/lib/sts/niso_sts/object_id.rb +4 -0
- data/lib/sts/niso_sts/on_behalf_of.rb +2 -0
- data/lib/sts/niso_sts/open_access.rb +2 -0
- data/lib/sts/niso_sts/originator.rb +2 -0
- data/lib/sts/niso_sts/page_count.rb +2 -0
- data/lib/sts/niso_sts/page_range.rb +2 -0
- data/lib/sts/niso_sts/paragraph.rb +2 -0
- data/lib/sts/niso_sts/part_number.rb +2 -0
- data/lib/sts/niso_sts/part_of_speech.rb +2 -0
- data/lib/sts/niso_sts/patent.rb +2 -0
- data/lib/sts/niso_sts/permissions.rb +6 -1
- data/lib/sts/niso_sts/phone.rb +2 -0
- data/lib/sts/niso_sts/postal_code.rb +2 -0
- data/lib/sts/niso_sts/prefix.rb +2 -0
- data/lib/sts/niso_sts/price.rb +2 -0
- data/lib/sts/niso_sts/principal_award_recipient.rb +2 -0
- data/lib/sts/niso_sts/principal_investigator.rb +2 -0
- data/lib/sts/niso_sts/private_char.rb +2 -0
- data/lib/sts/niso_sts/processing_meta.rb +54 -0
- data/lib/sts/niso_sts/product.rb +2 -0
- data/lib/sts/niso_sts/proj_id.rb +2 -0
- data/lib/sts/niso_sts/pub_date.rb +2 -0
- data/lib/sts/niso_sts/pub_id.rb +2 -0
- data/lib/sts/niso_sts/publisher.rb +2 -0
- data/lib/sts/niso_sts/publisher_loc.rb +2 -0
- data/lib/sts/niso_sts/publisher_name.rb +2 -0
- data/lib/sts/niso_sts/ref_count.rb +2 -0
- data/lib/sts/niso_sts/reference_standard.rb +2 -2
- data/lib/sts/niso_sts/reg_meta.rb +2 -0
- data/lib/sts/niso_sts/related_term.rb +2 -0
- data/lib/sts/niso_sts/release_date.rb +2 -0
- data/lib/sts/niso_sts/release_version.rb +2 -0
- data/lib/sts/niso_sts/release_version_id.rb +2 -0
- data/lib/sts/niso_sts/role.rb +35 -0
- data/lib/sts/niso_sts/sdo.rb +2 -0
- data/lib/sts/niso_sts/season.rb +2 -0
- data/lib/sts/niso_sts/sec_meta.rb +26 -0
- data/lib/sts/niso_sts/secretariat.rb +2 -0
- data/lib/sts/niso_sts/section.rb +8 -0
- data/lib/sts/niso_sts/see_also_entry.rb +26 -0
- data/lib/sts/niso_sts/see_entry.rb +26 -0
- data/lib/sts/niso_sts/self_uri.rb +2 -0
- data/lib/sts/niso_sts/series.rb +2 -0
- data/lib/sts/niso_sts/series_text.rb +2 -0
- data/lib/sts/niso_sts/series_title.rb +2 -0
- data/lib/sts/niso_sts/sig.rb +2 -0
- data/lib/sts/niso_sts/size.rb +2 -0
- data/lib/sts/niso_sts/source.rb +29 -0
- data/lib/sts/niso_sts/speaker.rb +2 -0
- data/lib/sts/niso_sts/standard_identification.rb +2 -0
- data/lib/sts/niso_sts/state.rb +2 -0
- data/lib/sts/niso_sts/std_doc_meta.rb +49 -11
- data/lib/sts/niso_sts/std_id.rb +2 -0
- data/lib/sts/niso_sts/std_id_group.rb +3 -0
- data/lib/sts/niso_sts/std_org_abbrev.rb +2 -0
- data/lib/sts/niso_sts/std_org_group.rb +3 -0
- data/lib/sts/niso_sts/std_org_name.rb +2 -0
- data/lib/sts/niso_sts/std_organization.rb +2 -0
- data/lib/sts/niso_sts/string_conf.rb +2 -0
- data/lib/sts/niso_sts/string_date.rb +2 -0
- data/lib/sts/niso_sts/string_name.rb +2 -0
- data/lib/sts/niso_sts/styled_content.rb +2 -0
- data/lib/sts/niso_sts/subj_group.rb +11 -1
- data/lib/sts/niso_sts/subtitle.rb +2 -0
- data/lib/sts/niso_sts/suffix.rb +2 -0
- data/lib/sts/niso_sts/suppl_number.rb +2 -0
- data/lib/sts/niso_sts/suppl_type.rb +2 -0
- data/lib/sts/niso_sts/suppl_version.rb +2 -0
- data/lib/sts/niso_sts/surname.rb +2 -0
- data/lib/sts/niso_sts/table_count.rb +2 -0
- data/lib/sts/niso_sts/table_wrap_group.rb +32 -0
- data/lib/sts/niso_sts/term_display.rb +22 -1
- data/lib/sts/niso_sts/term_display_string.rb +22 -0
- data/lib/sts/niso_sts/term_head.rb +2 -0
- data/lib/sts/niso_sts/term_source.rb +2 -0
- data/lib/sts/niso_sts/tex_math.rb +2 -0
- data/lib/sts/niso_sts/textual_form.rb +2 -0
- data/lib/sts/niso_sts/time_stamp.rb +2 -0
- data/lib/sts/niso_sts/title.rb +6 -0
- data/lib/sts/niso_sts/title_wrap.rb +2 -0
- data/lib/sts/niso_sts/toc.rb +32 -0
- data/lib/sts/niso_sts/toc_div.rb +30 -0
- data/lib/sts/niso_sts/toc_entry.rb +30 -0
- data/lib/sts/niso_sts/toc_title_group.rb +22 -0
- data/lib/sts/niso_sts/trans_source.rb +2 -0
- data/lib/sts/niso_sts/trans_title.rb +2 -0
- data/lib/sts/niso_sts/trans_title_group.rb +3 -0
- data/lib/sts/niso_sts/uri.rb +2 -0
- data/lib/sts/niso_sts/urn.rb +2 -0
- data/lib/sts/niso_sts/verse_line.rb +2 -0
- data/lib/sts/niso_sts/version.rb +2 -0
- data/lib/sts/niso_sts/volume.rb +2 -0
- data/lib/sts/niso_sts/volume_id.rb +2 -0
- data/lib/sts/niso_sts/volume_issue_group.rb +2 -0
- data/lib/sts/niso_sts/volume_series.rb +2 -0
- data/lib/sts/niso_sts/word_count.rb +2 -0
- data/lib/sts/niso_sts/year.rb +2 -0
- data/lib/sts/niso_sts.rb +35 -10
- data/lib/sts/profiles/iso_iec/constraints.rb +43 -0
- data/lib/sts/profiles/iso_iec/validator.rb +73 -0
- data/lib/sts/profiles/iso_iec.rb +10 -0
- data/lib/sts/profiles.rb +7 -0
- data/lib/sts/tbx_iso_tml/bold.rb +2 -0
- data/lib/sts/tbx_iso_tml/caption.rb +3 -0
- data/lib/sts/tbx_iso_tml/cross_reference.rb +2 -0
- data/lib/sts/tbx_iso_tml/definition.rb +2 -0
- data/lib/sts/tbx_iso_tml/entailed_term.rb +2 -0
- data/lib/sts/tbx_iso_tml/example.rb +0 -2
- data/lib/sts/tbx_iso_tml/external_graphic.rb +2 -0
- data/lib/sts/tbx_iso_tml/external_source.rb +2 -0
- data/lib/sts/tbx_iso_tml/fn_group.rb +3 -0
- data/lib/sts/tbx_iso_tml/geographical_usage.rb +3 -0
- data/lib/sts/tbx_iso_tml/grammatical_gender.rb +2 -0
- data/lib/sts/tbx_iso_tml/grammatical_number.rb +2 -0
- data/lib/sts/tbx_iso_tml/italic.rb +2 -0
- data/lib/sts/tbx_iso_tml/lang_set.rb +2 -0
- data/lib/sts/tbx_iso_tml/mfenced.rb +2 -0
- data/lib/sts/tbx_iso_tml/mfrac.rb +2 -2
- data/lib/sts/tbx_iso_tml/mi.rb +3 -2
- data/lib/sts/tbx_iso_tml/mrow.rb +2 -2
- data/lib/sts/tbx_iso_tml/mspace.rb +2 -0
- data/lib/sts/tbx_iso_tml/mstyle.rb +2 -2
- data/lib/sts/tbx_iso_tml/msub.rb +2 -0
- data/lib/sts/tbx_iso_tml/msup.rb +2 -0
- data/lib/sts/tbx_iso_tml/munder.rb +3 -0
- data/lib/sts/tbx_iso_tml/munderover.rb +2 -0
- data/lib/sts/tbx_iso_tml/normative_authorization.rb +2 -0
- data/lib/sts/tbx_iso_tml/part_of_speech.rb +2 -0
- data/lib/sts/tbx_iso_tml/pronunciation.rb +3 -0
- data/lib/sts/tbx_iso_tml/see.rb +2 -0
- data/lib/sts/tbx_iso_tml/semantics.rb +2 -0
- data/lib/sts/tbx_iso_tml/source.rb +2 -0
- data/lib/sts/tbx_iso_tml/subject_field.rb +2 -0
- data/lib/sts/tbx_iso_tml/sup.rb +3 -2
- data/lib/sts/tbx_iso_tml/table_wrap.rb +0 -1
- data/lib/sts/tbx_iso_tml/table_wrap_foot.rb +2 -0
- data/lib/sts/tbx_iso_tml/td.rb +115 -24
- data/lib/sts/tbx_iso_tml/term_type.rb +2 -0
- data/lib/sts/tbx_iso_tml/th.rb +124 -30
- data/lib/sts/tbx_iso_tml/xref.rb +2 -2
- data/lib/sts/version.rb +1 -1
- data/lib/sts.rb +1 -12
- data/reference-docs/Guidelines for coding ed.2.1.pdf +0 -0
- data/reference-docs/NISO-STS-1-2-compare-1-0.pdf +0 -0
- data/reference-docs/NISOSTS-guidelines-v1.0.pdf +0 -0
- metadata +71 -14
- data/lib/sts/content_groups/helpers.rb +0 -27
- data/lib/sts/enum_values.rb +0 -17
- data/lib/sts/iso_sts/content_groups/highlight_elements.rb +0 -285
- data/lib/sts/niso_sts/content_groups/body_elements.rb +0 -50
- data/lib/sts/niso_sts/content_groups/citation_elements.rb +0 -74
- data/lib/sts/niso_sts/content_groups/emphasized_text.rb +0 -67
- data/lib/sts/niso_sts/content_groups/highlight_elements.rb +0 -51
- data/lib/sts/niso_sts/content_groups/inside_cell.rb +0 -116
- data/lib/sts/niso_sts/content_groups/p_elements.rb +0 -41
- data/lib/sts/niso_sts/content_groups/para_level.rb +0 -67
- data/lib/sts/niso_sts/content_groups/styled_content_elements.rb +0 -93
- data/lib/sts/niso_sts/content_groups/table_group_attributes.rb +0 -62
- data/lib/sts/niso_sts/content_groups.rb +0 -8
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
# 11: Duplicate Model Resolution
|
|
2
|
+
|
|
3
|
+
**Priority**: MEDIUM
|
|
4
|
+
**Category**: Architecture
|
|
5
|
+
**Estimated Effort**: High
|
|
6
|
+
**Files Affected**: `lib/sts/iso_sts/`, `lib/sts/niso_sts/`
|
|
7
|
+
|
|
8
|
+
## Problem
|
|
9
|
+
|
|
10
|
+
Many model classes exist in both `Sts::IsoSts` and `Sts::NisoSts` with the same XML element name but potentially different attributes. This creates:
|
|
11
|
+
|
|
12
|
+
1. **Maintenance burden**: Changes must be duplicated
|
|
13
|
+
2. **Divergence risk**: Models drift apart over time
|
|
14
|
+
3. **Ambiguity**: Which class should be used?
|
|
15
|
+
|
|
16
|
+
## Identified Duplicates
|
|
17
|
+
|
|
18
|
+
### Confirmed Different (Must Stay Separate)
|
|
19
|
+
|
|
20
|
+
These elements have genuinely different attribute sets between ISOSTS and NISO STS:
|
|
21
|
+
|
|
22
|
+
| Element | IsoSts Version | NisoSts Version | Difference |
|
|
23
|
+
|---------|---------------|----------------|------------|
|
|
24
|
+
| `<p>` | Paragraph | Paragraph | ISOSTS: 4 attrs; NISO STS: 7 attrs (adds `@originator`, `@style-type`, `@xml:base`) |
|
|
25
|
+
| `<standard>` | Standard | Standard | ISOSTS: DTD-based; NISO STS: XSD-based |
|
|
26
|
+
|
|
27
|
+
### Potentially Identical (Audit Needed)
|
|
28
|
+
|
|
29
|
+
These elements likely have the same model but are duplicated:
|
|
30
|
+
|
|
31
|
+
| Element | IsoSts File | NisoSts File |
|
|
32
|
+
|---------|-------------|--------------|
|
|
33
|
+
| `<bold>` | Bold | Bold |
|
|
34
|
+
| `<italic>` | Italic | Italic |
|
|
35
|
+
| `<sub>` | Sub | Sub |
|
|
36
|
+
| `<sup>` | Sup | Sup |
|
|
37
|
+
| `<underline>` | Underline | Underline |
|
|
38
|
+
| `<monospace>` | Monospace | Monospace |
|
|
39
|
+
| `<styled-content>` | StyledContent | StyledContent |
|
|
40
|
+
| `<named-content>` | NamedContent | NamedContent |
|
|
41
|
+
| `<xref>` | Xref | Xref |
|
|
42
|
+
| `<ext-link>` | ExtLink | ExtLink |
|
|
43
|
+
| `<break>` | Break | Break |
|
|
44
|
+
| `<list>` | List | List |
|
|
45
|
+
| `<list-item>` | ListItem | ListItem |
|
|
46
|
+
| `<def-list>` | DefList | DefList |
|
|
47
|
+
| `<def-item>` | DefItem | DefItem |
|
|
48
|
+
| `<table>` | Table | Table |
|
|
49
|
+
| `<tr>` | Tr | Tr |
|
|
50
|
+
| `<td>` | Td | Td |
|
|
51
|
+
| `<th>` | Th | Th |
|
|
52
|
+
| `<fig>` | Fig | Fig |
|
|
53
|
+
| `<graphic>` | Graphic | Graphic |
|
|
54
|
+
| `<caption>` | Caption | Caption |
|
|
55
|
+
| `<title>` | Title | Title |
|
|
56
|
+
| `<label>` | Label | Label |
|
|
57
|
+
| `<disp-formula>` | DispFormula | DispFormula |
|
|
58
|
+
| `<inline-formula>` | InlineFormula | InlineFormula |
|
|
59
|
+
|
|
60
|
+
## Resolution Strategy
|
|
61
|
+
|
|
62
|
+
### For Genuinely Different Models
|
|
63
|
+
|
|
64
|
+
Keep separate but share a base class:
|
|
65
|
+
|
|
66
|
+
```ruby
|
|
67
|
+
# lib/sts/base/paragraph.rb
|
|
68
|
+
module Sts
|
|
69
|
+
module Base
|
|
70
|
+
class Paragraph < Lutaml::Model::Serializable
|
|
71
|
+
# Shared attributes common to ISOSTS and NISO STS
|
|
72
|
+
attribute :id, :string
|
|
73
|
+
attribute :content_type, :string
|
|
74
|
+
attribute :specific_use, :string
|
|
75
|
+
|
|
76
|
+
xml do
|
|
77
|
+
element "p"
|
|
78
|
+
mixed_content
|
|
79
|
+
map_attribute "id", to: :id
|
|
80
|
+
map_attribute "content-type", to: :content_type
|
|
81
|
+
map_attribute "specific-use", to: :specific_use
|
|
82
|
+
# Children injected by content groups
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# lib/sts/iso_sts/paragraph.rb
|
|
89
|
+
module Sts
|
|
90
|
+
module IsoSts
|
|
91
|
+
class Paragraph < ::Sts::Base::Paragraph
|
|
92
|
+
# ISOSTS-specific: only 4 attrs
|
|
93
|
+
attribute :xml_lang, :string
|
|
94
|
+
|
|
95
|
+
xml do
|
|
96
|
+
root "p"
|
|
97
|
+
map_attribute "xml:lang", to: :xml_lang
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
# lib/sts/niso_sts/paragraph.rb
|
|
104
|
+
module Sts
|
|
105
|
+
module NisoSts
|
|
106
|
+
class Paragraph < ::Sts::Base::Paragraph
|
|
107
|
+
# NISO STS Extended: 7 attrs
|
|
108
|
+
attribute :xml_lang, :string
|
|
109
|
+
attribute :xml_base, :string
|
|
110
|
+
attribute :originator, :string
|
|
111
|
+
attribute :style_type, :string
|
|
112
|
+
|
|
113
|
+
xml do
|
|
114
|
+
root "p"
|
|
115
|
+
map_attribute "xml:lang", to: :xml_lang
|
|
116
|
+
map_attribute "xml:base", to: :xml_base
|
|
117
|
+
map_attribute "originator", to: :originator
|
|
118
|
+
map_attribute "style-type", to: :style_type
|
|
119
|
+
end
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
end
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### For Identical Models
|
|
126
|
+
|
|
127
|
+
Use the base class directly — no namespace-specific subclass needed:
|
|
128
|
+
|
|
129
|
+
```ruby
|
|
130
|
+
# Both IsoSts and NisoSts can use Sts::Base::Bold
|
|
131
|
+
# Remove Sts::IsoSts::Bold and Sts::NisoSts::Bold
|
|
132
|
+
# Add alias in each namespace if needed for API compatibility
|
|
133
|
+
module Sts
|
|
134
|
+
module IsoSts
|
|
135
|
+
Bold = ::Sts::Base::Bold
|
|
136
|
+
end
|
|
137
|
+
module NisoSts
|
|
138
|
+
Bold = ::Sts::Base::Bold
|
|
139
|
+
end
|
|
140
|
+
end
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## Audit Process
|
|
144
|
+
|
|
145
|
+
For each duplicate pair:
|
|
146
|
+
|
|
147
|
+
1. Read ISOSTS DTD definition of the element
|
|
148
|
+
2. Read NISO STS XSD definition of the element
|
|
149
|
+
3. Compare attributes and children
|
|
150
|
+
4. Categorize: identical, subset, or different
|
|
151
|
+
5. Decide: share base, extend base, or keep separate
|
|
152
|
+
|
|
153
|
+
## Dependencies
|
|
154
|
+
|
|
155
|
+
- `03-namespace-coupling.md` — base type creation
|
|
156
|
+
- `04-register-versioning.md` — versioned class hierarchy
|
|
157
|
+
|
|
158
|
+
## TODO Checklist
|
|
159
|
+
|
|
160
|
+
- [ ] Audit all duplicate model pairs (25+ elements)
|
|
161
|
+
- [ ] Categorize each pair: identical / subset / different
|
|
162
|
+
- [ ] Create base classes for genuinely shared types
|
|
163
|
+
- [ ] Refactor ISOSTS versions to extend bases
|
|
164
|
+
- [ ] Refactor NISO STS versions to extend bases
|
|
165
|
+
- [ ] Replace direct references with namespace aliases where identical
|
|
166
|
+
- [ ] Remove duplicate implementations
|
|
167
|
+
- [ ] Run full round-trip test suite
|
|
168
|
+
- [ ] Verify no behavioral changes
|
|
@@ -3,12 +3,14 @@
|
|
|
3
3
|
module Sts
|
|
4
4
|
module IsoSts
|
|
5
5
|
class AnnexType < Lutaml::Model::Serializable
|
|
6
|
+
attribute :id, :string
|
|
6
7
|
attribute :content, :string, collection: true
|
|
7
8
|
attribute :bold, ::Sts::IsoSts::Bold
|
|
8
9
|
attribute :italic, ::Sts::IsoSts::Italic
|
|
9
10
|
|
|
10
11
|
xml do
|
|
11
12
|
element "annex-type"
|
|
13
|
+
map_attribute "id", to: :id
|
|
12
14
|
mixed_content
|
|
13
15
|
|
|
14
16
|
map_content to: :content
|
data/lib/sts/iso_sts/bold.rb
CHANGED
|
@@ -8,20 +8,20 @@ module Sts
|
|
|
8
8
|
attribute :content, :string, collection: true
|
|
9
9
|
attribute :bold, ::Sts::IsoSts::Bold, collection: true
|
|
10
10
|
attribute :italic, ::Sts::IsoSts::Italic, collection: true
|
|
11
|
-
attribute :sub, ::Sts::
|
|
12
|
-
attribute :sup, ::Sts::
|
|
11
|
+
attribute :sub, ::Sts::IsoSts::Sub, collection: true
|
|
12
|
+
attribute :sup, ::Sts::IsoSts::Sup, collection: true
|
|
13
13
|
attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
|
|
14
|
-
attribute :ext_link, ::Sts::
|
|
15
|
-
attribute :uri, ::Sts::
|
|
14
|
+
attribute :ext_link, ::Sts::IsoSts::ExtLink, collection: true
|
|
15
|
+
attribute :uri, ::Sts::IsoSts::Uri, collection: true
|
|
16
16
|
attribute :inline_formula, ::Sts::IsoSts::InlineFormula, collection: true
|
|
17
|
-
attribute :named_content, ::Sts::
|
|
17
|
+
attribute :named_content, ::Sts::IsoSts::NamedContent, collection: true
|
|
18
18
|
attribute :styled_content, ::Sts::IsoSts::StyledContent, collection: true
|
|
19
19
|
attribute :break, ::Sts::IsoSts::Break, collection: true
|
|
20
20
|
attribute :std_ref, ::Sts::IsoSts::StdRef, collection: true
|
|
21
|
-
attribute :monospace, ::Sts::
|
|
22
|
-
attribute :sc, ::Sts::
|
|
23
|
-
attribute :strike, ::Sts::
|
|
24
|
-
attribute :underline, ::Sts::
|
|
21
|
+
attribute :monospace, ::Sts::IsoSts::Monospace, collection: true
|
|
22
|
+
attribute :sc, ::Sts::IsoSts::Sc, collection: true
|
|
23
|
+
attribute :strike, ::Sts::IsoSts::Strike, collection: true
|
|
24
|
+
attribute :underline, ::Sts::IsoSts::Underline, collection: true
|
|
25
25
|
attribute :fn, ::Sts::TbxIsoTml::Fn, collection: true
|
|
26
26
|
|
|
27
27
|
xml do
|
data/lib/sts/iso_sts/break.rb
CHANGED
data/lib/sts/iso_sts/comm_ref.rb
CHANGED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sts
|
|
4
|
+
module IsoSts
|
|
5
|
+
class ContentLanguage < Lutaml::Model::Serializable
|
|
6
|
+
attribute :id, :string
|
|
7
|
+
attribute :content, :string, collection: true
|
|
8
|
+
attribute :lang, :string
|
|
9
|
+
attribute :specific_use, :string
|
|
10
|
+
|
|
11
|
+
xml do
|
|
12
|
+
element "content-language"
|
|
13
|
+
map_attribute "id", to: :id
|
|
14
|
+
mixed_content
|
|
15
|
+
|
|
16
|
+
map_content to: :content
|
|
17
|
+
map_attribute "lang", to: :lang
|
|
18
|
+
map_attribute "specific-use", to: :specific_use
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -3,12 +3,14 @@
|
|
|
3
3
|
module Sts
|
|
4
4
|
module IsoSts
|
|
5
5
|
class CopyrightHolder < Lutaml::Model::Serializable
|
|
6
|
+
attribute :id, :string
|
|
6
7
|
attribute :content, :string, collection: true
|
|
7
|
-
attribute :sub, ::Sts::
|
|
8
|
-
attribute :sup, ::Sts::
|
|
8
|
+
attribute :sub, ::Sts::IsoSts::Sub
|
|
9
|
+
attribute :sup, ::Sts::IsoSts::Sup
|
|
9
10
|
|
|
10
11
|
xml do
|
|
11
12
|
element "copyright-holder"
|
|
13
|
+
map_attribute "id", to: :id
|
|
12
14
|
mixed_content
|
|
13
15
|
|
|
14
16
|
map_content to: :content
|
|
@@ -3,14 +3,16 @@
|
|
|
3
3
|
module Sts
|
|
4
4
|
module IsoSts
|
|
5
5
|
class CopyrightStatement < Lutaml::Model::Serializable
|
|
6
|
+
attribute :id, :string
|
|
6
7
|
attribute :content, :string, collection: true
|
|
7
8
|
attribute :bold, ::Sts::IsoSts::Bold
|
|
8
9
|
attribute :italic, ::Sts::IsoSts::Italic
|
|
9
|
-
attribute :ext_link, ::Sts::
|
|
10
|
-
attribute :uri, ::Sts::
|
|
10
|
+
attribute :ext_link, ::Sts::IsoSts::ExtLink
|
|
11
|
+
attribute :uri, ::Sts::IsoSts::Uri
|
|
11
12
|
|
|
12
13
|
xml do
|
|
13
14
|
element "copyright-statement"
|
|
15
|
+
map_attribute "id", to: :id
|
|
14
16
|
mixed_content
|
|
15
17
|
|
|
16
18
|
map_content to: :content
|
|
@@ -3,11 +3,14 @@
|
|
|
3
3
|
module Sts
|
|
4
4
|
module IsoSts
|
|
5
5
|
class CopyrightYear < Lutaml::Model::Serializable
|
|
6
|
+
attribute :id, :string
|
|
6
7
|
attribute :content, :string
|
|
7
8
|
|
|
8
9
|
xml do
|
|
9
10
|
element "copyright-year"
|
|
10
11
|
|
|
12
|
+
map_attribute "id", to: :id
|
|
13
|
+
|
|
11
14
|
map_content to: :content
|
|
12
15
|
end
|
|
13
16
|
end
|
data/lib/sts/iso_sts/doc_ref.rb
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
module Sts
|
|
4
4
|
module IsoSts
|
|
5
5
|
class DocumentIdentification < Lutaml::Model::Serializable
|
|
6
|
+
attribute :id, :string
|
|
6
7
|
attribute :sdo, ::Sts::NisoSts::Sdo
|
|
7
8
|
attribute :proj_id, ::Sts::NisoSts::ProjId
|
|
8
9
|
attribute :language, ::Sts::IsoSts::Language
|
|
@@ -11,6 +12,7 @@ module Sts
|
|
|
11
12
|
|
|
12
13
|
xml do
|
|
13
14
|
element "doc-ident"
|
|
15
|
+
map_attribute "id", to: :id
|
|
14
16
|
ordered
|
|
15
17
|
|
|
16
18
|
map_element "sdo", to: :sdo
|
data/lib/sts/iso_sts/edition.rb
CHANGED
data/lib/sts/iso_sts/ext_link.rb
CHANGED
|
@@ -11,7 +11,7 @@ module Sts
|
|
|
11
11
|
attribute :content, :string
|
|
12
12
|
attribute :bold, ::Sts::IsoSts::Bold
|
|
13
13
|
attribute :italic, ::Sts::IsoSts::Italic
|
|
14
|
-
attribute :named_content, ::Sts::
|
|
14
|
+
attribute :named_content, ::Sts::IsoSts::NamedContent
|
|
15
15
|
|
|
16
16
|
xml do
|
|
17
17
|
element "ext-link"
|
data/lib/sts/iso_sts/front.rb
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
module Sts
|
|
4
4
|
module IsoSts
|
|
5
5
|
class Front < Lutaml::Model::Serializable
|
|
6
|
+
attribute :id, :string
|
|
6
7
|
attribute :std_meta, ::Sts::NisoSts::MetadataStd
|
|
7
8
|
attribute :iso_meta, ::Sts::IsoSts::IsoMeta
|
|
8
9
|
attribute :reg_meta, ::Sts::IsoSts::RegMeta, collection: true
|
|
@@ -11,6 +12,7 @@ module Sts
|
|
|
11
12
|
|
|
12
13
|
xml do
|
|
13
14
|
element "front"
|
|
15
|
+
map_attribute "id", to: :id
|
|
14
16
|
ordered
|
|
15
17
|
|
|
16
18
|
map_element "std-meta", to: :std_meta
|
data/lib/sts/iso_sts/iso_meta.rb
CHANGED
|
@@ -7,7 +7,7 @@ module Sts
|
|
|
7
7
|
attribute :title_wrap, ::Sts::IsoSts::TitleWrap, collection: true
|
|
8
8
|
attribute :doc_ident, ::Sts::IsoSts::DocumentIdentification
|
|
9
9
|
attribute :std_ident, ::Sts::IsoSts::StandardIdentification
|
|
10
|
-
attribute :content_language, ::Sts::
|
|
10
|
+
attribute :content_language, ::Sts::IsoSts::ContentLanguage,
|
|
11
11
|
collection: true
|
|
12
12
|
attribute :std_ref, ::Sts::IsoSts::StdRef, collection: true
|
|
13
13
|
attribute :doc_ref, ::Sts::IsoSts::DocRef
|
|
@@ -21,7 +21,7 @@ module Sts
|
|
|
21
21
|
collection: true
|
|
22
22
|
attribute :custom_meta_group, ::Sts::NisoSts::CustomMetaGroup,
|
|
23
23
|
collection: true
|
|
24
|
-
attribute :meta_date, ::Sts::
|
|
24
|
+
attribute :meta_date, ::Sts::IsoSts::MetaDate, collection: true
|
|
25
25
|
attribute :pub_date, ::Sts::NisoSts::PubDate
|
|
26
26
|
attribute :is_proof, ::Sts::NisoSts::IsProof
|
|
27
27
|
|
data/lib/sts/iso_sts/italic.rb
CHANGED
|
@@ -8,20 +8,20 @@ module Sts
|
|
|
8
8
|
attribute :content, :string, collection: true
|
|
9
9
|
attribute :bold, ::Sts::IsoSts::Bold, collection: true
|
|
10
10
|
attribute :italic, ::Sts::IsoSts::Italic, collection: true
|
|
11
|
-
attribute :sub, ::Sts::
|
|
12
|
-
attribute :sup, ::Sts::
|
|
11
|
+
attribute :sub, ::Sts::IsoSts::Sub, collection: true
|
|
12
|
+
attribute :sup, ::Sts::IsoSts::Sup, collection: true
|
|
13
13
|
attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
|
|
14
|
-
attribute :ext_link, ::Sts::
|
|
15
|
-
attribute :uri, ::Sts::
|
|
14
|
+
attribute :ext_link, ::Sts::IsoSts::ExtLink, collection: true
|
|
15
|
+
attribute :uri, ::Sts::IsoSts::Uri, collection: true
|
|
16
16
|
attribute :inline_formula, ::Sts::IsoSts::InlineFormula, collection: true
|
|
17
|
-
attribute :named_content, ::Sts::
|
|
17
|
+
attribute :named_content, ::Sts::IsoSts::NamedContent, collection: true
|
|
18
18
|
attribute :styled_content, ::Sts::IsoSts::StyledContent, collection: true
|
|
19
19
|
attribute :break, ::Sts::IsoSts::Break, collection: true
|
|
20
20
|
attribute :std_ref, ::Sts::IsoSts::StdRef, collection: true
|
|
21
|
-
attribute :monospace, ::Sts::
|
|
22
|
-
attribute :sc, ::Sts::
|
|
23
|
-
attribute :strike, ::Sts::
|
|
24
|
-
attribute :underline, ::Sts::
|
|
21
|
+
attribute :monospace, ::Sts::IsoSts::Monospace, collection: true
|
|
22
|
+
attribute :sc, ::Sts::IsoSts::Sc, collection: true
|
|
23
|
+
attribute :strike, ::Sts::IsoSts::Strike, collection: true
|
|
24
|
+
attribute :underline, ::Sts::IsoSts::Underline, collection: true
|
|
25
25
|
attribute :fn, ::Sts::TbxIsoTml::Fn, collection: true
|
|
26
26
|
|
|
27
27
|
xml do
|
data/lib/sts/iso_sts/label.rb
CHANGED
|
@@ -3,20 +3,22 @@
|
|
|
3
3
|
module Sts
|
|
4
4
|
module IsoSts
|
|
5
5
|
class Label < Lutaml::Model::Serializable
|
|
6
|
+
attribute :id, :string
|
|
6
7
|
attribute :content, :string, collection: true
|
|
7
8
|
attribute :bold, ::Sts::IsoSts::Bold
|
|
8
9
|
attribute :italic, ::Sts::IsoSts::Italic
|
|
9
|
-
attribute :sub, ::Sts::
|
|
10
|
-
attribute :sup, ::Sts::
|
|
10
|
+
attribute :sub, ::Sts::IsoSts::Sub
|
|
11
|
+
attribute :sup, ::Sts::IsoSts::Sup
|
|
11
12
|
attribute :inline_formula, ::Sts::IsoSts::InlineFormula
|
|
12
13
|
attribute :break, ::Sts::IsoSts::Break
|
|
13
14
|
attribute :styled_content, ::Sts::IsoSts::StyledContent
|
|
14
|
-
attribute :ext_link, ::Sts::
|
|
15
|
-
attribute :uri, ::Sts::
|
|
16
|
-
attribute :named_content, ::Sts::
|
|
15
|
+
attribute :ext_link, ::Sts::IsoSts::ExtLink
|
|
16
|
+
attribute :uri, ::Sts::IsoSts::Uri
|
|
17
|
+
attribute :named_content, ::Sts::IsoSts::NamedContent
|
|
17
18
|
|
|
18
19
|
xml do
|
|
19
20
|
element "label"
|
|
21
|
+
map_attribute "id", to: :id
|
|
20
22
|
mixed_content
|
|
21
23
|
|
|
22
24
|
map_content to: :content
|
data/lib/sts/iso_sts/language.rb
CHANGED
|
@@ -3,12 +3,14 @@
|
|
|
3
3
|
module Sts
|
|
4
4
|
module IsoSts
|
|
5
5
|
class Language < Lutaml::Model::Serializable
|
|
6
|
+
attribute :id, :string
|
|
6
7
|
attribute :content, :string, collection: true
|
|
7
8
|
attribute :lang, :string
|
|
8
9
|
attribute :specific_use, :string
|
|
9
10
|
|
|
10
11
|
xml do
|
|
11
12
|
element "language"
|
|
13
|
+
map_attribute "id", to: :id
|
|
12
14
|
mixed_content
|
|
13
15
|
|
|
14
16
|
map_content to: :content
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sts
|
|
4
|
+
module IsoSts
|
|
5
|
+
class MetaDate < Lutaml::Model::Serializable
|
|
6
|
+
attribute :id, :string
|
|
7
|
+
attribute :content, :string
|
|
8
|
+
attribute :type, :string
|
|
9
|
+
|
|
10
|
+
xml do
|
|
11
|
+
element "meta-date"
|
|
12
|
+
|
|
13
|
+
map_content to: :content
|
|
14
|
+
|
|
15
|
+
map_attribute "id", to: :id
|
|
16
|
+
map_attribute :type, to: :type
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -12,12 +12,12 @@ module Sts
|
|
|
12
12
|
attribute :content, :string, collection: true
|
|
13
13
|
attribute :bold, ::Sts::IsoSts::Bold, collection: true
|
|
14
14
|
attribute :italic, ::Sts::IsoSts::Italic, collection: true
|
|
15
|
-
attribute :sub, ::Sts::
|
|
16
|
-
attribute :sup, ::Sts::
|
|
15
|
+
attribute :sub, ::Sts::IsoSts::Sub, collection: true
|
|
16
|
+
attribute :sup, ::Sts::IsoSts::Sup, collection: true
|
|
17
17
|
attribute :std, ::Sts::IsoSts::Std, collection: true
|
|
18
|
-
attribute :ext_link, ::Sts::
|
|
19
|
-
attribute :uri, ::Sts::
|
|
20
|
-
attribute :named_content, ::Sts::
|
|
18
|
+
attribute :ext_link, ::Sts::IsoSts::ExtLink, collection: true
|
|
19
|
+
attribute :uri, ::Sts::IsoSts::Uri, collection: true
|
|
20
|
+
attribute :named_content, ::Sts::IsoSts::NamedContent, collection: true
|
|
21
21
|
attribute :styled_content, ::Sts::IsoSts::StyledContent, collection: true
|
|
22
22
|
attribute :fn, ::Sts::TbxIsoTml::Fn, collection: true
|
|
23
23
|
attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sts
|
|
4
|
+
module IsoSts
|
|
5
|
+
class Monospace < Lutaml::Model::Serializable
|
|
6
|
+
attribute :specific_use, :string
|
|
7
|
+
attribute :content, :string, collection: true
|
|
8
|
+
attribute :bold, ::Sts::IsoSts::Bold, collection: true
|
|
9
|
+
attribute :italic, ::Sts::IsoSts::Italic, collection: true
|
|
10
|
+
attribute :sub, ::Sts::IsoSts::Sub, collection: true
|
|
11
|
+
attribute :sup, ::Sts::IsoSts::Sup, collection: true
|
|
12
|
+
|
|
13
|
+
xml do
|
|
14
|
+
element "monospace"
|
|
15
|
+
mixed_content
|
|
16
|
+
|
|
17
|
+
map_attribute "specific-use", to: :specific_use
|
|
18
|
+
map_content to: :content
|
|
19
|
+
map_element "bold", to: :bold
|
|
20
|
+
map_element "italic", to: :italic
|
|
21
|
+
map_element "sub", to: :sub
|
|
22
|
+
map_element "sup", to: :sup
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sts
|
|
4
|
+
module IsoSts
|
|
5
|
+
class NamedContent < Lutaml::Model::Serializable
|
|
6
|
+
attribute :id, :string
|
|
7
|
+
attribute :alt, :string
|
|
8
|
+
attribute :content_type, :string
|
|
9
|
+
attribute :specific_use, :string
|
|
10
|
+
attribute :xml_lang, :string
|
|
11
|
+
attribute :xlink_href, :string
|
|
12
|
+
attribute :xlink_role, :string
|
|
13
|
+
attribute :xlink_title, :string
|
|
14
|
+
attribute :xlink_show, :string
|
|
15
|
+
attribute :xlink_actuate, :string
|
|
16
|
+
attribute :content, :string, collection: true
|
|
17
|
+
attribute :bold, ::Sts::IsoSts::Bold, collection: true
|
|
18
|
+
attribute :italic, ::Sts::IsoSts::Italic, collection: true
|
|
19
|
+
attribute :sub, ::Sts::IsoSts::Sub, collection: true
|
|
20
|
+
attribute :sup, ::Sts::IsoSts::Sup, collection: true
|
|
21
|
+
|
|
22
|
+
xml do
|
|
23
|
+
element "named-content"
|
|
24
|
+
mixed_content
|
|
25
|
+
|
|
26
|
+
map_attribute "id", to: :id
|
|
27
|
+
map_attribute "alt", to: :alt
|
|
28
|
+
map_attribute "content-type", to: :content_type
|
|
29
|
+
map_attribute "specific-use", to: :specific_use
|
|
30
|
+
map_attribute "xml:lang", to: :xml_lang
|
|
31
|
+
map_attribute "xlink:href", to: :xlink_href
|
|
32
|
+
map_attribute "xlink:role", to: :xlink_role
|
|
33
|
+
map_attribute "xlink:title", to: :xlink_title
|
|
34
|
+
map_attribute "xlink:show", to: :xlink_show
|
|
35
|
+
map_attribute "xlink:actuate", to: :xlink_actuate
|
|
36
|
+
map_content to: :content
|
|
37
|
+
map_element "bold", to: :bold
|
|
38
|
+
map_element "italic", to: :italic
|
|
39
|
+
map_element "sub", to: :sub
|
|
40
|
+
map_element "sup", to: :sup
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
data/lib/sts/iso_sts/nat_meta.rb
CHANGED
|
@@ -8,11 +8,11 @@ module Sts
|
|
|
8
8
|
attribute :title_wrap, ::Sts::IsoSts::TitleWrap, collection: true
|
|
9
9
|
attribute :doc_ident, ::Sts::IsoSts::DocumentIdentification
|
|
10
10
|
attribute :std_ident, ::Sts::IsoSts::StandardIdentification
|
|
11
|
-
attribute :content_language, ::Sts::
|
|
11
|
+
attribute :content_language, ::Sts::IsoSts::ContentLanguage,
|
|
12
12
|
collection: true
|
|
13
|
-
attribute :std_ref, ::Sts::
|
|
13
|
+
attribute :std_ref, ::Sts::IsoSts::StandardRef, collection: true
|
|
14
14
|
attribute :doc_ref, :string
|
|
15
|
-
attribute :release_date, ::Sts::
|
|
15
|
+
attribute :release_date, ::Sts::IsoSts::ReleaseDate
|
|
16
16
|
attribute :comm_ref, :string
|
|
17
17
|
attribute :secretariat, ::Sts::NisoSts::Secretariat, collection: true
|
|
18
18
|
attribute :ics, ::Sts::NisoSts::Ics, collection: true
|
|
@@ -22,7 +22,7 @@ module Sts
|
|
|
22
22
|
collection: true
|
|
23
23
|
attribute :custom_meta_group, ::Sts::NisoSts::CustomMetaGroup,
|
|
24
24
|
collection: true
|
|
25
|
-
attribute :meta_date, ::Sts::
|
|
25
|
+
attribute :meta_date, ::Sts::IsoSts::MetaDate, collection: true
|
|
26
26
|
attribute :pub_date, ::Sts::NisoSts::PubDate
|
|
27
27
|
|
|
28
28
|
xml do
|
|
@@ -13,8 +13,8 @@ module Sts
|
|
|
13
13
|
attribute :bold, ::Sts::IsoSts::Bold, collection: true
|
|
14
14
|
attribute :italic, ::Sts::IsoSts::Italic, collection: true
|
|
15
15
|
attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
|
|
16
|
-
attribute :ext_link, ::Sts::
|
|
17
|
-
attribute :uri, ::Sts::
|
|
16
|
+
attribute :ext_link, ::Sts::IsoSts::ExtLink, collection: true
|
|
17
|
+
attribute :uri, ::Sts::IsoSts::Uri, collection: true
|
|
18
18
|
attribute :inline_formula, ::Sts::IsoSts::InlineFormula, collection: true
|
|
19
19
|
attribute :disp_formula, ::Sts::IsoSts::DispFormula, collection: true
|
|
20
20
|
attribute :std, ::Sts::IsoSts::Std, collection: true
|
|
@@ -29,12 +29,12 @@ module Sts
|
|
|
29
29
|
attribute :graphic, ::Sts::IsoSts::Graphic, collection: true
|
|
30
30
|
attribute :math, Mml::V3::Math, collection: true
|
|
31
31
|
attribute :break, ::Sts::IsoSts::Break, collection: true
|
|
32
|
-
attribute :sub, ::Sts::
|
|
33
|
-
attribute :sup, ::Sts::
|
|
34
|
-
attribute :monospace, ::Sts::
|
|
35
|
-
attribute :sc, ::Sts::
|
|
36
|
-
attribute :strike, ::Sts::
|
|
37
|
-
attribute :underline, ::Sts::
|
|
32
|
+
attribute :sub, ::Sts::IsoSts::Sub, collection: true
|
|
33
|
+
attribute :sup, ::Sts::IsoSts::Sup, collection: true
|
|
34
|
+
attribute :monospace, ::Sts::IsoSts::Monospace, collection: true
|
|
35
|
+
attribute :sc, ::Sts::IsoSts::Sc, collection: true
|
|
36
|
+
attribute :strike, ::Sts::IsoSts::Strike, collection: true
|
|
37
|
+
attribute :underline, ::Sts::IsoSts::Underline, collection: true
|
|
38
38
|
attribute :array, ::Sts::IsoSts::Array, collection: true
|
|
39
39
|
attribute :fig, ::Sts::IsoSts::Fig, collection: true
|
|
40
40
|
attribute :table_wrap, ::Sts::TbxIsoTml::TableWrap, collection: true
|