pubid 1.15.18 → 2.0.0.pre.alpha.1

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.
Files changed (601) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +1 -1
  3. data/README.adoc +2041 -53
  4. data/archived-gems/pubid-ccsds/update_codes.yaml +1 -0
  5. data/archived-gems/pubid-iec/stages.yaml +129 -0
  6. data/archived-gems/pubid-iec/update_codes.yaml +67 -0
  7. data/archived-gems/pubid-ieee/update_codes.yaml +104 -0
  8. data/archived-gems/pubid-iso/stages.yaml +106 -0
  9. data/archived-gems/pubid-iso/update_codes.yaml +4 -0
  10. data/archived-gems/pubid-itu/i18n.yaml +13 -0
  11. data/archived-gems/pubid-itu/series.yaml +42 -0
  12. data/archived-gems/pubid-nist/publishers.yaml +6 -0
  13. data/archived-gems/pubid-nist/series.yaml +121 -0
  14. data/archived-gems/pubid-nist/stages.yaml +16 -0
  15. data/archived-gems/pubid-nist/update_codes.yaml +93 -0
  16. data/archived-gems/pubid-plateau/update_codes.yaml +6 -0
  17. data/data/ccsds/update_codes.yaml +1 -0
  18. data/data/iec/update_codes.yaml +67 -0
  19. data/data/ieee/update_codes.yaml +104 -0
  20. data/data/iso/update_codes.yaml +21 -0
  21. data/data/nist/update_codes.yaml +87 -0
  22. data/data/plateau/update_codes.yaml +6 -0
  23. data/lib/pubid/amca/builder.rb +176 -0
  24. data/lib/pubid/amca/identifier.rb +18 -0
  25. data/lib/pubid/amca/identifiers/base.rb +64 -0
  26. data/lib/pubid/amca/identifiers/interpretation.rb +51 -0
  27. data/lib/pubid/amca/identifiers/publication.rb +47 -0
  28. data/lib/pubid/amca/identifiers/standard.rb +22 -0
  29. data/lib/pubid/amca/identifiers.rb +12 -0
  30. data/lib/pubid/amca/parser.rb +153 -0
  31. data/lib/pubid/amca/scheme.rb +16 -0
  32. data/lib/pubid/amca/single_identifier.rb +33 -0
  33. data/lib/pubid/amca/urn_generator.rb +50 -0
  34. data/lib/pubid/amca.rb +26 -0
  35. data/lib/pubid/ansi/builder.rb +52 -0
  36. data/lib/pubid/ansi/identifier.rb +13 -0
  37. data/lib/pubid/ansi/identifiers/american_national_standard.rb +12 -0
  38. data/lib/pubid/ansi/identifiers/standard.rb +16 -0
  39. data/lib/pubid/ansi/identifiers.rb +11 -0
  40. data/lib/pubid/ansi/parser.rb +91 -0
  41. data/lib/pubid/ansi/scheme.rb +15 -0
  42. data/lib/pubid/ansi/single_identifier.rb +45 -0
  43. data/lib/pubid/ansi/urn_generator.rb +76 -0
  44. data/lib/pubid/ansi.rb +27 -0
  45. data/lib/pubid/api/builder.rb +85 -0
  46. data/lib/pubid/api/components/code.rb +9 -0
  47. data/lib/pubid/api/identifier.rb +21 -0
  48. data/lib/pubid/api/identifiers/base.rb +24 -0
  49. data/lib/pubid/api/identifiers/bulletin.rb +15 -0
  50. data/lib/pubid/api/identifiers/continuous_operations_standard.rb +15 -0
  51. data/lib/pubid/api/identifiers/mpms.rb +44 -0
  52. data/lib/pubid/api/identifiers/publication.rb +15 -0
  53. data/lib/pubid/api/identifiers/recommended_practice.rb +15 -0
  54. data/lib/pubid/api/identifiers/specification.rb +15 -0
  55. data/lib/pubid/api/identifiers/standard.rb +15 -0
  56. data/lib/pubid/api/identifiers/technical_report.rb +15 -0
  57. data/lib/pubid/api/identifiers/typeless_standard.rb +27 -0
  58. data/lib/pubid/api/parser.rb +140 -0
  59. data/lib/pubid/api/scheme.rb +66 -0
  60. data/lib/pubid/api/single_identifier.rb +46 -0
  61. data/lib/pubid/api/urn_generator.rb +41 -0
  62. data/lib/pubid/api.rb +17 -0
  63. data/lib/pubid/ashrae/builder.rb +498 -0
  64. data/lib/pubid/ashrae/identifier.rb +18 -0
  65. data/lib/pubid/ashrae/identifiers/addenda_package.rb +46 -0
  66. data/lib/pubid/ashrae/identifiers/addendum.rb +55 -0
  67. data/lib/pubid/ashrae/identifiers/base.rb +23 -0
  68. data/lib/pubid/ashrae/identifiers/combined_addenda.rb +51 -0
  69. data/lib/pubid/ashrae/identifiers/errata.rb +40 -0
  70. data/lib/pubid/ashrae/identifiers/guideline.rb +38 -0
  71. data/lib/pubid/ashrae/identifiers/interpretation.rb +39 -0
  72. data/lib/pubid/ashrae/identifiers/standard.rb +38 -0
  73. data/lib/pubid/ashrae/identifiers.rb +16 -0
  74. data/lib/pubid/ashrae/parser.rb +724 -0
  75. data/lib/pubid/ashrae/scheme.rb +53 -0
  76. data/lib/pubid/ashrae/single_identifier.rb +23 -0
  77. data/lib/pubid/ashrae/supplement_identifier.rb +23 -0
  78. data/lib/pubid/ashrae/urn_generator.rb +59 -0
  79. data/lib/pubid/ashrae.rb +21 -0
  80. data/lib/pubid/asme/builder.rb +153 -0
  81. data/lib/pubid/asme/components/code.rb +18 -0
  82. data/lib/pubid/asme/identifier.rb +15 -0
  83. data/lib/pubid/asme/identifiers/base.rb +70 -0
  84. data/lib/pubid/asme/identifiers/standard.rb +12 -0
  85. data/lib/pubid/asme/identifiers.rb +10 -0
  86. data/lib/pubid/asme/parser.rb +308 -0
  87. data/lib/pubid/asme/scheme.rb +37 -0
  88. data/lib/pubid/asme/single_identifier.rb +29 -0
  89. data/lib/pubid/asme/urn_generator.rb +133 -0
  90. data/lib/pubid/asme.rb +21 -0
  91. data/lib/pubid/astm/builder.rb +159 -0
  92. data/lib/pubid/astm/components/code.rb +33 -0
  93. data/lib/pubid/astm/identifier.rb +15 -0
  94. data/lib/pubid/astm/identifiers/adjunct.rb +21 -0
  95. data/lib/pubid/astm/identifiers/base.rb +13 -0
  96. data/lib/pubid/astm/identifiers/data_series.rb +25 -0
  97. data/lib/pubid/astm/identifiers/iso_dual_published.rb +74 -0
  98. data/lib/pubid/astm/identifiers/manual.rb +40 -0
  99. data/lib/pubid/astm/identifiers/monograph.rb +25 -0
  100. data/lib/pubid/astm/identifiers/research_report.rb +18 -0
  101. data/lib/pubid/astm/identifiers/standard.rb +52 -0
  102. data/lib/pubid/astm/identifiers/technical_report.rb +23 -0
  103. data/lib/pubid/astm/identifiers/work_in_progress.rb +21 -0
  104. data/lib/pubid/astm/parser.rb +244 -0
  105. data/lib/pubid/astm/scheme.rb +55 -0
  106. data/lib/pubid/astm/single_identifier.rb +25 -0
  107. data/lib/pubid/astm/urn_generator.rb +99 -0
  108. data/lib/pubid/astm.rb +38 -0
  109. data/lib/pubid/bsi/builder.rb +1483 -0
  110. data/lib/pubid/bsi/components/code.rb +11 -0
  111. data/lib/pubid/bsi/components/date.rb +11 -0
  112. data/lib/pubid/bsi/components/publisher.rb +11 -0
  113. data/lib/pubid/bsi/components/type.rb +11 -0
  114. data/lib/pubid/bsi/identifier.rb +27 -0
  115. data/lib/pubid/bsi/identifiers/addendum_document.rb +64 -0
  116. data/lib/pubid/bsi/identifiers/adopted_european_norm.rb +95 -0
  117. data/lib/pubid/bsi/identifiers/adopted_international_standard.rb +82 -0
  118. data/lib/pubid/bsi/identifiers/aerospace_standard.rb +118 -0
  119. data/lib/pubid/bsi/identifiers/amendment.rb +40 -0
  120. data/lib/pubid/bsi/identifiers/base.rb +11 -0
  121. data/lib/pubid/bsi/identifiers/british_industrial_practice.rb +27 -0
  122. data/lib/pubid/bsi/identifiers/british_standard.rb +33 -0
  123. data/lib/pubid/bsi/identifiers/bundled_identifier.rb +114 -0
  124. data/lib/pubid/bsi/identifiers/committee_document.rb +51 -0
  125. data/lib/pubid/bsi/identifiers/consolidated_identifier.rb +152 -0
  126. data/lib/pubid/bsi/identifiers/corrigendum.rb +28 -0
  127. data/lib/pubid/bsi/identifiers/detailed_specification.rb +69 -0
  128. data/lib/pubid/bsi/identifiers/disc.rb +56 -0
  129. data/lib/pubid/bsi/identifiers/draft_document.rb +71 -0
  130. data/lib/pubid/bsi/identifiers/electronic_book.rb +52 -0
  131. data/lib/pubid/bsi/identifiers/expert_commentary.rb +47 -0
  132. data/lib/pubid/bsi/identifiers/explanatory_supplement.rb +82 -0
  133. data/lib/pubid/bsi/identifiers/flex.rb +61 -0
  134. data/lib/pubid/bsi/identifiers/handbook.rb +39 -0
  135. data/lib/pubid/bsi/identifiers/index.rb +62 -0
  136. data/lib/pubid/bsi/identifiers/method.rb +76 -0
  137. data/lib/pubid/bsi/identifiers/national_annex.rb +73 -0
  138. data/lib/pubid/bsi/identifiers/practice_guide.rb +27 -0
  139. data/lib/pubid/bsi/identifiers/publicly_available_specification.rb +79 -0
  140. data/lib/pubid/bsi/identifiers/published_document.rb +79 -0
  141. data/lib/pubid/bsi/identifiers/section.rb +62 -0
  142. data/lib/pubid/bsi/identifiers/set.rb +46 -0
  143. data/lib/pubid/bsi/identifiers/standalone_amendment.rb +40 -0
  144. data/lib/pubid/bsi/identifiers/supplement_document.rb +51 -0
  145. data/lib/pubid/bsi/identifiers/supplementary_index.rb +81 -0
  146. data/lib/pubid/bsi/identifiers/technical_specification.rb +79 -0
  147. data/lib/pubid/bsi/identifiers/test_method.rb +67 -0
  148. data/lib/pubid/bsi/identifiers/value_added_publication.rb +52 -0
  149. data/lib/pubid/bsi/identifiers.rb +52 -0
  150. data/lib/pubid/bsi/model.rb +196 -0
  151. data/lib/pubid/bsi/parser.rb +659 -0
  152. data/lib/pubid/bsi/scheme.rb +243 -0
  153. data/lib/pubid/bsi/single_identifier.rb +129 -0
  154. data/lib/pubid/bsi/urn_generator.rb +84 -0
  155. data/lib/pubid/bsi.rb +32 -0
  156. data/lib/pubid/builder/base.rb +138 -0
  157. data/lib/pubid/bundled_identifier.rb +126 -0
  158. data/lib/pubid/ccsds/builder.rb +56 -0
  159. data/lib/pubid/ccsds/identifier.rb +16 -0
  160. data/lib/pubid/ccsds/identifiers/base.rb +78 -0
  161. data/lib/pubid/ccsds/identifiers/base_BASE_88929.rb +70 -0
  162. data/lib/pubid/ccsds/identifiers/corrigendum.rb +39 -0
  163. data/lib/pubid/ccsds/identifiers.rb +10 -0
  164. data/lib/pubid/ccsds/parser.rb +71 -0
  165. data/lib/pubid/ccsds/scheme.rb +57 -0
  166. data/lib/pubid/ccsds/single_identifier.rb +74 -0
  167. data/lib/pubid/ccsds/supplement_identifier.rb +33 -0
  168. data/lib/pubid/ccsds/urn_generator.rb +115 -0
  169. data/lib/pubid/ccsds.rb +21 -0
  170. data/lib/pubid/cen_cenelec/builder.rb +330 -0
  171. data/lib/pubid/cen_cenelec/identifier.rb +15 -0
  172. data/lib/pubid/cen_cenelec/identifiers/adopted_european_norm.rb +40 -0
  173. data/lib/pubid/cen_cenelec/identifiers/amendment.rb +29 -0
  174. data/lib/pubid/cen_cenelec/identifiers/base.rb +75 -0
  175. data/lib/pubid/cen_cenelec/identifiers/cen_report.rb +28 -0
  176. data/lib/pubid/cen_cenelec/identifiers/cen_workshop_agreement.rb +27 -0
  177. data/lib/pubid/cen_cenelec/identifiers/cenelec_harmonization_document.rb +28 -0
  178. data/lib/pubid/cen_cenelec/identifiers/consolidated_identifier.rb +61 -0
  179. data/lib/pubid/cen_cenelec/identifiers/corrigendum.rb +35 -0
  180. data/lib/pubid/cen_cenelec/identifiers/european_norm.rb +41 -0
  181. data/lib/pubid/cen_cenelec/identifiers/european_prestandard.rb +37 -0
  182. data/lib/pubid/cen_cenelec/identifiers/european_specification.rb +28 -0
  183. data/lib/pubid/cen_cenelec/identifiers/fragment.rb +22 -0
  184. data/lib/pubid/cen_cenelec/identifiers/guide.rb +27 -0
  185. data/lib/pubid/cen_cenelec/identifiers/harmonization_document.rb +27 -0
  186. data/lib/pubid/cen_cenelec/identifiers/technical_report.rb +27 -0
  187. data/lib/pubid/cen_cenelec/identifiers/technical_specification.rb +35 -0
  188. data/lib/pubid/cen_cenelec/identifiers.rb +32 -0
  189. data/lib/pubid/cen_cenelec/parser.rb +144 -0
  190. data/lib/pubid/cen_cenelec/scheme.rb +164 -0
  191. data/lib/pubid/cen_cenelec/single_identifier.rb +130 -0
  192. data/lib/pubid/cen_cenelec/supplement_identifier.rb +48 -0
  193. data/lib/pubid/cen_cenelec/urn_generator.rb +129 -0
  194. data/lib/pubid/cen_cenelec.rb +21 -0
  195. data/lib/pubid/cie/builder.rb +399 -0
  196. data/lib/pubid/cie/components/code.rb +72 -0
  197. data/lib/pubid/cie/components/language.rb +58 -0
  198. data/lib/pubid/cie/identifier.rb +18 -0
  199. data/lib/pubid/cie/identifiers/bundle.rb +20 -0
  200. data/lib/pubid/cie/identifiers/conference.rb +32 -0
  201. data/lib/pubid/cie/identifiers/corrigendum.rb +40 -0
  202. data/lib/pubid/cie/identifiers/dual_published.rb +41 -0
  203. data/lib/pubid/cie/identifiers/identical.rb +64 -0
  204. data/lib/pubid/cie/identifiers/joint_published.rb +52 -0
  205. data/lib/pubid/cie/identifiers/standard.rb +58 -0
  206. data/lib/pubid/cie/identifiers/supplement.rb +45 -0
  207. data/lib/pubid/cie/identifiers/tutorial_bundle.rb +20 -0
  208. data/lib/pubid/cie/identifiers.rb +17 -0
  209. data/lib/pubid/cie/parser.rb +347 -0
  210. data/lib/pubid/cie/scheme.rb +64 -0
  211. data/lib/pubid/cie/single_identifier.rb +30 -0
  212. data/lib/pubid/cie/supplement_identifier.rb +26 -0
  213. data/lib/pubid/cie/urn_generator.rb +123 -0
  214. data/lib/pubid/cie.rb +28 -0
  215. data/lib/pubid/components/code.rb +33 -0
  216. data/lib/pubid/components/date.rb +49 -0
  217. data/lib/pubid/components/edition.rb +32 -0
  218. data/lib/pubid/components/language.rb +37 -0
  219. data/lib/pubid/components/locality.rb +10 -0
  220. data/lib/pubid/components/publisher.rb +36 -0
  221. data/lib/pubid/components/stage.rb +54 -0
  222. data/lib/pubid/components/type.rb +58 -0
  223. data/lib/pubid/components/typed_stage.rb +55 -0
  224. data/lib/pubid/components.rb +15 -0
  225. data/lib/pubid/core/pattern_doc_generator.rb +272 -0
  226. data/lib/pubid/core/update_codes.rb +77 -0
  227. data/lib/pubid/core.rb +8 -0
  228. data/lib/pubid/csa/builder.rb +671 -0
  229. data/lib/pubid/csa/components/code.rb +9 -0
  230. data/lib/pubid/csa/components.rb +9 -0
  231. data/lib/pubid/csa/composite_identifier.rb +27 -0
  232. data/lib/pubid/csa/identifier.rb +457 -0
  233. data/lib/pubid/csa/identifiers/base.rb +133 -0
  234. data/lib/pubid/csa/identifiers/bundled.rb +125 -0
  235. data/lib/pubid/csa/identifiers/canadian_adopted.rb +82 -0
  236. data/lib/pubid/csa/identifiers/cec.rb +129 -0
  237. data/lib/pubid/csa/identifiers/combined.rb +130 -0
  238. data/lib/pubid/csa/identifiers/csa_adopted.rb +78 -0
  239. data/lib/pubid/csa/identifiers/package.rb +65 -0
  240. data/lib/pubid/csa/identifiers/series.rb +127 -0
  241. data/lib/pubid/csa/identifiers/standard.rb +10 -0
  242. data/lib/pubid/csa/identifiers.rb +17 -0
  243. data/lib/pubid/csa/parser.rb +445 -0
  244. data/lib/pubid/csa/scheme.rb +44 -0
  245. data/lib/pubid/csa/single_identifier.rb +30 -0
  246. data/lib/pubid/csa/urn_generator.rb +80 -0
  247. data/lib/pubid/csa/wrapper_identifier.rb +31 -0
  248. data/lib/pubid/csa.rb +25 -0
  249. data/lib/pubid/etsi/builder.rb +133 -0
  250. data/lib/pubid/etsi/components/code.rb +42 -0
  251. data/lib/pubid/etsi/components/version.rb +37 -0
  252. data/lib/pubid/etsi/components.rb +10 -0
  253. data/lib/pubid/etsi/identifier.rb +14 -0
  254. data/lib/pubid/etsi/identifiers/amendment.rb +15 -0
  255. data/lib/pubid/etsi/identifiers/base.rb +38 -0
  256. data/lib/pubid/etsi/identifiers/corrigendum.rb +15 -0
  257. data/lib/pubid/etsi/identifiers/etsi_standard.rb +19 -0
  258. data/lib/pubid/etsi/identifiers/supplement_identifier.rb +91 -0
  259. data/lib/pubid/etsi/identifiers.rb +14 -0
  260. data/lib/pubid/etsi/parser.rb +133 -0
  261. data/lib/pubid/etsi/scheme.rb +42 -0
  262. data/lib/pubid/etsi/urn_generator.rb +76 -0
  263. data/lib/pubid/etsi.rb +21 -0
  264. data/lib/pubid/export/auditor.rb +89 -0
  265. data/lib/pubid/export/data_class_exporter.rb +59 -0
  266. data/lib/pubid/export/exporter.rb +74 -0
  267. data/lib/pubid/export/flavor_exporter.rb +402 -0
  268. data/lib/pubid/export/ieee_exporter.rb +78 -0
  269. data/lib/pubid/export/itu_exporter.rb +66 -0
  270. data/lib/pubid/export/nist_exporter.rb +64 -0
  271. data/lib/pubid/export/registry_exporter.rb +90 -0
  272. data/lib/pubid/export/result.rb +97 -0
  273. data/lib/pubid/export/scheme_exporter.rb +70 -0
  274. data/lib/pubid/export.rb +18 -0
  275. data/lib/pubid/format_detector.rb +16 -0
  276. data/lib/pubid/format_registry.rb +42 -0
  277. data/lib/pubid/identifier.rb +235 -0
  278. data/lib/pubid/identifier_metadata.rb +148 -0
  279. data/lib/pubid/identifier_registry.rb +198 -0
  280. data/lib/pubid/idf/builder.rb +82 -0
  281. data/lib/pubid/idf/identifier.rb +69 -0
  282. data/lib/pubid/idf/identifiers/amendment.rb +27 -0
  283. data/lib/pubid/idf/identifiers/corrigendum.rb +27 -0
  284. data/lib/pubid/idf/identifiers/international_standard.rb +123 -0
  285. data/lib/pubid/idf/identifiers/reviewed_method.rb +100 -0
  286. data/lib/pubid/idf/identifiers.rb +13 -0
  287. data/lib/pubid/idf/parser.rb +143 -0
  288. data/lib/pubid/idf/scheme.rb +61 -0
  289. data/lib/pubid/idf/single_identifier.rb +19 -0
  290. data/lib/pubid/idf/supplement_identifier.rb +43 -0
  291. data/lib/pubid/idf/urn_generator.rb +84 -0
  292. data/lib/pubid/idf.rb +25 -0
  293. data/lib/pubid/iec/builder.rb +457 -0
  294. data/lib/pubid/iec/components/code.rb +59 -0
  295. data/lib/pubid/iec/components/consolidated_amendment.rb +59 -0
  296. data/lib/pubid/iec/components/publisher.rb +35 -0
  297. data/lib/pubid/iec/components/sheet.rb +32 -0
  298. data/lib/pubid/iec/components/trf_info.rb +38 -0
  299. data/lib/pubid/iec/components/vap_suffix.rb +41 -0
  300. data/lib/pubid/iec/identifier.rb +21 -0
  301. data/lib/pubid/iec/identifiers/amendment.rb +94 -0
  302. data/lib/pubid/iec/identifiers/base.rb +78 -0
  303. data/lib/pubid/iec/identifiers/component_specification.rb +39 -0
  304. data/lib/pubid/iec/identifiers/conformity_assessment.rb +39 -0
  305. data/lib/pubid/iec/identifiers/consolidated_identifier.rb +86 -0
  306. data/lib/pubid/iec/identifiers/corrigendum.rb +94 -0
  307. data/lib/pubid/iec/identifiers/fragment_identifier.rb +141 -0
  308. data/lib/pubid/iec/identifiers/guide.rb +104 -0
  309. data/lib/pubid/iec/identifiers/international_standard.rb +147 -0
  310. data/lib/pubid/iec/identifiers/interpretation_sheet.rb +104 -0
  311. data/lib/pubid/iec/identifiers/operational_document.rb +39 -0
  312. data/lib/pubid/iec/identifiers/publicly_available_specification.rb +101 -0
  313. data/lib/pubid/iec/identifiers/sheet_identifier.rb +66 -0
  314. data/lib/pubid/iec/identifiers/societal_technology_trend_report.rb +40 -0
  315. data/lib/pubid/iec/identifiers/systems_reference_document.rb +40 -0
  316. data/lib/pubid/iec/identifiers/technical_report.rb +132 -0
  317. data/lib/pubid/iec/identifiers/technical_specification.rb +132 -0
  318. data/lib/pubid/iec/identifiers/technology_report.rb +39 -0
  319. data/lib/pubid/iec/identifiers/test_report_form.rb +78 -0
  320. data/lib/pubid/iec/identifiers/vap_identifier.rb +77 -0
  321. data/lib/pubid/iec/identifiers/white_paper.rb +39 -0
  322. data/lib/pubid/iec/identifiers/working_document.rb +96 -0
  323. data/lib/pubid/iec/parser.rb +412 -0
  324. data/lib/pubid/iec/rendering_style.rb +113 -0
  325. data/lib/pubid/iec/scheme.rb +71 -0
  326. data/lib/pubid/iec/single_identifier.rb +80 -0
  327. data/lib/pubid/iec/supplement_identifier.rb +161 -0
  328. data/lib/pubid/iec/urn_generator.rb +193 -0
  329. data/lib/pubid/iec/urn_parser.rb +289 -0
  330. data/lib/pubid/iec.rb +85 -0
  331. data/lib/pubid/ieee/aiee/builder.rb +71 -0
  332. data/lib/pubid/ieee/aiee/identifier.rb +105 -0
  333. data/lib/pubid/ieee/aiee/parser.rb +130 -0
  334. data/lib/pubid/ieee/aiee.rb +11 -0
  335. data/lib/pubid/ieee/builder.rb +1237 -0
  336. data/lib/pubid/ieee/components/code.rb +102 -0
  337. data/lib/pubid/ieee/components/draft.rb +93 -0
  338. data/lib/pubid/ieee/components/relationship.rb +157 -0
  339. data/lib/pubid/ieee/components/typed_stage.rb +100 -0
  340. data/lib/pubid/ieee/identifier.rb +13 -0
  341. data/lib/pubid/ieee/identifiers/adopted_standard.rb +33 -0
  342. data/lib/pubid/ieee/identifiers/base.rb +591 -0
  343. data/lib/pubid/ieee/identifiers/conformance_identifier.rb +35 -0
  344. data/lib/pubid/ieee/identifiers/corrigendum.rb +37 -0
  345. data/lib/pubid/ieee/identifiers/csa_dual_published.rb +51 -0
  346. data/lib/pubid/ieee/identifiers/dual_identifier.rb +18 -0
  347. data/lib/pubid/ieee/identifiers/dual_published.rb +28 -0
  348. data/lib/pubid/ieee/identifiers/iec_ieee_copublished.rb +27 -0
  349. data/lib/pubid/ieee/identifiers/interpretation_identifier.rb +34 -0
  350. data/lib/pubid/ieee/identifiers/joint_development.rb +172 -0
  351. data/lib/pubid/ieee/identifiers/multi_numbered_identifier.rb +51 -0
  352. data/lib/pubid/ieee/identifiers/nesc/base.rb +56 -0
  353. data/lib/pubid/ieee/identifiers/nesc/draft.rb +28 -0
  354. data/lib/pubid/ieee/identifiers/nesc/handbook.rb +32 -0
  355. data/lib/pubid/ieee/identifiers/nesc/redline.rb +26 -0
  356. data/lib/pubid/ieee/identifiers/nesc/standard.rb +26 -0
  357. data/lib/pubid/ieee/identifiers/nesc.rb +15 -0
  358. data/lib/pubid/ieee/identifiers/parenthetical_identifier.rb +20 -0
  359. data/lib/pubid/ieee/identifiers/project_draft_identifier.rb +26 -0
  360. data/lib/pubid/ieee/identifiers/redlined_standard.rb +33 -0
  361. data/lib/pubid/ieee/identifiers/si_standard.rb +73 -0
  362. data/lib/pubid/ieee/identifiers/standard.rb +41 -0
  363. data/lib/pubid/ieee/identifiers/supplement_identifier.rb +23 -0
  364. data/lib/pubid/ieee/identifiers.rb +33 -0
  365. data/lib/pubid/ieee/ire/builder.rb +61 -0
  366. data/lib/pubid/ieee/ire/identifier.rb +58 -0
  367. data/lib/pubid/ieee/ire/parser.rb +91 -0
  368. data/lib/pubid/ieee/ire.rb +11 -0
  369. data/lib/pubid/ieee/nesc/builder.rb +101 -0
  370. data/lib/pubid/ieee/nesc/parser.rb +154 -0
  371. data/lib/pubid/ieee/nesc.rb +10 -0
  372. data/lib/pubid/ieee/parser.rb +1226 -0
  373. data/lib/pubid/ieee/scheme.rb +90 -0
  374. data/lib/pubid/ieee/typed_stages.rb +172 -0
  375. data/lib/pubid/ieee/urn_generator.rb +188 -0
  376. data/lib/pubid/ieee.rb +32 -0
  377. data/lib/pubid/ieee_debug.rb +31 -0
  378. data/lib/pubid/iho/builder.rb +37 -0
  379. data/lib/pubid/iho/identifier.rb +19 -0
  380. data/lib/pubid/iho/identifiers/base.rb +41 -0
  381. data/lib/pubid/iho/identifiers/bibliographic.rb +20 -0
  382. data/lib/pubid/iho/identifiers/circular_letter.rb +19 -0
  383. data/lib/pubid/iho/identifiers/miscellaneous.rb +20 -0
  384. data/lib/pubid/iho/identifiers/publication.rb +19 -0
  385. data/lib/pubid/iho/identifiers/standard.rb +19 -0
  386. data/lib/pubid/iho/identifiers.rb +14 -0
  387. data/lib/pubid/iho/parser.rb +68 -0
  388. data/lib/pubid/iho/scheme.rb +29 -0
  389. data/lib/pubid/iho/urn_generator.rb +29 -0
  390. data/lib/pubid/iho.rb +21 -0
  391. data/lib/pubid/iso/builder.rb +305 -0
  392. data/lib/pubid/iso/bundled_identifier.rb +85 -0
  393. data/lib/pubid/iso/combined_identifier.rb +22 -0
  394. data/lib/pubid/iso/components/code.rb +36 -0
  395. data/lib/pubid/iso/components/publisher.rb +60 -0
  396. data/lib/pubid/iso/components.rb +12 -0
  397. data/lib/pubid/iso/format_resolver.rb +45 -0
  398. data/lib/pubid/iso/identifier.rb +69 -0
  399. data/lib/pubid/iso/identifiers/addendum.rb +104 -0
  400. data/lib/pubid/iso/identifiers/amendment.rb +128 -0
  401. data/lib/pubid/iso/identifiers/base.rb +115 -0
  402. data/lib/pubid/iso/identifiers/corrigendum.rb +108 -0
  403. data/lib/pubid/iso/identifiers/data.rb +76 -0
  404. data/lib/pubid/iso/identifiers/directives.rb +59 -0
  405. data/lib/pubid/iso/identifiers/directives_supplement.rb +119 -0
  406. data/lib/pubid/iso/identifiers/extract.rb +30 -0
  407. data/lib/pubid/iso/identifiers/guide.rb +100 -0
  408. data/lib/pubid/iso/identifiers/international_standard.rb +168 -0
  409. data/lib/pubid/iso/identifiers/international_standardized_profile.rb +94 -0
  410. data/lib/pubid/iso/identifiers/international_workshop_agreement.rb +89 -0
  411. data/lib/pubid/iso/identifiers/pas.rb +93 -0
  412. data/lib/pubid/iso/identifiers/recommendation.rb +45 -0
  413. data/lib/pubid/iso/identifiers/supplement.rb +87 -0
  414. data/lib/pubid/iso/identifiers/tc_document.rb +108 -0
  415. data/lib/pubid/iso/identifiers/technical_report.rb +103 -0
  416. data/lib/pubid/iso/identifiers/technical_specification.rb +102 -0
  417. data/lib/pubid/iso/identifiers/technology_trends_assessments.rb +95 -0
  418. data/lib/pubid/iso/identifiers.rb +33 -0
  419. data/lib/pubid/iso/parser.rb +510 -0
  420. data/lib/pubid/iso/rendering_style.rb +120 -0
  421. data/lib/pubid/iso/scheme.rb +187 -0
  422. data/lib/pubid/iso/single_identifier.rb +61 -0
  423. data/lib/pubid/iso/supplement_identifier.rb +27 -0
  424. data/lib/pubid/iso/urn_generator.rb +412 -0
  425. data/lib/pubid/iso/urn_parser.rb +423 -0
  426. data/lib/pubid/iso/utilities.rb +86 -0
  427. data/lib/pubid/iso.rb +50 -0
  428. data/lib/pubid/itu/builder.rb +171 -0
  429. data/lib/pubid/itu/components/code.rb +39 -0
  430. data/lib/pubid/itu/components/sector.rb +35 -0
  431. data/lib/pubid/itu/components/series.rb +29 -0
  432. data/lib/pubid/itu/i18n.rb +9 -0
  433. data/lib/pubid/itu/i18n.yaml +30 -0
  434. data/lib/pubid/itu/identifier.rb +53 -0
  435. data/lib/pubid/itu/identifiers/amendment.rb +43 -0
  436. data/lib/pubid/itu/identifiers/annex.rb +74 -0
  437. data/lib/pubid/itu/identifiers/base.rb +154 -0
  438. data/lib/pubid/itu/identifiers/combined_identifier.rb +47 -0
  439. data/lib/pubid/itu/identifiers/corrigendum.rb +44 -0
  440. data/lib/pubid/itu/identifiers/recommendation.rb +16 -0
  441. data/lib/pubid/itu/identifiers/special_publication.rb +31 -0
  442. data/lib/pubid/itu/identifiers/supplement.rb +46 -0
  443. data/lib/pubid/itu/identifiers.rb +16 -0
  444. data/lib/pubid/itu/model.rb +111 -0
  445. data/lib/pubid/itu/parser.rb +225 -0
  446. data/lib/pubid/itu/scheme.rb +174 -0
  447. data/lib/pubid/itu/urn_generator.rb +105 -0
  448. data/lib/pubid/itu.rb +22 -0
  449. data/lib/pubid/jcgm/builder.rb +88 -0
  450. data/lib/pubid/jcgm/components/publisher.rb +20 -0
  451. data/lib/pubid/jcgm/components.rb +9 -0
  452. data/lib/pubid/jcgm/identifier.rb +11 -0
  453. data/lib/pubid/jcgm/identifiers/amendment.rb +35 -0
  454. data/lib/pubid/jcgm/identifiers/guide.rb +21 -0
  455. data/lib/pubid/jcgm/identifiers/gum_guide.rb +51 -0
  456. data/lib/pubid/jcgm/identifiers.rb +11 -0
  457. data/lib/pubid/jcgm/parser.rb +84 -0
  458. data/lib/pubid/jcgm/scheme.rb +60 -0
  459. data/lib/pubid/jcgm/single_identifier.rb +48 -0
  460. data/lib/pubid/jcgm/supplement_identifier.rb +16 -0
  461. data/lib/pubid/jcgm/urn_generator.rb +110 -0
  462. data/lib/pubid/jcgm.rb +31 -0
  463. data/lib/pubid/jis/builder.rb +124 -0
  464. data/lib/pubid/jis/components/code.rb +59 -0
  465. data/lib/pubid/jis/components.rb +9 -0
  466. data/lib/pubid/jis/identifier.rb +18 -0
  467. data/lib/pubid/jis/identifiers/amendment.rb +16 -0
  468. data/lib/pubid/jis/identifiers/base.rb +72 -0
  469. data/lib/pubid/jis/identifiers/explanation.rb +22 -0
  470. data/lib/pubid/jis/identifiers/japanese_industrial_standard.rb +16 -0
  471. data/lib/pubid/jis/identifiers/standard.rb +27 -0
  472. data/lib/pubid/jis/identifiers/technical_report.rb +31 -0
  473. data/lib/pubid/jis/identifiers/technical_specification.rb +31 -0
  474. data/lib/pubid/jis/identifiers.rb +17 -0
  475. data/lib/pubid/jis/parser.rb +109 -0
  476. data/lib/pubid/jis/scheme.rb +49 -0
  477. data/lib/pubid/jis/single_identifier.rb +37 -0
  478. data/lib/pubid/jis/supplement_identifier.rb +47 -0
  479. data/lib/pubid/jis/urn_generator.rb +25 -0
  480. data/lib/pubid/jis.rb +23 -0
  481. data/lib/pubid/lutaml/no_store_registration.rb +30 -0
  482. data/lib/pubid/nist/builder.rb +2100 -0
  483. data/lib/pubid/nist/components/code.rb +38 -0
  484. data/lib/pubid/nist/components/edition.rb +118 -0
  485. data/lib/pubid/nist/components/issue_number.rb +28 -0
  486. data/lib/pubid/nist/components/part.rb +77 -0
  487. data/lib/pubid/nist/components/publisher.rb +24 -0
  488. data/lib/pubid/nist/components/stage.rb +53 -0
  489. data/lib/pubid/nist/components/supplement.rb +121 -0
  490. data/lib/pubid/nist/components/translation.rb +42 -0
  491. data/lib/pubid/nist/components/update.rb +103 -0
  492. data/lib/pubid/nist/components/version.rb +35 -0
  493. data/lib/pubid/nist/components/volume.rb +32 -0
  494. data/lib/pubid/nist/components.rb +19 -0
  495. data/lib/pubid/nist/configuration.rb +77 -0
  496. data/lib/pubid/nist/identifiers/base.rb +499 -0
  497. data/lib/pubid/nist/identifiers/circular.rb +68 -0
  498. data/lib/pubid/nist/identifiers/circular_supplement.rb +50 -0
  499. data/lib/pubid/nist/identifiers/commercial_standard.rb +41 -0
  500. data/lib/pubid/nist/identifiers/commercial_standard_emergency.rb +56 -0
  501. data/lib/pubid/nist/identifiers/commercial_standards_monthly.rb +56 -0
  502. data/lib/pubid/nist/identifiers/crpl_report.rb +135 -0
  503. data/lib/pubid/nist/identifiers/federal_information_processing_standards.rb +94 -0
  504. data/lib/pubid/nist/identifiers/grant_contractor_report.rb +35 -0
  505. data/lib/pubid/nist/identifiers/handbook.rb +50 -0
  506. data/lib/pubid/nist/identifiers/internal_report.rb +56 -0
  507. data/lib/pubid/nist/identifiers/letter_circular.rb +45 -0
  508. data/lib/pubid/nist/identifiers/miscellaneous_publication.rb +65 -0
  509. data/lib/pubid/nist/identifiers/monograph.rb +69 -0
  510. data/lib/pubid/nist/identifiers/ncstar.rb +41 -0
  511. data/lib/pubid/nist/identifiers/nsrds.rb +41 -0
  512. data/lib/pubid/nist/identifiers/owmwp.rb +35 -0
  513. data/lib/pubid/nist/identifiers/report.rb +68 -0
  514. data/lib/pubid/nist/identifiers/special_publication.rb +36 -0
  515. data/lib/pubid/nist/identifiers/technical_note.rb +90 -0
  516. data/lib/pubid/nist/identifiers.rb +33 -0
  517. data/lib/pubid/nist/parser.rb +1084 -0
  518. data/lib/pubid/nist/scheme.rb +199 -0
  519. data/lib/pubid/nist/supplement_identifier.rb +83 -0
  520. data/lib/pubid/nist/urn_generator.rb +127 -0
  521. data/lib/pubid/nist.rb +36 -0
  522. data/lib/pubid/oiml/builder.rb +189 -0
  523. data/lib/pubid/oiml/components/code.rb +20 -0
  524. data/lib/pubid/oiml/components.rb +9 -0
  525. data/lib/pubid/oiml/identifier.rb +11 -0
  526. data/lib/pubid/oiml/identifiers/amendment.rb +13 -0
  527. data/lib/pubid/oiml/identifiers/annex.rb +62 -0
  528. data/lib/pubid/oiml/identifiers/base.rb +36 -0
  529. data/lib/pubid/oiml/identifiers/basic_publication.rb +13 -0
  530. data/lib/pubid/oiml/identifiers/document.rb +13 -0
  531. data/lib/pubid/oiml/identifiers/expert_report.rb +13 -0
  532. data/lib/pubid/oiml/identifiers/guide.rb +13 -0
  533. data/lib/pubid/oiml/identifiers/recommendation.rb +13 -0
  534. data/lib/pubid/oiml/identifiers/seminar_report.rb +13 -0
  535. data/lib/pubid/oiml/identifiers/vocabulary.rb +13 -0
  536. data/lib/pubid/oiml/identifiers.rb +18 -0
  537. data/lib/pubid/oiml/parser.rb +173 -0
  538. data/lib/pubid/oiml/scheme.rb +46 -0
  539. data/lib/pubid/oiml/single_identifier.rb +90 -0
  540. data/lib/pubid/oiml/supplement_identifier.rb +43 -0
  541. data/lib/pubid/oiml/urn_generator.rb +64 -0
  542. data/lib/pubid/oiml.rb +26 -0
  543. data/lib/pubid/parser/common_parse_methods.rb +13 -0
  544. data/lib/pubid/parser/common_parse_rules.rb +56 -0
  545. data/lib/pubid/parser.rb +8 -0
  546. data/lib/pubid/parsers/base.rb +11 -0
  547. data/lib/pubid/parsers/mr_string.rb +93 -0
  548. data/lib/pubid/plateau/builder.rb +50 -0
  549. data/lib/pubid/plateau/identifiers/annex.rb +16 -0
  550. data/lib/pubid/plateau/identifiers/base.rb +51 -0
  551. data/lib/pubid/plateau/identifiers/handbook.rb +34 -0
  552. data/lib/pubid/plateau/identifiers/technical_report.rb +20 -0
  553. data/lib/pubid/plateau/identifiers.rb +12 -0
  554. data/lib/pubid/plateau/parser.rb +63 -0
  555. data/lib/pubid/plateau/scheme.rb +45 -0
  556. data/lib/pubid/plateau/supplement_identifier.rb +72 -0
  557. data/lib/pubid/plateau/urn_generator.rb +29 -0
  558. data/lib/pubid/plateau.rb +25 -0
  559. data/lib/pubid/renderers/base.rb +19 -0
  560. data/lib/pubid/renderers/directives_renderer.rb +62 -0
  561. data/lib/pubid/renderers/guide_renderer.rb +20 -0
  562. data/lib/pubid/renderers/human_readable.rb +58 -0
  563. data/lib/pubid/renderers/iwa_renderer.rb +16 -0
  564. data/lib/pubid/renderers/mr_string.rb +16 -0
  565. data/lib/pubid/renderers/supplement_renderer.rb +33 -0
  566. data/lib/pubid/renderers/urn.rb +11 -0
  567. data/lib/pubid/renderers.rb +14 -0
  568. data/lib/pubid/rendering/base.rb +73 -0
  569. data/lib/pubid/rendering/common.rb +211 -0
  570. data/lib/pubid/rendering/context.rb +156 -0
  571. data/lib/pubid/rendering/date.rb +27 -0
  572. data/lib/pubid/rendering/format.rb +25 -0
  573. data/lib/pubid/rendering/language.rb +21 -0
  574. data/lib/pubid/rendering/numbering.rb +24 -0
  575. data/lib/pubid/rendering/publisher.rb +25 -0
  576. data/lib/pubid/rendering/stage.rb +38 -0
  577. data/lib/pubid/rendering/supplement.rb +46 -0
  578. data/lib/pubid/rendering.rb +16 -0
  579. data/lib/pubid/sae/builder.rb +32 -0
  580. data/lib/pubid/sae/components/code.rb +9 -0
  581. data/lib/pubid/sae/components/date.rb +19 -0
  582. data/lib/pubid/sae/components/type.rb +19 -0
  583. data/lib/pubid/sae/components.rb +11 -0
  584. data/lib/pubid/sae/identifier.rb +14 -0
  585. data/lib/pubid/sae/identifiers/base.rb +42 -0
  586. data/lib/pubid/sae/identifiers.rb +9 -0
  587. data/lib/pubid/sae/parser.rb +55 -0
  588. data/lib/pubid/sae/scheme.rb +47 -0
  589. data/lib/pubid/sae/urn_generator.rb +38 -0
  590. data/lib/pubid/sae.rb +19 -0
  591. data/lib/pubid/scheme.rb +207 -0
  592. data/lib/pubid/urn_generator/base.rb +110 -0
  593. data/lib/pubid/utils/string_normalizer.rb +196 -0
  594. data/lib/pubid/utils.rb +7 -0
  595. data/lib/pubid/version.rb +3 -1
  596. data/lib/pubid.rb +137 -13
  597. data/lib/tasks/docs.rake +37 -0
  598. data/lib/tasks/export.rake +38 -0
  599. data/lib/tasks/website-data.json +7488 -0
  600. metadata +613 -171
  601. data/lib/pubid/registry.rb +0 -30
