sts 0.5.2 → 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/.gitmodules +3 -0
- data/.rubocop.yml +3 -0
- data/.rubocop_todo.yml +17 -3
- data/CLAUDE.md +72 -0
- 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 +2 -1
- 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/app.rb +26 -1
- data/lib/sts/iso_sts/app_group.rb +1 -0
- data/lib/sts/iso_sts/array.rb +1 -0
- data/lib/sts/iso_sts/back.rb +1 -0
- data/lib/sts/iso_sts/body.rb +4 -0
- data/lib/sts/iso_sts/bold.rb +23 -11
- data/lib/sts/iso_sts/break.rb +3 -0
- data/lib/sts/iso_sts/caption.rb +1 -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/def.rb +1 -0
- data/lib/sts/iso_sts/def_item.rb +1 -0
- data/lib/sts/iso_sts/def_list.rb +1 -0
- data/lib/sts/iso_sts/disp_formula.rb +5 -1
- data/lib/sts/iso_sts/doc_ref.rb +2 -0
- data/lib/sts/iso_sts/document_identification.rb +3 -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/fig.rb +1 -0
- data/lib/sts/iso_sts/fn.rb +1 -0
- data/lib/sts/iso_sts/fn_group.rb +1 -0
- data/lib/sts/iso_sts/front.rb +5 -0
- data/lib/sts/iso_sts/graphic.rb +5 -0
- data/lib/sts/iso_sts/inline_formula.rb +1 -1
- data/lib/sts/iso_sts/iso_meta.rb +4 -3
- data/lib/sts/iso_sts/italic.rb +23 -11
- data/lib/sts/iso_sts/label.rb +7 -5
- data/lib/sts/iso_sts/language.rb +2 -0
- data/lib/sts/iso_sts/list.rb +1 -0
- data/lib/sts/iso_sts/list_item.rb +7 -4
- data/lib/sts/iso_sts/mathml2/math.rb +20 -18
- data/lib/sts/iso_sts/meta_date.rb +20 -0
- data/lib/sts/iso_sts/mixed_citation.rb +35 -11
- 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 +5 -4
- data/lib/sts/iso_sts/non_normative_example.rb +5 -0
- data/lib/sts/iso_sts/non_normative_note.rb +1 -0
- data/lib/sts/iso_sts/page_count.rb +2 -0
- data/lib/sts/iso_sts/paragraph.rb +34 -22
- data/lib/sts/iso_sts/permissions.rb +3 -0
- data/lib/sts/iso_sts/preformat.rb +8 -5
- data/lib/sts/iso_sts/ref.rb +1 -0
- data/lib/sts/iso_sts/ref_list.rb +1 -0
- data/lib/sts/iso_sts/reg_meta.rb +5 -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 +12 -2
- data/lib/sts/iso_sts/secretariat.rb +2 -0
- data/lib/sts/iso_sts/standard.rb +6 -0
- data/lib/sts/iso_sts/standard_cross_reference.rb +5 -2
- data/lib/sts/iso_sts/standard_identification.rb +3 -0
- data/lib/sts/iso_sts/standard_ref.rb +16 -0
- data/lib/sts/iso_sts/std.rb +7 -5
- 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 +19 -15
- data/lib/sts/iso_sts/sub.rb +2 -0
- data/lib/sts/iso_sts/sup.rb +2 -0
- data/lib/sts/iso_sts/table.rb +1 -0
- data/lib/sts/iso_sts/table_wrap.rb +1 -0
- data/lib/sts/iso_sts/table_wrap_foot.rb +3 -0
- data/lib/sts/iso_sts/td.rb +32 -14
- data/lib/sts/iso_sts/term.rb +6 -6
- data/lib/sts/iso_sts/term_sec.rb +1 -0
- data/lib/sts/iso_sts/th.rb +32 -14
- data/lib/sts/iso_sts/title.rb +17 -7
- 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/title_wrap.rb +1 -0
- data/lib/sts/iso_sts/tr.rb +1 -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 +11 -0
- data/lib/sts/mathml.rb +21 -0
- data/lib/sts/namespaces.rb +3 -0
- data/lib/sts/niso_sts/abstract.rb +3 -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/ack.rb +1 -1
- data/lib/sts/niso_sts/addr_line.rb +2 -0
- data/lib/sts/niso_sts/address.rb +3 -0
- data/lib/sts/niso_sts/adoption.rb +1 -1
- data/lib/sts/niso_sts/adoption_front.rb +1 -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 +3 -4
- data/lib/sts/niso_sts/annotation.rb +1 -3
- data/lib/sts/niso_sts/anonymous.rb +3 -0
- data/lib/sts/niso_sts/app.rb +16 -1
- data/lib/sts/niso_sts/app_group.rb +5 -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/author_comment.rb +1 -3
- data/lib/sts/niso_sts/author_notes.rb +1 -1
- data/lib/sts/niso_sts/authorization.rb +2 -0
- data/lib/sts/niso_sts/award_group.rb +23 -4
- data/lib/sts/niso_sts/award_id.rb +6 -0
- data/lib/sts/niso_sts/back.rb +25 -6
- data/lib/sts/niso_sts/bio.rb +1 -3
- data/lib/sts/niso_sts/body.rb +38 -0
- data/lib/sts/niso_sts/boxed_text.rb +41 -3
- data/lib/sts/niso_sts/break.rb +14 -0
- data/lib/sts/niso_sts/caption.rb +15 -1
- 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/chem_struct_wrap.rb +1 -0
- data/lib/sts/niso_sts/citation_alternatives.rb +3 -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.rb +8 -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 +3 -0
- data/lib/sts/niso_sts/content_language.rb +2 -0
- data/lib/sts/niso_sts/contrib.rb +1 -0
- data/lib/sts/niso_sts/contrib_group.rb +1 -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 +3 -0
- data/lib/sts/niso_sts/custom_meta.rb +3 -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 +3 -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 +13 -0
- data/lib/sts/niso_sts/def_list.rb +25 -3
- data/lib/sts/niso_sts/degrees.rb +2 -0
- data/lib/sts/niso_sts/disp_formula_group.rb +1 -4
- data/lib/sts/niso_sts/disp_quote.rb +3 -1
- data/lib/sts/niso_sts/display_formula.rb +47 -2
- 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/document_identification.rb +1 -0
- data/lib/sts/niso_sts/editing_instruction.rb +9 -5
- data/lib/sts/niso_sts/edition.rb +2 -0
- data/lib/sts/niso_sts/element_citation.rb +1 -1
- 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 +32 -2
- data/lib/sts/niso_sts/fax.rb +2 -0
- data/lib/sts/niso_sts/fig_count.rb +2 -0
- data/lib/sts/niso_sts/fig_group.rb +1 -0
- data/lib/sts/niso_sts/figure.rb +14 -1
- data/lib/sts/niso_sts/floats_group.rb +3 -4
- data/lib/sts/niso_sts/fn.rb +2 -1
- 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 +16 -0
- data/lib/sts/niso_sts/funding_group.rb +1 -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/glossary.rb +1 -1
- data/lib/sts/niso_sts/gov.rb +2 -0
- data/lib/sts/niso_sts/graphic.rb +6 -0
- data/lib/sts/niso_sts/hr.rb +3 -0
- data/lib/sts/niso_sts/ics.rb +5 -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_term.rb +1 -0
- data/lib/sts/niso_sts/index_title_group.rb +22 -0
- data/lib/sts/niso_sts/inline_formula.rb +38 -2
- 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 +3 -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 +9 -0
- data/lib/sts/niso_sts/label.rb +7 -2
- 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 +9 -2
- data/lib/sts/niso_sts/list_item.rb +9 -4
- 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/media.rb +1 -0
- data/lib/sts/niso_sts/meta_date.rb +2 -0
- data/lib/sts/niso_sts/meta_note.rb +1 -1
- data/lib/sts/niso_sts/metadata_iso.rb +1 -1
- data/lib/sts/niso_sts/metadata_std.rb +16 -8
- data/lib/sts/niso_sts/milestone_end.rb +1 -3
- data/lib/sts/niso_sts/milestone_start.rb +1 -3
- data/lib/sts/niso_sts/mixed_citation.rb +22 -0
- data/lib/sts/niso_sts/mml_content.rb +0 -2
- data/lib/sts/niso_sts/monospace.rb +9 -0
- data/lib/sts/niso_sts/month.rb +2 -0
- data/lib/sts/niso_sts/name.rb +3 -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 +3 -0
- data/lib/sts/niso_sts/nested_kwd.rb +3 -0
- data/lib/sts/niso_sts/nlm_citation.rb +1 -1
- data/lib/sts/niso_sts/non_normative_example.rb +15 -2
- data/lib/sts/niso_sts/non_normative_note.rb +14 -2
- data/lib/sts/niso_sts/normative_example.rb +1 -1
- data/lib/sts/niso_sts/normative_note.rb +3 -1
- data/lib/sts/niso_sts/note.rb +1 -1
- data/lib/sts/niso_sts/notes.rb +1 -1
- data/lib/sts/niso_sts/notes_group.rb +1 -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 +3 -4
- 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 +39 -7
- 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 +7 -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/preformat.rb +15 -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 +3 -3
- 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 +4 -0
- data/lib/sts/niso_sts/pub_id.rb +2 -0
- data/lib/sts/niso_sts/publisher.rb +3 -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.rb +1 -0
- data/lib/sts/niso_sts/reference_list.rb +6 -1
- data/lib/sts/niso_sts/reference_standard.rb +4 -2
- data/lib/sts/niso_sts/reg_meta.rb +3 -0
- data/lib/sts/niso_sts/related_term.rb +2 -0
- data/lib/sts/niso_sts/release_date.rb +11 -6
- 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/ruby.rb +1 -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 +47 -4
- 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/speech.rb +1 -1
- data/lib/sts/niso_sts/standard.rb +3 -0
- data/lib/sts/niso_sts/standard_identification.rb +3 -1
- data/lib/sts/niso_sts/state.rb +2 -0
- data/lib/sts/niso_sts/statement.rb +1 -1
- data/lib/sts/niso_sts/std_doc_meta.rb +50 -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.rb +1 -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 +39 -0
- data/lib/sts/niso_sts/sub.rb +11 -0
- data/lib/sts/niso_sts/subj_group.rb +11 -0
- data/lib/sts/niso_sts/subtitle.rb +2 -0
- data/lib/sts/niso_sts/suffix.rb +2 -0
- data/lib/sts/niso_sts/sup.rb +13 -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/supplementary_material.rb +1 -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 -0
- 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_section.rb +3 -3
- 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 +26 -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_abstract.rb +1 -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/underline.rb +5 -0
- data/lib/sts/niso_sts/uri.rb +4 -0
- data/lib/sts/niso_sts/urn.rb +2 -0
- data/lib/sts/niso_sts/verse_group.rb +1 -1
- 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 +3 -4
- 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 +30 -1
- data/lib/sts/tbx_iso_tml/caption.rb +3 -0
- data/lib/sts/tbx_iso_tml/col.rb +10 -0
- data/lib/sts/tbx_iso_tml/cross_reference.rb +2 -0
- data/lib/sts/tbx_iso_tml/definition.rb +18 -2
- data/lib/sts/tbx_iso_tml/entailed_term.rb +2 -0
- data/lib/sts/tbx_iso_tml/example.rb +9 -3
- 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.rb +3 -2
- 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 +27 -1
- 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 +4 -1
- 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/note.rb +11 -7
- 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 +6 -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.rb +1 -0
- data/lib/sts/tbx_iso_tml/table_wrap.rb +3 -1
- data/lib/sts/tbx_iso_tml/table_wrap_foot.rb +3 -0
- data/lib/sts/tbx_iso_tml/tbody.rb +9 -1
- data/lib/sts/tbx_iso_tml/td.rb +122 -17
- data/lib/sts/tbx_iso_tml/term.rb +9 -5
- data/lib/sts/tbx_iso_tml/term_type.rb +2 -0
- data/lib/sts/tbx_iso_tml/tfoot.rb +5 -1
- data/lib/sts/tbx_iso_tml/th.rb +133 -18
- data/lib/sts/tbx_iso_tml/thead.rb +9 -1
- data/lib/sts/tbx_iso_tml/tr.rb +16 -0
- data/lib/sts/tbx_iso_tml/xref.rb +2 -2
- data/lib/sts/version.rb +1 -1
- data/lib/sts.rb +1 -2
- 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 +76 -3
- data/lib/sts/niso_sts/mathml.rb +0 -69
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
# 10: Test Coverage Improvements
|
|
2
|
+
|
|
3
|
+
**Priority**: ONGOING
|
|
4
|
+
**Category**: Quality
|
|
5
|
+
**Estimated Effort**: Ongoing
|
|
6
|
+
**Files Affected**: `spec/`
|
|
7
|
+
|
|
8
|
+
## Current Test Structure
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
spec/
|
|
12
|
+
├── spec_helper.rb
|
|
13
|
+
├── sts_spec.rb # Core parsing/serialization tests
|
|
14
|
+
├── round_trip/
|
|
15
|
+
│ └── reference_docs_spec.rb # Round-trip tests with ISO doc fixtures
|
|
16
|
+
└── fixtures/
|
|
17
|
+
└── *.xml # Test XML documents
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Test Categories Needed
|
|
21
|
+
|
|
22
|
+
### 1. Unit Tests Per Element
|
|
23
|
+
|
|
24
|
+
Each model class should have unit tests covering:
|
|
25
|
+
|
|
26
|
+
```ruby
|
|
27
|
+
# spec/sts/niso_sts/paragraph_spec.rb
|
|
28
|
+
RSpec.describe Sts::NisoSts::Paragraph do
|
|
29
|
+
describe "XML parsing" do
|
|
30
|
+
it "parses <p> with text content"
|
|
31
|
+
it "parses <p> with mixed content"
|
|
32
|
+
it "parses <p> with @id attribute"
|
|
33
|
+
it "parses <p> with @content-type attribute"
|
|
34
|
+
it "parses <p> with @xml:lang attribute"
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
describe "XML serialization" do
|
|
38
|
+
it "round-trips text content"
|
|
39
|
+
it "round-trips mixed content"
|
|
40
|
+
it "round-trips all attributes"
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Priority elements for unit tests:
|
|
46
|
+
- `Standard`, `Front`, `Body`, `Back` — structural
|
|
47
|
+
- `Section`, `Paragraph` — high frequency
|
|
48
|
+
- `Fig`, `TableWrap`, `Graphic` — media
|
|
49
|
+
- `Ref`, `RefList`, `Xref` — references
|
|
50
|
+
- `TermSec`, `TermDisplay` — terminology
|
|
51
|
+
- `Permissions` — after model fix
|
|
52
|
+
|
|
53
|
+
### 2. Schema Validation Tests
|
|
54
|
+
|
|
55
|
+
```ruby
|
|
56
|
+
# spec/schema_validation_spec.rb
|
|
57
|
+
RSpec.describe "Schema compliance" do
|
|
58
|
+
context "NISO STS 1.0" do
|
|
59
|
+
it "validates against NISO STS Extended XSD"
|
|
60
|
+
it "validates against NISO STS Interchange XSD"
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
context "ISOSTS v1.1" do
|
|
64
|
+
it "validates against ISOSTS DTD"
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
context "NISO STS 1.2" do
|
|
68
|
+
it "validates against NISO STS 1.2 XSD"
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### 3. Version-Specific Tests (After TODO 04)
|
|
74
|
+
|
|
75
|
+
```ruby
|
|
76
|
+
# spec/versioning/register_spec.rb
|
|
77
|
+
RSpec.describe "Schema versioning" do
|
|
78
|
+
it "loads ISOSTS v1.1 register independently"
|
|
79
|
+
it "loads NISO STS 1.0 register independently"
|
|
80
|
+
it "loads NISO STS 1.2 register independently"
|
|
81
|
+
it "prevents cross-register contamination"
|
|
82
|
+
end
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### 4. Profile Validation Tests (After TODO 08)
|
|
86
|
+
|
|
87
|
+
```ruby
|
|
88
|
+
# spec/profiles/iso_iec_validator_spec.rb
|
|
89
|
+
RSpec.describe Sts::Profiles::IsoIec::Validator do
|
|
90
|
+
it "rejects document without <front>"
|
|
91
|
+
it "accepts valid ISO document"
|
|
92
|
+
it "validates ID scheme conventions"
|
|
93
|
+
it "validates metadata requirements"
|
|
94
|
+
end
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### 5. Anti-Pattern Regression Tests
|
|
98
|
+
|
|
99
|
+
```ruby
|
|
100
|
+
# spec/anti_patterns_spec.rb
|
|
101
|
+
RSpec.describe "No anti-patterns in codebase" do
|
|
102
|
+
it "contains no method_missing definitions"
|
|
103
|
+
it "contains no respond_to_missing definitions"
|
|
104
|
+
it "contains no send calls"
|
|
105
|
+
it "contains no Object.const_get calls"
|
|
106
|
+
end
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### 6. Performance Tests
|
|
110
|
+
|
|
111
|
+
```ruby
|
|
112
|
+
# spec/performance_spec.rb
|
|
113
|
+
RSpec.describe "Performance" do
|
|
114
|
+
it "parses large document within time budget"
|
|
115
|
+
it "serialization doesn't regress from baseline"
|
|
116
|
+
end
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Test Fixtures Needed
|
|
120
|
+
|
|
121
|
+
| Fixture | Purpose | Priority |
|
|
122
|
+
|---------|---------|----------|
|
|
123
|
+
| Simple standard (minimal) | Basic round-trip | HIGH |
|
|
124
|
+
| IEC standard with license | Permissions testing | HIGH |
|
|
125
|
+
| Document with index | Index hierarchy | HIGH |
|
|
126
|
+
| Document with TOC | TOC hierarchy | HIGH |
|
|
127
|
+
| Document with code blocks | Code element testing | HIGH |
|
|
128
|
+
| Document with MathML | Formula testing | MEDIUM |
|
|
129
|
+
| Document with TBX | Terminology testing | MEDIUM |
|
|
130
|
+
| Document with OASIS tables | CALS table testing | LOW |
|
|
131
|
+
| Multi-language document | xml:lang testing | MEDIUM |
|
|
132
|
+
| Amendment/corrigendum | Amendment structure | MEDIUM |
|
|
133
|
+
| National adoption | std-doc-meta testing | LOW |
|
|
134
|
+
|
|
135
|
+
## Coverage Metrics
|
|
136
|
+
|
|
137
|
+
Track coverage with:
|
|
138
|
+
```bash
|
|
139
|
+
COVERAGE=true bundle exec rspec
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Target: >80% line coverage for `lib/sts/`
|
|
143
|
+
|
|
144
|
+
## Dependencies
|
|
145
|
+
|
|
146
|
+
All other TODOs feed into this — add tests as features are implemented.
|
|
147
|
+
|
|
148
|
+
## TODO Checklist
|
|
149
|
+
|
|
150
|
+
- [x] Add anti-pattern regression test
|
|
151
|
+
- [x] Add unit tests for structural elements (Standard, Front, Body, Back)
|
|
152
|
+
- [x] Add unit tests for Section and Paragraph
|
|
153
|
+
- [x] Add unit tests for Fig, TableWrap, Graphic
|
|
154
|
+
- [x] Add unit tests for Ref, RefList, Xref
|
|
155
|
+
- [x] Add unit tests for TermSec, TermDisplay
|
|
156
|
+
- [x] Add unit tests for Permissions (after model fix)
|
|
157
|
+
- [x] Add unit tests for new elements (ProcessingMeta, Code, Legend, InlineMedia, TableWrapGroup, DefHead)
|
|
158
|
+
- [x] Add unit tests for attribute additions (Title, Caption, Label, ExtLink, AwardId, DefItem)
|
|
159
|
+
- [x] Add unit tests for Index and TOC hierarchy elements
|
|
160
|
+
- [ ] Add schema validation tests
|
|
161
|
+
- [ ] Add versioning tests (after TODO 04)
|
|
162
|
+
- [x] Add profile validation tests (after TODO 08)
|
|
163
|
+
- [x] Set up coverage tracking
|
|
164
|
+
- [x] Achieve >80% line coverage target (achieved 99.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/app.rb
CHANGED
|
@@ -16,10 +16,24 @@ module Sts
|
|
|
16
16
|
attribute :fn_group, ::Sts::IsoSts::FnGroup, collection: true
|
|
17
17
|
attribute :ref_list, ::Sts::IsoSts::RefList, collection: true
|
|
18
18
|
attribute :permissions, ::Sts::NisoSts::Permissions
|
|
19
|
-
attribute :non_normative_note, ::Sts::IsoSts::NonNormativeNote
|
|
19
|
+
attribute :non_normative_note, ::Sts::IsoSts::NonNormativeNote,
|
|
20
|
+
collection: true
|
|
21
|
+
attribute :non_normative_example, ::Sts::IsoSts::NonNormativeExample,
|
|
22
|
+
collection: true
|
|
23
|
+
attribute :table_wrap, ::Sts::TbxIsoTml::TableWrap, collection: true
|
|
24
|
+
attribute :list, ::Sts::IsoSts::List, collection: true
|
|
25
|
+
attribute :def_list, ::Sts::IsoSts::DefList, collection: true
|
|
26
|
+
attribute :fig, ::Sts::IsoSts::Fig, collection: true
|
|
27
|
+
attribute :array, ::Sts::IsoSts::Array, collection: true
|
|
28
|
+
attribute :graphic, ::Sts::IsoSts::Graphic, collection: true
|
|
29
|
+
attribute :preformat, ::Sts::IsoSts::Preformat, collection: true
|
|
30
|
+
attribute :styled_content, ::Sts::IsoSts::StyledContent, collection: true
|
|
31
|
+
attribute :disp_formula, ::Sts::IsoSts::DispFormula, collection: true
|
|
32
|
+
attribute :inline_formula, ::Sts::IsoSts::InlineFormula, collection: true
|
|
20
33
|
|
|
21
34
|
xml do
|
|
22
35
|
element "app"
|
|
36
|
+
ordered
|
|
23
37
|
|
|
24
38
|
map_attribute "id", to: :id
|
|
25
39
|
map_attribute "content-type", to: :content_type
|
|
@@ -36,6 +50,17 @@ module Sts
|
|
|
36
50
|
map_element "ref-list", to: :ref_list
|
|
37
51
|
map_element "permissions", to: :permissions
|
|
38
52
|
map_element "non-normative-note", to: :non_normative_note
|
|
53
|
+
map_element "non-normative-example", to: :non_normative_example
|
|
54
|
+
map_element "table-wrap", to: :table_wrap
|
|
55
|
+
map_element "list", to: :list
|
|
56
|
+
map_element "def-list", to: :def_list
|
|
57
|
+
map_element "fig", to: :fig
|
|
58
|
+
map_element "array", to: :array
|
|
59
|
+
map_element "graphic", to: :graphic
|
|
60
|
+
map_element "preformat", to: :preformat
|
|
61
|
+
map_element "styled-content", to: :styled_content
|
|
62
|
+
map_element "disp-formula", to: :disp_formula
|
|
63
|
+
map_element "inline-formula", to: :inline_formula
|
|
39
64
|
end
|
|
40
65
|
end
|
|
41
66
|
end
|
data/lib/sts/iso_sts/array.rb
CHANGED
data/lib/sts/iso_sts/back.rb
CHANGED
data/lib/sts/iso_sts/body.rb
CHANGED
|
@@ -22,9 +22,12 @@ module Sts
|
|
|
22
22
|
attribute :array, ::Sts::IsoSts::Array, collection: true
|
|
23
23
|
attribute :ref_list, ::Sts::IsoSts::RefList, collection: true
|
|
24
24
|
attribute :disp_quote, ::Sts::NisoSts::DispQuote, collection: true
|
|
25
|
+
attribute :editing_instruction, ::Sts::NisoSts::EditingInstruction,
|
|
26
|
+
collection: true
|
|
25
27
|
|
|
26
28
|
xml do
|
|
27
29
|
element "body"
|
|
30
|
+
ordered
|
|
28
31
|
|
|
29
32
|
map_attribute "id", to: :id
|
|
30
33
|
map_attribute "content-type", to: :content_type
|
|
@@ -44,6 +47,7 @@ module Sts
|
|
|
44
47
|
map_element "array", to: :array
|
|
45
48
|
map_element "ref-list", to: :ref_list
|
|
46
49
|
map_element "disp-quote", to: :disp_quote
|
|
50
|
+
map_element "editing-instruction", to: :editing_instruction
|
|
47
51
|
end
|
|
48
52
|
end
|
|
49
53
|
end
|
data/lib/sts/iso_sts/bold.rb
CHANGED
|
@@ -6,17 +6,23 @@ module Sts
|
|
|
6
6
|
attribute :id, :string
|
|
7
7
|
attribute :specific_use, :string
|
|
8
8
|
attribute :content, :string, collection: true
|
|
9
|
-
attribute :bold, ::Sts::IsoSts::Bold
|
|
10
|
-
attribute :italic, ::Sts::IsoSts::Italic
|
|
11
|
-
attribute :sub, ::Sts::
|
|
12
|
-
attribute :sup, ::Sts::
|
|
13
|
-
attribute :xref, ::Sts::TbxIsoTml::Xref
|
|
14
|
-
attribute :ext_link, ::Sts::
|
|
15
|
-
attribute :uri, ::Sts::
|
|
16
|
-
attribute :inline_formula, ::Sts::IsoSts::InlineFormula
|
|
17
|
-
attribute :named_content, ::Sts::
|
|
18
|
-
attribute :styled_content, ::Sts::IsoSts::StyledContent
|
|
19
|
-
attribute :break, ::Sts::IsoSts::Break
|
|
9
|
+
attribute :bold, ::Sts::IsoSts::Bold, collection: true
|
|
10
|
+
attribute :italic, ::Sts::IsoSts::Italic, collection: true
|
|
11
|
+
attribute :sub, ::Sts::IsoSts::Sub, collection: true
|
|
12
|
+
attribute :sup, ::Sts::IsoSts::Sup, collection: true
|
|
13
|
+
attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
|
|
14
|
+
attribute :ext_link, ::Sts::IsoSts::ExtLink, collection: true
|
|
15
|
+
attribute :uri, ::Sts::IsoSts::Uri, collection: true
|
|
16
|
+
attribute :inline_formula, ::Sts::IsoSts::InlineFormula, collection: true
|
|
17
|
+
attribute :named_content, ::Sts::IsoSts::NamedContent, collection: true
|
|
18
|
+
attribute :styled_content, ::Sts::IsoSts::StyledContent, collection: true
|
|
19
|
+
attribute :break, ::Sts::IsoSts::Break, collection: true
|
|
20
|
+
attribute :std_ref, ::Sts::IsoSts::StdRef, collection: true
|
|
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
|
+
attribute :fn, ::Sts::TbxIsoTml::Fn, collection: true
|
|
20
26
|
|
|
21
27
|
xml do
|
|
22
28
|
element "bold"
|
|
@@ -38,6 +44,12 @@ module Sts
|
|
|
38
44
|
map_element "named-content", to: :named_content
|
|
39
45
|
map_element "styled-content", to: :styled_content
|
|
40
46
|
map_element "break", to: :break
|
|
47
|
+
map_element "std-ref", to: :std_ref
|
|
48
|
+
map_element "monospace", to: :monospace
|
|
49
|
+
map_element "sc", to: :sc
|
|
50
|
+
map_element "strike", to: :strike
|
|
51
|
+
map_element "underline", to: :underline
|
|
52
|
+
map_element "fn", to: :fn
|
|
41
53
|
end
|
|
42
54
|
end
|
|
43
55
|
end
|
data/lib/sts/iso_sts/break.rb
CHANGED
data/lib/sts/iso_sts/caption.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/def.rb
CHANGED
data/lib/sts/iso_sts/def_item.rb
CHANGED
data/lib/sts/iso_sts/def_list.rb
CHANGED
|
@@ -9,13 +9,15 @@ module Sts
|
|
|
9
9
|
attribute :xml_lang, :string
|
|
10
10
|
attribute :originator, :string
|
|
11
11
|
attribute :label, ::Sts::IsoSts::Label
|
|
12
|
-
attribute :math, ::
|
|
12
|
+
attribute :math, Mml::V3::Math
|
|
13
13
|
attribute :bold, ::Sts::IsoSts::Bold
|
|
14
14
|
attribute :italic, ::Sts::IsoSts::Italic
|
|
15
15
|
attribute :non_normative_note, ::Sts::IsoSts::NonNormativeNote
|
|
16
16
|
attribute :non_normative_example, ::Sts::IsoSts::NonNormativeExample
|
|
17
17
|
attribute :styled_content, ::Sts::IsoSts::StyledContent
|
|
18
18
|
attribute :preformat, ::Sts::IsoSts::Preformat
|
|
19
|
+
attribute :graphic, ::Sts::IsoSts::Graphic, collection: true
|
|
20
|
+
attribute :tex_math, ::Sts::NisoSts::TexMath
|
|
19
21
|
|
|
20
22
|
xml do
|
|
21
23
|
element "disp-formula"
|
|
@@ -34,6 +36,8 @@ module Sts
|
|
|
34
36
|
map_element "non-normative-example", to: :non_normative_example
|
|
35
37
|
map_element "styled-content", to: :styled_content
|
|
36
38
|
map_element "preformat", to: :preformat
|
|
39
|
+
map_element "graphic", to: :graphic
|
|
40
|
+
map_element "tex-math", to: :tex_math
|
|
37
41
|
end
|
|
38
42
|
end
|
|
39
43
|
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,8 @@ module Sts
|
|
|
11
12
|
|
|
12
13
|
xml do
|
|
13
14
|
element "doc-ident"
|
|
15
|
+
map_attribute "id", to: :id
|
|
16
|
+
ordered
|
|
14
17
|
|
|
15
18
|
map_element "sdo", to: :sdo
|
|
16
19
|
map_element "proj-id", to: :proj_id
|