@@ -0,0 +1,93 @@
1
+ NBS MN: NBS MONO
2
+ NIST MN: NIST MONO
3
+ NIST MP: NBS MP
4
+ NIST SP 260-162 2006ed.: NIST SP 260-162e2006
5
+ NBS CIRC 154suprev: NBS CIRC 154r1sup
6
+ NBS CIRC supJun1925-Jun1926: NBS CIRC 24e7sup2
7
+ NBS CIRC supJun1925-Jun1927: NBS CIRC 24e7sup3
8
+ /^NBS CIRC sup$/: NBS CIRC 24e7sup
9
+ NBS CIRC e2: NBS CIRC 2e2
10
+ NBS CIRC 25sup-1924: NBS CIRC 25sup
11
+ NIST SP 260-126 rev 2013: NIST SP 260-126r2013
12
+ NIST CSRC White Paper: NIST CSWP
13
+ NIST SP 800-56ar: NIST SP 800-56Ar1
14
+ NIST.LCIRC: NIST.LC
15
+ NBS.LCIRC: NBS.LC
16
+ NIST LCIRC: NIST LC
17
+ NBS LCIRC: NBS LC
18
+ NIST SP 800-57Pt3r1: NIST SP 800-57pt3r1
19
+ NISTIR: NIST IR
20
+ NIST FIPS: FIPS
21
+ NIST.CSWP.01162020pt: NIST.CSWP.01162020(por)
22
+ /^NBS FIPS 11-1-Sep30$/: NBS FIPS 11-1-Sep30/1977
23
+ /^NBS FIPS 89-Sep1$/: NBS FIPS 89-Sep1981
24
+ /^FIPS PUB 54-1-Jan15$/: FIPS 54-1
25
+ /^FIPS 54-1-Jan15$/: FIPS 54-1
26
+ /^FIPS 54-1-Jan17$/: FIPS 54-1-Jan17/1991
27
+ FIPS PUB: FIPS
28
+ NBS CRPL c4-4: NBS CRPL 4-4
29
+ NIST AMS 300-8r1 (February 2021 update): NIST AMS 300-8r1/Upd1-202102
30
+ NIST AMS 300-8r1/upd: NIST AMS 300-8r1/Upd1-202102
31
+ NIST IR 8115r1-upd: NIST IR 8115r1/Upd1-202103
32
+ NIST SP 500-300-upd: NIST SP 500-300/Upd1-202105
33
+ NIST TN 2150-upd: NIST TN 2150/Upd1-202102
34
+ NIST IR 8170-upd: NIST IR 8170/Upd1-202003
35
+ NBS IR 73-197r: NBS IR 73-197r1
36
+ NBS.HB.105-1r1990: NIST.HB.105-1r1990
37
+ NBS.HB.28p11969: NBS.HB.28-1969pt1
38
+ NIST HB 105-1-1990: NIST HB 105-1r1990
39
+ NBS.FIPS.100-1-1991: NIST.FIPS.100-1-1991
40
+ NBS.LC.1088sp: NBS.LC.1088.spa
41
+ NBS LC 1088sp: NBS LC 1088 spa
42
+ #NBS.LC.145r11/1925: NBS.LC.145/Upd1-192511
43
+ #NBS.LC.118sup12/1926: NBS.LC.118sup/Upd1-192612
44
+ NIST SP 955 Suppl.: NIST SP 955sup
45
+ NIST SP 800-38e: NIST SP 800-38E
46
+ NIST SP 782-1995-96: NIST SP 782-1995
47
+ NIST FIPS 54-Jan15: NIST FIPS 54
48
+ NBS report ;: NBS RPT
49
+ NBS TN 467p1adde1: NBS TN 467pt1-add
50
+ NIST SP 1011-II-1.0: NIST SP 1011v2ver1.0
51
+ NIST SP 1011-II-1 0: NIST SP 1011v2ver1.0
52
+ NIST SP 1011-I-2.0: NIST SP 1011v1ver2.0
53
+ NIST SP 1011-I-2 0: NIST SP 1011v1ver2.0
54
+ NIST SP 500-281-v1.0: NIST SP 500-281v1.0
55
+ NIST IR 8259Aes: NIST IR 8259A(spa)
56
+ NIST IR 8259Apt: NIST IR 8259A(por)
57
+ NIST IR 8211-upd: NIST IR 8211/Upd1-2021
58
+ NIST IR 8115r1/upd: NIST IR 8115r1/Upd1-2021
59
+ NBS CS v: NBS CSM v
60
+ NIST SP 800-57p1r2006: NIST SP 800-57pt1r1
61
+ NIST SP 800-57p1r2007: NIST SP 800-57pt1r2
62
+ NIST SP 500-268v1 1: NIST SP 500-268v1.1
63
+ NIST SP 500-270v1 1: NIST SP 500-270v1.1
64
+ NIST SP 500-280v2 1: NIST SP 500-280v2.1
65
+ NIST SP 500-281-v1 0: NIST SP 500-281v1.0
66
+ NIST SP 800-63v1 0 1: NIST SP 800-63v1.0.1
67
+ NIST SP 800-63v1 0 2: NIST SP 800-63v1.0.2
68
+ NIST SP 955 Suppl: NIST SP 955sup
69
+ NIST SP 984 4: NIST SP 984-4
70
+ NISTPUB 0413171251: NIST TN 1648-2009
71
+ /\-draft$/: " (Draft)"
72
+ /\-draft2$/: " 2pd"
73
+ NIST HB 135e2022-upd1: NIST HB 135e2022/Upd1-202205
74
+ NIST SP 1900-206-upd1: NIST SP 1900-206/Upd1-202202
75
+ NIST TN 2207-upd1: NIST TN 2207/Upd1-202205
76
+ NIST IR 8290-upd1: NIST IR 8290/Upd1-202205
77
+ NIST IR 8413-upd1: NIST IR 8413/Upd1-202207
78
+ NIST IR 85-3273-37-upd1: NIST IR 85-3273-37/Upd1-202205
79
+ /NBS CRPL-F-B(?=\d+)/: "NBS CRPL-F-B "
80
+ /NBS[.\s]CS[.\s]e/: "NBS CS-E "
81
+ "NIST.AMS.300-8r1/upd": NIST.AMS.300-8r1-upd1
82
+ NIST.hb.150-1-2017: NIST HB 105-1r2017
83
+ nbs.tn.671: NBS TN 671
84
+ NIST.TN.1648_2009: NIST TN 1648-2009
85
+ NBS NSRDS: NSRDS-NBS
86
+ nist ir: NIST IR
87
+ /(?<=\d)es/: (spa)
88
+ /(?<=\d)chi/: (zho)
89
+ /(?<=\d)viet/: (vie)
90
+ /(?<=\d)port/: (por)
91
+ /(?<=\d)(pt)(?!\d)/: (por)
92
+ /(?<=\d)id/: (ind)
93
+ /\-upd$/: "-upd1"
@@ -0,0 +1,6 @@
1
+ "PLATEAU Handbook #11 第1.0版(民間活用編)": "PLATEAU Handbook #06 第1.0版"
2
+ "PLATEAU Handbook #11 第1.0版(公共活用編)": "PLATEAU Handbook #04 第1.0版"
3
+ "PLATEAU Handbook #11 第2.0版(民間活用編)": "PLATEAU Handbook #06 第2.0版"
4
+ "PLATEAU Handbook #11 第2.0版(公共活用編)": "PLATEAU Handbook #04 第2.0版"
5
+ "PLATEAU Handbook #11 第3.0版(民間活用編)": "PLATEAU Handbook #06 第3.0版"
6
+ "PLATEAU Handbook #11 第3.0版(公共活用編)": "PLATEAU Handbook #04 第3.0版"
@@ -0,0 +1 @@
1
+ CCSDS 320.0-B-1-S Corrigendum 1: CCSDS 320.0-B-1-S Cor. 1
@@ -0,0 +1,67 @@
1
+ IECEx TRF 60079-11v3-4:2002: IECEx TRF 60079-11v4C:2002
2
+ IECEE TRF cispr 15N:2022: IECEE TRF CISPR 15N:2022
3
+ IECEE TRF cispr 15M:2021: IECEE TRF CISPR 15M:2021
4
+ IECEE TRF cispr 15L:2020: IECEE TRF CISPR 15L:2020
5
+ IECEE TRF cispr 14-1A:2022: IECEE TRF CISPR 14-1A:2022
6
+ IECEE TRF cispr 14-1J:2022: IECEE TRF CISPR 14-1J:2022
7
+ IECEE TRF cispr 14-1,2B:2021: IECEE TRF CISPR 14-1,2B:2021
8
+ IECEE TRF cispr 14-1,2I:2020: IECEE TRF CISPR 14-1,2I:2020
9
+ IECEE TRF 60127-2-IA_I:2008: IECEE TRF 60127-2A_I:2008
10
+ IECEE TRF 60127-2-IIA_II:2008: IECEE TRF 60127-2A_II:2008
11
+ IECEE TRF 60127-2-IIIAIII:2008: IECEE TRF 60127-2A_III:2008
12
+ IECEE TRF 60127-2-IVIV:2008: IECEE TRF 60127-2A_IV:2008
13
+ IECEE TRF 60127-2-iBI:2011: IECEE TRF 60127-2B_I:2011
14
+ IECEE TRF 60127-2-iiBII:2011: IECEE TRF 60127-2B_II:2011
15
+ IECEE TRF 60127-2-iiiBIII:2011: IECEE TRF 60127-2B_III:2011
16
+ IECEE TRF 60127-2-ivBIV:2011: IECEE TRF 60127-2B_IV:2011
17
+ IECEE TRF 60127-2-iCI:2013: IECEE TRF 60127-2C_I:2013
18
+ IECEE TRF 60127-2-iiCII:2013: IECEE TRF 60127-2C_II:2013
19
+ IECEE TRF 60127-2-iiiCIII:2013: IECEE TRF 60127-2C_III:2013
20
+ IECEE TRF 60127-2-ivCIV:2013: IECEE TRF 60127-2C_IV:2013
21
+ IECEE TRF 60127-2-iD_I:2015: IECEE TRF 60127-2D_I:2015
22
+ IECEE TRF 60127-2-iiD_II:2015: IECEE TRF 60127-2D_II:2015
23
+ IECEE TRF 60127-2-iiiD_III:2015: IECEE TRF 60127-2D_III:2015
24
+ IECEE TRF 60127-2-ivD_IV:2019: IECEE TRF 60127-2D_IV:2019
25
+ IECEE TRF 60127-3-IA_I:2009: IECEE TRF 60127-3A_I:2009
26
+ IECEE TRF 60127-3-IIAII:2009: IECEE TRF 60127-3A_II:2009
27
+ IECEE TRF 60127-3-IIIAIII:2009: IECEE TRF 60127-3A_III:2009
28
+ IECEE TRF 60127-3-IVAIV:2009: IECEE TRF 60127-3A_IV:2009
29
+ IECEE TRF 60127-3-iBI:2013: IECEE TRF 60127-3B_I:2013
30
+ IECEE TRF 60127-3-iiBII:2013: IECEE TRF 60127-3B_II:2013
31
+ IECEE TRF 60127-3-iiiBIII:2013: IECEE TRF 60127-3B_III:2013
32
+ IECEE TRF 60127-3-ivBIV:2013: IECEE TRF 60127-3B_IV:2013
33
+ IECEE TRF 60127-3-iCI:2015: IECEE TRF 60127-3C_I:2015
34
+ IECEE TRF 60127-3-iiCII:2015: IECEE TRF 60127-3C_II:2015
35
+ IECEE TRF 60127-3-iiiCIII:2015: IECEE TRF 60127-3C_III:2015
36
+ IECEE TRF 60127-3-ivCIV:2015: IECEE TRF 60127-3C_IV:2015
37
+ IECEE TRF 60127-3-iD_I:2022: IECEE TRF 60127-3D_I:2022
38
+ IECEE TRF 60127-3-iiD_II:2022: IECEE TRF 60127-3D_II:2022
39
+ IECEE TRF 60127-3-iiiD_III:2022: IECEE TRF 60127-3D_III:2022
40
+ IECEE TRF 60127-3-ivD_IV:2022: IECEE TRF 60127-3D_IV:2022
41
+ IECEE TRF 60127-4-IAI:2009: IECEE TRF 60127-4A_I:2009
42
+ IECEE TRF 60127-4-IIAII:2009: IECEE TRF 60127-4A_II:2009
43
+ IECEE TRF 60127-4-IIIAIII:2009: IECEE TRF 60127-4A_III:2009
44
+ IECEE TRF 60127-4-iBI:2013: IECEE TRF 60127-4B_I:2013
45
+ IECEE TRF 60127-4-iiBII:2013: IECEE TRF 60127-4B_II:2013
46
+ IECEE TRF 60127-4-iiiBIII:2013: IECEE TRF 60127-4B_III:2013
47
+ IECEE TRF 60127-4-iCI:2015: IECEE TRF 60127-4C_I:2015
48
+ IECEE TRF 60127-4-iiCII:2015: IECEE TRF 60127-4C_II:2015
49
+ IECEE TRF 60127-4-iiiCIII:2015: IECEE TRF 60127-4C_III:2015
50
+ IECEE TRF 60127-4-iD_I:2022: IECEE TRF 60127-4D_I:2022
51
+ IECEE TRF 60127-4-iiD_II:2022: IECEE TRF 60127-4D_II:2022
52
+ IECEE TRF 60127-4-iiD_III:2022: IECEE TRF 60127-4D_III:2022
53
+ IECEE TRF 60730-1KSOF:2020: IECEE TRF 60730-1K_SOF:2020
54
+ IECEE TRF 60730-1KEMC:2020: IECEE TRF 60730-1K_EMC:2020
55
+ IECEE TRF 60730-1ISOF:2018: IECEE TRF 60730-1I_SOF:2018
56
+ IECEE TRF 60730-1HSOF:2014: IECEE TRF 60730-1H_SOF:2014
57
+ IECEE TRF 60730-1HEMC:2014: IECEE TRF 60730-1H_EMC:2014
58
+ IECEE TRF 60730-2-1IEMC:2019: IECEE TRF 60730-2-1I_EMC:2019
59
+ IECEE TRF 60601-1-2CEMC:2011: IECEE TRF 60601-1-2C_EMC:2011
60
+ "CISPR 14-2:2015/AMD1/FRAG3:": CISPR 14-2:2015/AMD1/FRAG3 ED2
61
+ "IEC 60309-3:1994/FRAG1:": IEC 60309-3:1994/FRAG1 ED1
62
+ "CISPR 14-1:2016/AMD1/FRAG5:": CISPR 14-1:2016/AMD1/FRAG5 ED5
63
+ "IEC 61360-C00168:": IEC 61360-C00168
64
+ "IEC 61360-C00169:": IEC 61360-C00169
65
+ "IEC 61360-C00172:": IEC 61360-C00172
66
+ "IEC 61360-C00174:": IEC 61360-C00174
67
+ "IEC 61360-C00178:": IEC 61360-C00178
@@ -0,0 +1,104 @@
1
+ IEEE Unapproved Draft Std PC37.110/D911Oct 07: IEEE Unapproved Draft Std PC37.110/D711, Oct 07
2
+ IEEE C57.139/D14June 2010: IEEE C57.139/D14, June 2010
3
+ IEEE P1653.5/D7d1 November, 2019: IEEE P1653.5/D7.1 November, 2019
4
+ IEEE P1017/D062012: P1017/D062012, Jun 2012
5
+ IEEP62.42.1/D3, October 2014: IEEE P62.42.1/D3, October 2014
6
+ IEEE P802.11ajD8.0, August 2017: IEEE P802.11aj/D8.0, August 2017
7
+ IEEE P802.11ajD9.0, November 2017: IEEE P802.11aj/D9.0, November 2017
8
+ "IEC 62529:2012(E) (IEEE Std 1641-2010": IEC 62529:2012(E) (IEEE Std 1641-2010)
9
+ "IEC 62529:2012(E) (IEEE Std 1641-2010 - Redline": IEC 62529:2012(E) (IEEE Std 1641-2010) - Redline
10
+ IEEE IEEE P1453/D3, June 2011: IEEE P1453/D3, June 2011
11
+ AIEE No 1E -1957: AIEE No 1E-1957
12
+ A.I.E.E. No. 15 May-1928: AIEE No 15-192805
13
+ AIEE No 45 -1951: AIEE No 45-1951
14
+ AIEE No. 2-June 1929: AIEE No 2-192906
15
+ AIEE No. 25-1952 (Supercedes AIEE No. 25-1945): AIEE No 25-1952 (Supercedes AIEE No. 25-1945)
16
+ AIEE No.1-1962 (Supersedes June 1957 issue): AIEE No 1-1962 (Supersedes AIEE No 1-195706)
17
+ AIEE Nos 72 and 73 - 1932: AIEE No 72-1932 and AIEE No 73-1932
18
+ EEE Std 1671.1-2017 (Revision of IEEE Std 1671.1&amp;#8208;2009): IEEE Std 1671.1-2017 (Revision of IEEE Std 1671.1-2009)
19
+ EEE Std 1671.1-2017 (Revision of IEEE Std 1671.1-2009): IEEE Std 1671.1-2017 (Revision of IEEE Std 1671.1-2009)
20
+ EEE Std 488.2-1992: IEEE Std 488.2-1992
21
+ EEE Std 802.3br-2016 (Amendment to IEEE Std 802.3-2015 as amended by IEEE St802.3bw-2015, IEEE Std 802.3by-2016, IEEE Std 802.3bq-2016, and IEEE Std 802.3bp-2016): IEEE Std 802.3br-2016 (Amendment to IEEE Std 802.3-2015 as amended by IEEE Std 802.3bw-2015, IEEE Std 802.3by-2016, IEEE Std 802.3bq-2016, and IEEE Std 802.3bp-2016)
22
+ IEEE Std 336-2010 (Revision of EEE Std 336-2005): IEEE Std 336-2010 (Revision of IEEE Std 336-2005)
23
+ IEEE Std 356-2020 (Revision of IEEE Std 356?2010): IEEE Std 356-2020 (Revision of IEEE Std 356-2010)
24
+ IEEE Std 356-2020 (Revision of IEEE Std 356?2010) - Redline: IEEE Std 356-2020 (Revision of IEEE Std 356-2010) - Redline
25
+ IEEE Std Std 1139-2008: IEEE Std 1139-2008
26
+ IEEE/ ASTM SI 10-2010 (Revision of IEEE/ASTM SI 10-2002): IEEE/ASTM SI 10-2010 (Revision of IEEE/ASTM SI 10-2002)
27
+ "IEEE Std 24748-3:2012": IEEE 24748-3:2012
28
+ "ISO/IEC/IEEE P24765/D3:2017": ISO/IEC/IEEE P24765:2017/D3
29
+ ISO/IEC/IEEE FDIS P24765 FDIS, October 2016: ISO/IEC/IEEE FDIS P24765, October 2016
30
+ ISO/IEC/IEEE P15289 FDIS, February 2019: ISO/IEC/IEEE FDIS P15289, February 2019
31
+ ISO/IEC/IEEE P26515 FDIS, May 2018: ISO/IEC/IEEE FDIS P26515, May 2018
32
+ IEEE Std Std 1139-2008: IEEE Std 1139-2008
33
+ IEC/IEEE P60214-2, FDIS 2018: IEC/IEEE FDIS P60214-2-2018(E)
34
+ IEC/IEEE P62582-6, FDIS 2018: IEC/IEEE FDIS P62582-6-2018(E)
35
+ ISO/IEC DIS P26511.2, May 2017: ISO/IEC DIS P26511-2, May 2017
36
+ ISO/IEC/IEEE P90003_FDIS, August 2018: ISO/IEC/IEEE FDIS P90003, August 2018
37
+ ISO/IEC/IEEE&#xA0;P29119-1/FDIS, September 2021: ISO/IEC/IEEE FDIS P29119-1, September 2021
38
+ ISO/IEC/IEEE/ P12207-2/D3_FDIS, July 2020: ISO/IEC/IEEE FDIS P12207-2/D3, July 2020
39
+ ISO/IEC/IEEE/ P21841/FDIS, April 2019: ISO/IEC/IEEE FDIS P21841, April 2019
40
+ ISO/IEC/IEEE/ P24748-3/DIS, August 2019: ISO/IEC/IEEE DIS P24748-3, August 2019
41
+ IEEE Std 1018-2013 (Revison of IEEE Std 1018-2004): IEEE Std 1018-2013 (Revision of IEEE Std 1018-2004)
42
+ IEEE Std 1018-2013 (Revison of IEEE Std 1018-2004) - Redline: IEEE Std 1018-2013 (Revision of IEEE Std 1018-2004) - Redline
43
+ IEEE SId 342-1973 (ANSI C37.0731-1973): IEEE Std 342-1973 (ANSI C37.0731-1973)
44
+ P1484.12.3/D1, September2019: IEEE P1484.12.3/D1, September 2019
45
+ P1073.1.3.4/D3.0: IEEE P1073.1.3.4/D3.0
46
+ P1936.1, 2020: IEEE P1936.1, January 2020
47
+ P20000-2, D1 December 2012: IEEE P20000-2/D1, December 2012
48
+ ISO/IEC/IEEE 8802-22.2:2015/Amd.2:2017(E): ISO/IEC/IEEE 8802-22:2015/Amd.2:2017(E)
49
+ IEEE 1070-1995: IEEE No 1070-1995
50
+ IEEE 278-1967: IEEE No 278-1967
51
+ IEEE 730-1989: IEEE No 730-1989
52
+ IEEE 751-1991: IEEE No 751-1991
53
+ IEEE 1023-2020 (Revision of IEEE Std 1023-2004): IEEE No 1023-2020 (Revision of IEEE Std 1023-2004)
54
+ # Remove Unapproved Draft Std for ISO style identifiers with iso stage
55
+ # using "[A-Z]{2,}" to exclude /D12 (drafts) from match
56
+ # IEEE Unapproved Draft Std P15026.2/FCD -> IEEE P15026.2/FCD
57
+ #/(IEEE )(?:Unapproved )?(?:Draft )?Std (P[\d.]+[_/][A-Z]{2,}\d?)/: \1\2
58
+ IEEE P90003-2014, April 2015: IEEE P90003, April 2015
59
+ # Add space between year and month for dates without space, e.g. "Jul2014" -> "Jul 2014"
60
+ /, (\w{3,4})(\d{4,4})$/: ", \\1 \\2"
61
+ IEC/IEEE P61886-1_D2_May2020: IEC/IEEE P61886-1_D2, May 2020
62
+ IEEE Unapproved P1076.1/D-3.3-07-Feb20: IEEE Unapproved P1076.1/D-3.3-2007-02
63
+ IEEE Unapproved P11073.10407/D-09-08-Sep20: IEEE Unapproved P11073.10407/D-09-2008-09
64
+ IEEE Unapproved P1597.2/D-7.1-09-Oct20: IEEE Unapproved P1597.2/D7.1-2009-10
65
+ IEEE Unapproved P7.4.3.2/D-3-2010-01: IEEE Unapproved P7-4.3.2/D-3-2010-01
66
+ IEEE Unapproved P802.11k/D-13.0_Mar-08-20: IEEE Unapproved P802.11k/D-13.0-2008-03
67
+ IEEE Unapproved P802.16g/D-8-07-Feb20: IEEE Unapproved P802.16g/D-8-2007-02
68
+ #IEEE Unapproved P802.16_Rev2/D-2-2007: IEEE Unapproved P802.16Rev2/D-2-2007
69
+ IEEE Unapproved P802.1ah/D-4.-2008-02: IEEE Unapproved P802.1ah/D-4-2008-02
70
+ IEEE Unapproved P802.20.2/D-2.0-09-Oct20: IEEE Unapproved P802.20.2/D-2.0-2009-10
71
+ IEEE Unapproved P802.3/D-D1.1/Cor1-2009: IEEE Unapproved P802.3/D1.1/Cor1-2009
72
+ IEEE Unapproved Std PC57.129_D9, Mar07: IEEE Unapproved Std PC57.129_D9, Mar 07
73
+ IEEE Unapproved Draft Std PC62.21_D3, Sep07: IEEE Unapproved Draft Std PC62.21_D3, Sep 07
74
+ IEEE Unapproved Draft Std P2600.2/D41b, Jan09: IEEE Unapproved Draft Std P2600.2/D41b, Jan 09
75
+ IEEE Active Unapproved Draft Std IEEE PC37.06/D8.3, July 2007: IEEE Active Unapproved Draft Std PC37.06/D8.3, July 2007
76
+ IEEE Unapproved Draft Std PC57.21/D14, Dec. 2007: IEEE Unapproved Draft Std PC57.21/D14, Dec 2007
77
+ IEEE Unapproved Draft Std P802.1AB/REVD2.2, Dec 2007: IEEE Unapproved Draft Std P802.1AB/D2.2, Dec 2007
78
+ IEEE Unapproved Draft Std PC37.301/D3 R1, Feb 2008: IEEE Unapproved Draft Std PC37.301/D3.1, Feb 2008
79
+ IEEE Unapproved Draft Std PC37.27/D16_Dec 2007: IEEE Unapproved Draft Std PC37.27/D16, Dec 2007
80
+ IEEE Unapproved Draft Std PC37.13 / D21, Dec 2007: IEEE Unapproved Draft Std PC37.13/D21, Dec 2007
81
+ IEEE Unapproved Draft Std P802.1ah/D4., Feb 2008: IEEE Unapproved Draft Std P802.1ah/D4, Feb 2008
82
+ IEEE Unapproved Draft Std P802.11k_D13.0_Mar 2008: IEEE Unapproved Draft Std P802.11k_D13.0, Mar 2008
83
+ IEEE Unapproved Draft Std P1776/D9b, Feb. 2008: IEEE Unapproved Draft Std P1776/D9b, Feb 2008
84
+ IEEE Unapproved Draft Std PC62.21-2003-Cor_1/D5, Mar 2008: IEEE Unapproved Draft Std PC62.21-2003-Cor1/D5, Mar 2008
85
+ IEEE Unapproved Draft Std P1003.1 Draft 5.1, May 2008: IEEE Unapproved Draft Std P1003.1/D5.1, May 2008
86
+ IEEE Unapproved Draft Std P802-1Qay/D5-0, Jan 09: IEEE Unapproved Draft Std P802-1Qay/D5.0, Jan 09
87
+ IEEE Unapproved Draft Std P1775/1.9.7, Mar 2009: IEEE Unapproved Draft Std P1775/D1.9.7, Mar 2009
88
+ IEEE Unapproved Draft Std P1044/D00005, Aug-2009: IEEE Unapproved Draft Std P1044/D5, Aug 2009
89
+ IEEE Unapproved Draft Std P1584b/ D2, Jul 2009: IEEE Unapproved Draft Std P1584b/D2, Jul 2009
90
+ IEEE Unapproved Draft Std P11073-10421, D6, Oct 2009: IEEE Unapproved Draft Std P11073-10421/D6, Oct 2009
91
+ IEEE Unapproved Draft Std PC37.13.1a/D3. Nov 2009: IEEE Unapproved Draft Std PC37.13.1a/D3, Nov 2009
92
+ IEEE Unapproved Draft Std PC37.082_IEC62271-113/D2, Jan 2010: IEEE Unapproved Draft Std PC37.082/D2, Jan 2010 (IEC 62271-113)
93
+ IEEE Unapproved Draft Std PC37.20.7-2001 Cor 1/D3, Aug 2009: IEEE Unapproved Draft Std PC37.20.7-2001/Cor 1/D3, Aug 2009
94
+ IEEE Unapproved Draft Std PC37.20.7-2007 Cor 1/D4: IEEE Unapproved Draft Std PC37.20.7-2007/Cor 1/D4
95
+ IEEE Unapproved Draft Std P802.3-2008 (P802.3bb)/Cor 1/D1.1, Jan 2009: IEEE Unapproved Draft Std P802.3-2008/Cor 1/D1.1, Jan 2009 (IEEE P802.3bb)
96
+ IEEE Unapproved Draft Std P802.3-2008 (P802.3bb)/Cor 1/D2.0, Jul 2009: IEEE Unapproved Draft Std P802.3-2008/Cor 1/D2.0, Jul 2009 (IEEE P802.3bb)
97
+ IEEE Unapproved Draft Std P16326:2008/CD2, Sep 2008: IEEE P16326:2008/CD2, Sep 2008
98
+ IEEE Unapproved Draft Std 16326:2009: IEEE 16326:2009
99
+ IEEE Unapproved Draft Std PC37.082_IEC62271-113/D2, Jan 2010: IEEE Unapproved Draft Std PC37.082/D2, Jan 2010 (IEC 62271-113)
100
+ Unapproved Draft Std ISO/IEC FDIS 15288:2007(E) IEEE P15288/D3: IEEE Unapproved Draft Std P15288/D3 (ISO/IEC FDIS 15288:2007(E))
101
+ IEEE Unapproved Draft Std P1635/ASHRAE 21_D4, Jan 2010: IEEE Unapproved Draft Std P1635/D4, January 2010 (ASHRAE 21)
102
+ IEC/IEEE 62582-1:2011 Edition 1.0 2011-08: IEC/IEEE 62582-1-2011 Edition 1.0 2011-08
103
+ ISO/IEC/IEEE CD P26513/D1, August 2015: ISO/IEC/IEEE P26513/D1, August 2015
104
+ /C37.0I0d-1984/: C37.010d-1984
@@ -0,0 +1,21 @@
1
+ ISO/R 657/IV: ISO/R 657-4:1969
2
+ ISO/IEC/IEEE 8802-22.2:2015/Amd.2:2017(E): ISO/IEC/IEEE 8802-22:2015/Amd.2:2017(E)
3
+ ISO/TR 17716.2: ISO/TR 17716
4
+ ISO/TR 17716.2(E): ISO/TR 17716(E)
5
+ # Long-form draft typed stages (DIS TR, FDIS PAS, ...) → canonical short
6
+ # typed-stage abbrs (DTR, FDPAS, ...). DIS/FDIS are typed-stages of the
7
+ # IS class only — for TR/TS/PAS/ISP they have dedicated D<type>/FD<type>
8
+ # typed-stage abbrs. Pattern matches at start of string with the
9
+ # publisher prefix preserved.
10
+ "/^(ISO[\\w/]*) DIS (TR|TS|PAS|ISP) /": '\1 D\2 '
11
+ "/^(ISO[\\w/]*) FDIS (TR|TS|PAS|ISP) /": '\1 FD\2 '
12
+ # Long-form draft supplements (DIS Amd → DAM, DIS Cor → DCOR, DIS Suppl
13
+ # → DSuppl, DIS Add → DAD; FDIS Amd → FDAM, FDIS Cor → FDCOR). Applies
14
+ # in supplement position (after `/`). FDIS Suppl is already the
15
+ # canonical form so it is not rewritten.
16
+ "//DIS Amd /": '/DAM '
17
+ "//FDIS Amd /": '/FDAM '
18
+ "//DIS Cor /": '/DCOR '
19
+ "//FDIS Cor /": '/FDCOR '
20
+ "//DIS Suppl /": '/DSuppl '
21
+ "//DIS Add /": '/DAD '
@@ -0,0 +1,87 @@
1
+ NBS MN: NBS MONO
2
+ NIST MN: NIST MONO
3
+ NIST MP: NBS MP
4
+ NIST SP 260-162 2006ed.: NIST SP 260-162e2006
5
+ NBS CIRC 154suprev: NBS CIRC 154r1sup
6
+ NBS CIRC supJun1925-Jun1926: NBS CIRC 24e7sup2
7
+ NBS CIRC supJun1925-Jun1927: NBS CIRC 24e7sup3
8
+ /^NBS CIRC sup$/: NBS CIRC 24e7sup
9
+ NBS CIRC 25sup-1924: NBS CIRC 25sup
10
+ NIST SP 260-126 rev 2013: NIST SP 260-126r2013
11
+ NIST CSRC White Paper: NIST CSWP
12
+ NIST SP 800-56ar: NIST SP 800-56Ar1
13
+ NIST.LCIRC: NIST.LC
14
+ NBS.LCIRC: NBS.LC
15
+ NIST LCIRC: NIST LC
16
+ NBS LCIRC: NBS LC
17
+ NIST SP 800-57Pt3r1: NIST SP 800-57pt3r1
18
+ NISTIR: NIST IR
19
+ NIST FIPS: FIPS
20
+ NIST.CSWP.01162020pt: NIST.CSWP.01162020(por)
21
+ /^NBS FIPS 11-1-Sep30$/: NBS FIPS 11-1-Sep30/1977
22
+ /^NBS FIPS 89-Sep1$/: NBS FIPS 89-Sep1981
23
+ /^FIPS PUB 54-1-Jan15$/: FIPS 54-1
24
+ /^FIPS 54-1-Jan15$/: FIPS 54-1
25
+ /^FIPS 54-1-Jan17$/: FIPS 54-1-Jan17/1991
26
+ FIPS PUB: FIPS
27
+ NBS CRPL c4-4: NBS CRPL 4-4
28
+ NIST AMS 300-8r1 (February 2021 update): NIST AMS 300-8r1/Upd1-202102
29
+ NIST IR 8115r1-upd: NIST IR 8115r1/Upd1-202103
30
+ NIST TN 2150-upd: NIST TN 2150/Upd1-202102
31
+ NBS IR 73-197r: NBS IR 73-197r1
32
+ NBS.HB.105-1r1990: NIST.HB.105-1r1990
33
+ NBS.HB.28p11969: NBS.HB.28-1969pt1
34
+ NIST HB 105-1-1990: NIST HB 105-1r1990
35
+ NBS.FIPS.100-1-1991: NIST.FIPS.100-1-1991
36
+ NBS.LC.1088sp: NBS.LC.1088.spa
37
+ NBS LC 1088sp: NBS LC 1088 spa
38
+ #NBS.LC.145r11/1925: NBS.LC.145/Upd1-192511
39
+ #NBS.LC.118sup12/1926: NBS.LC.118sup/Upd1-192612
40
+ NIST SP 955 Suppl.: NIST SP 955sup
41
+ NIST SP 800-38e: NIST SP 800-38E
42
+ NIST SP 782-1995-96: NIST SP 782-1995
43
+ NIST FIPS 54-Jan15: NIST FIPS 54
44
+ NBS report ;: NBS RPT
45
+ NBS TN 467p1adde1: NBS TN 467pt1-add
46
+ NIST SP 1011-II-1.0: NIST SP 1011v2ver1.0
47
+ NIST SP 1011-II-1 0: NIST SP 1011v2ver1.0
48
+ NIST SP 1011-I-2.0: NIST SP 1011v1ver2.0
49
+ NIST SP 1011-I-2 0: NIST SP 1011v1ver2.0
50
+ NIST SP 500-281-v1.0: NIST SP 500-281v1.0
51
+ NIST IR 8259Aes: NIST IR 8259A(spa)
52
+ NIST IR 8259Apt: NIST IR 8259A(por)
53
+ NIST IR 8211-upd: NIST IR 8211/Upd1-2021
54
+ NIST IR 8115r1/upd: NIST IR 8115r1/Upd1-2021
55
+ NBS CS v: NBS CSM v
56
+ NIST SP 800-57p1r2006: NIST SP 800-57pt1r1
57
+ NIST SP 800-57p1r2007: NIST SP 800-57pt1r2
58
+ NIST SP 500-268v1 1: NIST SP 500-268v1.1
59
+ NIST SP 500-270v1 1: NIST SP 500-270v1.1
60
+ NIST SP 500-280v2 1: NIST SP 500-280v2.1
61
+ NIST SP 500-281-v1 0: NIST SP 500-281v1.0
62
+ NIST SP 800-63v1 0 1: NIST SP 800-63v1.0.1
63
+ NIST SP 800-63v1 0 2: NIST SP 800-63v1.0.2
64
+ NIST SP 955 Suppl: NIST SP 955sup
65
+ NIST SP 984 4: NIST SP 984-4
66
+ NISTPUB 0413171251: NIST TN 1648-2009
67
+ /\-draft$/: " (Draft)"
68
+ /\-draft2$/: " 2pd"
69
+ NIST HB 135e2022-upd1: NIST HB 135e2022/Upd1-202205
70
+ NIST SP 1900-206-upd1: NIST SP 1900-206/Upd1-202202
71
+ NIST TN 2207-upd1: NIST TN 2207/Upd1-202205
72
+ NIST IR 8290-upd1: NIST IR 8290/Upd1-202205
73
+ NIST IR 8413-upd1: NIST IR 8413/Upd1-202207
74
+ NIST IR 85-3273-37-upd1: NIST IR 85-3273-37/Upd1-202205
75
+ /NBS CRPL-F-B(?=\d+)/: "NBS CRPL-F-B "
76
+ "NIST.AMS.300-8r1/upd": NIST.AMS.300-8r1-upd1
77
+ NIST.hb.150-1-2017: NIST HB 105-1r2017
78
+ nbs.tn.671: NBS TN 671
79
+ NIST.TN.1648_2009: NIST TN 1648-2009
80
+ NBS NSRDS: NSRDS-NBS
81
+ nist ir: NIST IR
82
+ /(?<=\d)es/: (spa)
83
+ /(?<=\d)chi/: (zho)
84
+ /(?<=\d)viet/: (vie)
85
+ /(?<=\d)port/: (por)
86
+ /(?<=\d)(pt)(?!\d)/: (por)
87
+ /(?<=\d)id/: (ind)
@@ -0,0 +1,6 @@
1
+ "PLATEAU Handbook #11 第1.0版(民間活用編)": "PLATEAU Handbook #06 第1.0版"
2
+ "PLATEAU Handbook #11 第1.0版(公共活用編)": "PLATEAU Handbook #04 第1.0版"
3
+ "PLATEAU Handbook #11 第2.0版(民間活用編)": "PLATEAU Handbook #06 第2.0版"
4
+ "PLATEAU Handbook #11 第2.0版(公共活用編)": "PLATEAU Handbook #04 第2.0版"
5
+ "PLATEAU Handbook #11 第3.0版(民間活用編)": "PLATEAU Handbook #06 第3.0版"
6
+ "PLATEAU Handbook #11 第3.0版(公共活用編)": "PLATEAU Handbook #04 第3.0版"
@@ -0,0 +1,176 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pubid
4
+ module Amca
5
+ # Builder class for constructing ACMA identifier scheme from parsed data
6
+ # Single Responsibility: Transform parsed data into Scheme objects
7
+ class Builder
8
+ attr_reader :identifier_class
9
+
10
+ def initialize(identifier_class = Identifiers::Base)
11
+ @identifier_class = identifier_class
12
+ end
13
+
14
+ # Build a scheme object from parsed data
15
+ # @param parsed [Hash, Array] the parsed identifier data
16
+ # @return [Scheme] the constructed scheme object
17
+ def build(parsed)
18
+ # Parslet can return array of hashes - merge them
19
+ parsed_hash = parsed.is_a?(Array) ? merge_parsed_array(parsed) : parsed
20
+
21
+ # Handle base identifier wrapper
22
+ if parsed_hash[:base]
23
+ parsed_hash = parsed_hash[:base]
24
+ end
25
+
26
+ # Check for publication identifier (must come before standard check)
27
+ if parsed_hash[:publication] || parsed_hash[:publication_keyword] || parsed_hash[:revision]
28
+ return build_publication(parsed_hash[:publication] || parsed_hash)
29
+ end
30
+
31
+ # Check for interpretation identifier
32
+ if parsed_hash[:interpretation] || parsed_hash[:interpretation_code] || parsed_hash[:interp_keyword]
33
+ return build_interpretation(parsed_hash[:interpretation] || parsed_hash)
34
+ end
35
+
36
+ # Handle standard identifier
37
+ if parsed_hash[:standard]
38
+ return build_standard(parsed_hash[:standard])
39
+ end
40
+
41
+ # Default: extract attributes and create identifier
42
+ attributes = extract_attributes(parsed_hash)
43
+ identifier_class = determine_identifier_class(attributes)
44
+ identifier_class.new(**attributes)
45
+ end
46
+
47
+ # Class method to build an identifier from parsed data
48
+ # @param parsed [Hash, Array] the parsed identifier data
49
+ # @return [Identifiers::Base] the constructed identifier object
50
+ def self.build(parsed)
51
+ new.build(parsed)
52
+ end
53
+
54
+ private
55
+
56
+ # Merge an array of parsed hashes into a single hash
57
+ # @param parsed_array [Array<Hash>] array of parsed hashes
58
+ # @return [Hash] merged hash
59
+ def merge_parsed_array(parsed_array)
60
+ parsed_array.inject({}) do |result, hash|
61
+ result.merge(hash)
62
+ end
63
+ end
64
+
65
+ # Extract and normalize attributes from parsed data
66
+ # @param parsed [Hash] the parsed data
67
+ # @return [Hash] normalized attributes for Identifier
68
+ def extract_attributes(parsed)
69
+ attributes = {}
70
+
71
+ # Extract copublisher
72
+ if parsed[:copublisher]
73
+ attributes[:copublisher] =
74
+ extract_value(parsed[:copublisher])
75
+ end
76
+
77
+ # Extract code
78
+ if parsed[:code_with_year]
79
+ code_year_data = parsed[:code_with_year]
80
+ if code_year_data && code_year_data[:code]
81
+ attributes[:code] =
82
+ extract_value(code_year_data[:code])
83
+ end
84
+ if code_year_data && code_year_data[:year]
85
+ attributes[:year] =
86
+ extract_value(code_year_data[:year])
87
+ end
88
+ elsif parsed[:code]
89
+ attributes[:code] = extract_value(parsed[:code])
90
+ end
91
+
92
+ # Extract year if not already extracted from code_with_year
93
+ attributes[:year] ||= extract_value(parsed[:year]) if parsed[:year]
94
+
95
+ # Extract suffix
96
+ attributes[:suffix] = extract_value(parsed[:suffix]) if parsed[:suffix]
97
+
98
+ # Extract reaffirmed year (R2008, R2010, etc.)
99
+ if parsed[:reaffirmed]
100
+ attributes[:reaffirmed] =
101
+ extract_value(parsed[:reaffirmed])
102
+ end
103
+
104
+ attributes
105
+ end
106
+
107
+ # Determine which identifier class to use based on attributes
108
+ # @param attributes [Hash] the extracted attributes
109
+ # @return [Class] the identifier class
110
+ def determine_identifier_class(_attributes)
111
+ # Default to Standard for ACMA
112
+ Identifiers::Standard
113
+ end
114
+
115
+ # Extract a simple value from parsed data
116
+ # @param value [Object] the value to extract
117
+ # @return [String, nil] the extracted string value
118
+ def extract_value(value)
119
+ return nil if value.nil?
120
+ return nil if value.is_a?(Array) && value.empty?
121
+
122
+ if value.is_a?(Array)
123
+ joined = value.join
124
+ return joined.length.positive? ? joined : nil
125
+ end
126
+
127
+ str_value = value.to_s.strip
128
+ str_value.length.positive? ? str_value : nil
129
+ end
130
+
131
+ # Build an Interpretation identifier from parsed interpretation data
132
+ # @param parsed [Hash] the parsed interpretation data
133
+ # @return [Identifiers::Interpretation] the constructed interpretation identifier
134
+ def build_interpretation(parsed)
135
+ attributes = extract_attributes(parsed)
136
+
137
+ # Extract interpretation code (JW, KB, RG, AW, AH, or number)
138
+ if parsed[:interpretation_code]
139
+ attributes[:interpretation_code] =
140
+ extract_value(parsed[:interpretation_code])
141
+ end
142
+
143
+ # Interpretations may not have a year
144
+ attributes[:year] ||= extract_value(parsed[:interpretation_year]) if parsed[:interpretation_year]
145
+
146
+ Identifiers::Interpretation.new(**attributes)
147
+ end
148
+
149
+ # Build a Publication identifier from parsed publication data
150
+ # @param parsed [Hash] the parsed publication data
151
+ # @return [Identifiers::Publication] the constructed publication identifier
152
+ def build_publication(parsed)
153
+ attributes = extract_attributes(parsed)
154
+
155
+ # Extract revision (Rev. 01-23)
156
+ if parsed[:revision]
157
+ revision_data = parsed[:revision]
158
+ if revision_data && revision_data[:revision_year]
159
+ attributes[:revision] =
160
+ extract_value(revision_data[:revision_year])
161
+ end
162
+ end
163
+
164
+ Identifiers::Publication.new(**attributes)
165
+ end
166
+
167
+ # Build a Standard identifier from parsed standard data
168
+ # @param parsed [Hash] the parsed standard data
169
+ # @return [Identifiers::Standard] the constructed standard identifier
170
+ def build_standard(parsed)
171
+ attributes = extract_attributes(parsed)
172
+ Identifiers::Standard.new(**attributes)
173
+ end
174
+ end
175
+ end
176
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pubid
4
+ module Amca
5
+ module Identifier
6
+ # Parse an ACMA identifier string into an identifier object
7
+ # @param identifier [String] The ACMA identifier string to parse
8
+ # @return [Pubid::Amca::Identifier] The appropriate identifier object
9
+ # @raise [Parslet::ParseFailed] If parsing fails
10
+ def self.parse(identifier)
11
+ parsed = Parser.parse(identifier)
12
+ Builder.build(parsed)
13
+ rescue Parslet::ParseFailed => e
14
+ raise "Failed to parse ACMA identifier '#{identifier}': #{e.message}"
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,64 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pubid
4
+ module Amca
5
+ module Identifiers
6
+ # Base identifier class for ACMA identifiers
7
+ # Single Responsibility: Common functionality for all ACMA identifier types
8
+ class Base < Pubid::Identifier
9
+ # Override base_hash to handle AMCA-specific copublisher format (string, not array)
10
+ def base_hash
11
+ hash = super
12
+ # AMCA's copublisher is a string, not an array, so remove it from copublishers
13
+ hash.delete(:copublishers) if hash[:copublishers]
14
+ hash
15
+ end
16
+
17
+ attribute :copublisher, :string
18
+ attribute :code, Components::Code
19
+ attribute :year, Components::Date
20
+ attribute :suffix, :string
21
+ attribute :reaffirmed, :string
22
+
23
+ # AMCA uses a fixed publisher string
24
+ def publisher
25
+ "AMCA"
26
+ end
27
+
28
+ # Render the identifier as a string
29
+ def to_s
30
+ parts = []
31
+ parts << copublisher if copublisher
32
+ # type is a hash, get the title
33
+ t = self.class.attributes.key?(:type) ? type : nil
34
+ if t.is_a?(Hash) && t[:title]
35
+ parts << t[:title].to_s
36
+ end
37
+ parts << code.to_s
38
+ parts << "-#{year}" if year
39
+
40
+ result = parts.compact.join(" ")
41
+
42
+ # Handle additional copublisher after year (e.g., /ASHRAE 51-16)
43
+ if copublisher&.include?("/") && year
44
+ type_title = t.is_a?(Hash) ? t[:title].to_s : ""
45
+ result = "#{copublisher} #{type_title} #{code}-#{year}"
46
+ end
47
+
48
+ result += " (#{reaffirmed})" if reaffirmed
49
+
50
+ result
51
+ end
52
+
53
+ def self.parse(string)
54
+ Amca::Identifier.parse(string)
55
+ end
56
+
57
+ def to_urn
58
+ require_relative "../urn_generator"
59
+ UrnGenerator.new(self).generate
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end