pubid 2.0.0.pre.alpha.9 → 2.0.0.pre.alpha.12

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 (461) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +33 -11
  3. data/conformance/pending.yaml +4 -0
  4. data/lib/pubid/adobe/identifier.rb +1 -3
  5. data/lib/pubid/adobe/parser.rb +10 -2
  6. data/lib/pubid/adobe.rb +1 -0
  7. data/lib/pubid/amca/builder.rb +2 -2
  8. data/lib/pubid/amca/identifiers/base.rb +49 -27
  9. data/lib/pubid/amca/identifiers/interpretation.rb +17 -9
  10. data/lib/pubid/amca/identifiers/publication.rb +13 -9
  11. data/lib/pubid/amca/identifiers/standard.rb +2 -0
  12. data/lib/pubid/amca/parser.rb +1 -1
  13. data/lib/pubid/amca/renderer.rb +4 -4
  14. data/lib/pubid/amca/urn_generator.rb +2 -2
  15. data/lib/pubid/amca.rb +2 -1
  16. data/lib/pubid/ansi/builder.rb +2 -2
  17. data/lib/pubid/ansi/identifier.rb +18 -0
  18. data/lib/pubid/ansi/parser.rb +1 -1
  19. data/lib/pubid/ansi/renderer.rb +2 -2
  20. data/lib/pubid/ansi.rb +5 -5
  21. data/lib/pubid/api/builder.rb +16 -2
  22. data/lib/pubid/api/identifier.rb +25 -4
  23. data/lib/pubid/api/identifiers/mpms.rb +10 -8
  24. data/lib/pubid/api/parser.rb +1 -1
  25. data/lib/pubid/api/renderer.rb +16 -7
  26. data/lib/pubid/api/single_identifier.rb +5 -12
  27. data/lib/pubid/api.rb +1 -0
  28. data/lib/pubid/ashrae/builder.rb +31 -10
  29. data/lib/pubid/ashrae/identifiers/addenda_package.rb +6 -0
  30. data/lib/pubid/ashrae/identifiers/addendum.rb +8 -0
  31. data/lib/pubid/ashrae/identifiers/base.rb +81 -5
  32. data/lib/pubid/ashrae/identifiers/combined_addenda.rb +7 -0
  33. data/lib/pubid/ashrae/identifiers/errata.rb +9 -0
  34. data/lib/pubid/ashrae/identifiers/guideline.rb +3 -0
  35. data/lib/pubid/ashrae/identifiers/interpretation.rb +16 -0
  36. data/lib/pubid/ashrae/identifiers/standard.rb +3 -0
  37. data/lib/pubid/ashrae/parser.rb +23 -8
  38. data/lib/pubid/ashrae/renderer.rb +6 -6
  39. data/lib/pubid/ashrae/supplement_identifier.rb +17 -2
  40. data/lib/pubid/ashrae/urn_generator.rb +8 -2
  41. data/lib/pubid/ashrae.rb +7 -1
  42. data/lib/pubid/asme/builder.rb +11 -2
  43. data/lib/pubid/asme/identifier.rb +9 -0
  44. data/lib/pubid/asme/identifiers/standard.rb +86 -2
  45. data/lib/pubid/asme/parser.rb +1 -1
  46. data/lib/pubid/asme/renderer.rb +3 -3
  47. data/lib/pubid/asme/single_identifier.rb +8 -1
  48. data/lib/pubid/asme/urn_generator.rb +2 -2
  49. data/lib/pubid/asme.rb +1 -0
  50. data/lib/pubid/astm/builder.rb +10 -3
  51. data/lib/pubid/astm/identifier.rb +9 -0
  52. data/lib/pubid/astm/identifiers/adjunct.rb +16 -1
  53. data/lib/pubid/astm/identifiers/code_number.rb +81 -0
  54. data/lib/pubid/astm/identifiers/data_series.rb +2 -0
  55. data/lib/pubid/astm/identifiers/iso_dual_published.rb +16 -0
  56. data/lib/pubid/astm/identifiers/manual.rb +10 -0
  57. data/lib/pubid/astm/identifiers/monograph.rb +2 -0
  58. data/lib/pubid/astm/identifiers/research_report.rb +10 -0
  59. data/lib/pubid/astm/identifiers/standard.rb +10 -0
  60. data/lib/pubid/astm/identifiers/technical_report.rb +2 -0
  61. data/lib/pubid/astm/identifiers/work_in_progress.rb +2 -0
  62. data/lib/pubid/astm/identifiers.rb +1 -0
  63. data/lib/pubid/astm/parser.rb +1 -1
  64. data/lib/pubid/astm/renderer.rb +1 -1
  65. data/lib/pubid/astm/single_identifier.rb +31 -1
  66. data/lib/pubid/astm/urn_generator.rb +7 -5
  67. data/lib/pubid/astm.rb +1 -0
  68. data/lib/pubid/bipm/builder.rb +66 -10
  69. data/lib/pubid/bipm/identifier.rb +134 -9
  70. data/lib/pubid/bipm/identifiers/committee_document.rb +12 -0
  71. data/lib/pubid/bipm/identifiers/guide.rb +11 -0
  72. data/lib/pubid/bipm/identifiers/meeting.rb +12 -0
  73. data/lib/pubid/bipm/identifiers/mep.rb +12 -0
  74. data/lib/pubid/bipm/identifiers/metrologia_article.rb +24 -0
  75. data/lib/pubid/bipm/identifiers/si_brochure.rb +13 -0
  76. data/lib/pubid/bipm/parser.rb +65 -12
  77. data/lib/pubid/bipm/renderer.rb +8 -0
  78. data/lib/pubid/bipm/urn_parser.rb +11 -3
  79. data/lib/pubid/bipm.rb +7 -1
  80. data/lib/pubid/bsi/builder.rb +48 -38
  81. data/lib/pubid/bsi/components/date.rb +10 -4
  82. data/lib/pubid/bsi/identifiers/adopted_european_norm.rb +36 -7
  83. data/lib/pubid/bsi/identifiers/adopted_international_standard.rb +7 -6
  84. data/lib/pubid/bsi/identifiers/british_industrial_practice.rb +1 -2
  85. data/lib/pubid/bsi/identifiers/bundled_identifier.rb +10 -0
  86. data/lib/pubid/bsi/identifiers/committee_document.rb +10 -1
  87. data/lib/pubid/bsi/identifiers/handbook.rb +1 -3
  88. data/lib/pubid/bsi/identifiers/practice_guide.rb +1 -2
  89. data/lib/pubid/bsi/identifiers/set.rb +11 -0
  90. data/lib/pubid/bsi/identifiers/standalone_amendment.rb +10 -1
  91. data/lib/pubid/bsi/parser.rb +1 -1
  92. data/lib/pubid/bsi/renderer.rb +63 -51
  93. data/lib/pubid/bsi/single_identifier.rb +27 -9
  94. data/lib/pubid/bsi/urn_generator.rb +11 -2
  95. data/lib/pubid/bsi.rb +7 -1
  96. data/lib/pubid/builder/base.rb +18 -8
  97. data/lib/pubid/bundled_identifier.rb +16 -6
  98. data/lib/pubid/calconnect/identifier.rb +9 -5
  99. data/lib/pubid/calconnect/parser.rb +1 -1
  100. data/lib/pubid/calconnect.rb +7 -1
  101. data/lib/pubid/ccsds/identifier.rb +13 -2
  102. data/lib/pubid/ccsds/identifiers/base.rb +4 -2
  103. data/lib/pubid/ccsds/identifiers/corrigendum.rb +2 -2
  104. data/lib/pubid/ccsds/parser.rb +1 -1
  105. data/lib/pubid/ccsds/single_identifier.rb +16 -12
  106. data/lib/pubid/ccsds.rb +1 -0
  107. data/lib/pubid/cen_cenelec/builder.rb +101 -76
  108. data/lib/pubid/cen_cenelec/identifier.rb +115 -3
  109. data/lib/pubid/cen_cenelec/identifiers/adopted_european_norm.rb +27 -16
  110. data/lib/pubid/cen_cenelec/identifiers/amendment.rb +46 -6
  111. data/lib/pubid/cen_cenelec/identifiers/base.rb +8 -9
  112. data/lib/pubid/cen_cenelec/identifiers/cen_report.rb +1 -1
  113. data/lib/pubid/cen_cenelec/identifiers/cen_workshop_agreement.rb +1 -1
  114. data/lib/pubid/cen_cenelec/identifiers/cenelec_harmonization_document.rb +1 -1
  115. data/lib/pubid/cen_cenelec/identifiers/consolidated_identifier.rb +29 -20
  116. data/lib/pubid/cen_cenelec/identifiers/corrigendum.rb +47 -8
  117. data/lib/pubid/cen_cenelec/identifiers/european_prestandard.rb +27 -2
  118. data/lib/pubid/cen_cenelec/identifiers/european_specification.rb +1 -1
  119. data/lib/pubid/cen_cenelec/identifiers/fragment.rb +15 -5
  120. data/lib/pubid/cen_cenelec/identifiers/guide.rb +1 -1
  121. data/lib/pubid/cen_cenelec/identifiers/harmonization_document.rb +1 -1
  122. data/lib/pubid/cen_cenelec/identifiers/technical_report.rb +1 -1
  123. data/lib/pubid/cen_cenelec/identifiers/technical_specification.rb +1 -1
  124. data/lib/pubid/cen_cenelec/parser.rb +1 -1
  125. data/lib/pubid/cen_cenelec/renderer.rb +55 -60
  126. data/lib/pubid/cen_cenelec/single_identifier.rb +20 -2
  127. data/lib/pubid/cen_cenelec/urn_generator.rb +66 -44
  128. data/lib/pubid/cen_cenelec.rb +28 -10
  129. data/lib/pubid/cie/builder.rb +10 -0
  130. data/lib/pubid/cie/identifier.rb +6 -1
  131. data/lib/pubid/cie/identifiers/bundle.rb +4 -2
  132. data/lib/pubid/cie/identifiers/conference.rb +2 -2
  133. data/lib/pubid/cie/identifiers/corrigendum.rb +2 -2
  134. data/lib/pubid/cie/identifiers/dual_published.rb +2 -2
  135. data/lib/pubid/cie/identifiers/identical.rb +2 -2
  136. data/lib/pubid/cie/identifiers/joint_published.rb +2 -2
  137. data/lib/pubid/cie/identifiers/proceedings.rb +8 -6
  138. data/lib/pubid/cie/identifiers/standard.rb +22 -13
  139. data/lib/pubid/cie/identifiers/supplement.rb +2 -2
  140. data/lib/pubid/cie/identifiers/tutorial_bundle.rb +2 -2
  141. data/lib/pubid/cie/parser.rb +1 -1
  142. data/lib/pubid/cie.rb +7 -1
  143. data/lib/pubid/conformance/checks.rb +72 -0
  144. data/lib/pubid/conformance/corpus/case.rb +55 -0
  145. data/lib/pubid/conformance/corpus.rb +36 -0
  146. data/lib/pubid/conformance/generator.rb +212 -0
  147. data/lib/pubid/conformance/pending.rb +63 -0
  148. data/lib/pubid/conformance/runner.rb +153 -0
  149. data/lib/pubid/conformance.rb +55 -0
  150. data/lib/pubid/core.rb +2 -0
  151. data/lib/pubid/csa/builder.rb +47 -47
  152. data/lib/pubid/csa/composite_identifier.rb +14 -19
  153. data/lib/pubid/csa/identifier.rb +143 -81
  154. data/lib/pubid/csa/identifiers/bundled.rb +23 -13
  155. data/lib/pubid/csa/identifiers/canadian_adopted.rb +13 -13
  156. data/lib/pubid/csa/identifiers/cec.rb +44 -4
  157. data/lib/pubid/csa/identifiers/combined.rb +95 -73
  158. data/lib/pubid/csa/identifiers/csa_adopted.rb +4 -4
  159. data/lib/pubid/csa/identifiers/package.rb +2 -2
  160. data/lib/pubid/csa/parser.rb +6 -2
  161. data/lib/pubid/csa/renderer.rb +13 -5
  162. data/lib/pubid/csa/single_identifier.rb +93 -4
  163. data/lib/pubid/csa/urn_generator.rb +9 -2
  164. data/lib/pubid/csa/wrapper_identifier.rb +39 -23
  165. data/lib/pubid/csa.rb +7 -1
  166. data/lib/pubid/doi/identifier.rb +6 -3
  167. data/lib/pubid/doi/parser.rb +1 -1
  168. data/lib/pubid/doi.rb +1 -0
  169. data/lib/pubid/easc/identifier.rb +0 -2
  170. data/lib/pubid/easc/parser.rb +10 -2
  171. data/lib/pubid/easc.rb +1 -0
  172. data/lib/pubid/ecma/builder.rb +23 -9
  173. data/lib/pubid/ecma/identifier.rb +81 -10
  174. data/lib/pubid/ecma/parser.rb +39 -4
  175. data/lib/pubid/ecma/renderer.rb +29 -8
  176. data/lib/pubid/ecma/urn_generator.rb +34 -13
  177. data/lib/pubid/ecma/urn_parser.rb +30 -14
  178. data/lib/pubid/ecma.rb +1 -0
  179. data/lib/pubid/errors.rb +80 -0
  180. data/lib/pubid/etsi/builder.rb +6 -1
  181. data/lib/pubid/etsi/identifiers/base.rb +34 -20
  182. data/lib/pubid/etsi/identifiers/etsi_standard.rb +120 -41
  183. data/lib/pubid/etsi/identifiers/supplement_identifier.rb +10 -0
  184. data/lib/pubid/etsi/parser.rb +1 -1
  185. data/lib/pubid/etsi.rb +1 -0
  186. data/lib/pubid/evs/builder.rb +26 -0
  187. data/lib/pubid/evs/identifier.rb +37 -0
  188. data/lib/pubid/evs/identifiers/national_adoption.rb +22 -0
  189. data/lib/pubid/evs/identifiers.rb +9 -0
  190. data/lib/pubid/evs/parser.rb +27 -0
  191. data/lib/pubid/evs/renderer.rb +30 -0
  192. data/lib/pubid/evs/urn_generator.rb +30 -0
  193. data/lib/pubid/evs/urn_parser.rb +80 -0
  194. data/lib/pubid/evs.rb +90 -0
  195. data/lib/pubid/export.rb +1 -0
  196. data/lib/pubid/format_detector.rb +1 -0
  197. data/lib/pubid/gb/builder.rb +14 -9
  198. data/lib/pubid/gb/identifier.rb +29 -7
  199. data/lib/pubid/gb/parser.rb +5 -1
  200. data/lib/pubid/gb/renderer.rb +4 -3
  201. data/lib/pubid/gb.rb +2 -0
  202. data/lib/pubid/gost/builder.rb +46 -9
  203. data/lib/pubid/gost/identifier.rb +0 -2
  204. data/lib/pubid/gost/identifiers/foreign_reference.rb +1 -1
  205. data/lib/pubid/gost/parser.rb +10 -2
  206. data/lib/pubid/gost.rb +1 -0
  207. data/lib/pubid/iala/identifier.rb +9 -6
  208. data/lib/pubid/iala/parser.rb +10 -2
  209. data/lib/pubid/iala/urn_parser.rb +6 -2
  210. data/lib/pubid/iala.rb +1 -0
  211. data/lib/pubid/iana/builder.rb +3 -1
  212. data/lib/pubid/iana/identifier.rb +74 -6
  213. data/lib/pubid/iana/identifiers/registry.rb +36 -0
  214. data/lib/pubid/iana/parser.rb +1 -1
  215. data/lib/pubid/iana/renderer.rb +3 -0
  216. data/lib/pubid/iana/urn_generator.rb +5 -1
  217. data/lib/pubid/iana.rb +1 -0
  218. data/lib/pubid/identifier.rb +605 -13
  219. data/lib/pubid/identifier_metadata.rb +1 -0
  220. data/lib/pubid/idf/builder.rb +3 -3
  221. data/lib/pubid/idf/identifier.rb +25 -9
  222. data/lib/pubid/idf/identifiers/amendment.rb +1 -1
  223. data/lib/pubid/idf/identifiers/corrigendum.rb +1 -1
  224. data/lib/pubid/idf/identifiers/international_standard.rb +1 -1
  225. data/lib/pubid/idf/identifiers/reviewed_method.rb +1 -1
  226. data/lib/pubid/idf/parser.rb +1 -1
  227. data/lib/pubid/idf/renderer.rb +4 -4
  228. data/lib/pubid/idf/single_identifier.rb +1 -1
  229. data/lib/pubid/idf/urn_generator.rb +1 -1
  230. data/lib/pubid/idf.rb +7 -1
  231. data/lib/pubid/iec/builder.rb +14 -7
  232. data/lib/pubid/iec/components.rb +0 -1
  233. data/lib/pubid/iec/identifier.rb +73 -83
  234. data/lib/pubid/iec/identifiers/amendment.rb +6 -2
  235. data/lib/pubid/iec/identifiers/component_specification.rb +0 -10
  236. data/lib/pubid/iec/identifiers/conformity_assessment.rb +0 -10
  237. data/lib/pubid/iec/identifiers/corrigendum.rb +2 -2
  238. data/lib/pubid/iec/identifiers/fragment_identifier.rb +2 -4
  239. data/lib/pubid/iec/identifiers/guide.rb +0 -16
  240. data/lib/pubid/iec/identifiers/international_standard.rb +15 -2
  241. data/lib/pubid/iec/identifiers/operational_document.rb +0 -10
  242. data/lib/pubid/iec/identifiers/publicly_available_specification.rb +0 -12
  243. data/lib/pubid/iec/identifiers/societal_technology_trend_report.rb +0 -10
  244. data/lib/pubid/iec/identifiers/systems_reference_document.rb +0 -10
  245. data/lib/pubid/iec/identifiers/technical_report.rb +0 -17
  246. data/lib/pubid/iec/identifiers/technical_specification.rb +0 -17
  247. data/lib/pubid/iec/identifiers/technology_report.rb +0 -10
  248. data/lib/pubid/iec/identifiers/test_report_form.rb +0 -11
  249. data/lib/pubid/iec/identifiers/white_paper.rb +0 -10
  250. data/lib/pubid/iec/identifiers/working_document.rb +24 -10
  251. data/lib/pubid/iec/parser.rb +2 -18
  252. data/lib/pubid/iec/renderer.rb +13 -10
  253. data/lib/pubid/iec/single_identifier.rb +33 -10
  254. data/lib/pubid/iec/urn_generator.rb +227 -61
  255. data/lib/pubid/iec/urn_parser.rb +42 -4
  256. data/lib/pubid/iec.rb +1 -0
  257. data/lib/pubid/ieee/aiee/identifier.rb +2 -2
  258. data/lib/pubid/ieee/aiee/parser.rb +1 -1
  259. data/lib/pubid/ieee/builder.rb +87 -3
  260. data/lib/pubid/ieee/identifiers/adopted_standard.rb +32 -0
  261. data/lib/pubid/ieee/identifiers/base.rb +42 -5
  262. data/lib/pubid/ieee/identifiers/csa_dual_published.rb +21 -0
  263. data/lib/pubid/ieee/identifiers/dual_published.rb +55 -0
  264. data/lib/pubid/ieee/identifiers/interpretation_identifier.rb +23 -0
  265. data/lib/pubid/ieee/identifiers/joint_development.rb +11 -7
  266. data/lib/pubid/ieee/identifiers/multi_numbered_identifier.rb +57 -5
  267. data/lib/pubid/ieee/identifiers/nesc/base.rb +2 -2
  268. data/lib/pubid/ieee/identifiers/nesc/draft.rb +2 -2
  269. data/lib/pubid/ieee/identifiers/nesc/handbook.rb +2 -2
  270. data/lib/pubid/ieee/identifiers/nesc/redline.rb +2 -2
  271. data/lib/pubid/ieee/identifiers/nesc/standard.rb +2 -2
  272. data/lib/pubid/ieee/identifiers/si_standard.rb +5 -2
  273. data/lib/pubid/ieee/ire/identifier.rb +2 -2
  274. data/lib/pubid/ieee/ire/parser.rb +20 -2
  275. data/lib/pubid/ieee/nesc/parser.rb +1 -1
  276. data/lib/pubid/ieee/parser.rb +208 -33
  277. data/lib/pubid/ieee/project_renderer.rb +46 -0
  278. data/lib/pubid/ieee/renderer.rb +11 -8
  279. data/lib/pubid/ieee/urn_generator.rb +32 -3
  280. data/lib/pubid/ieee.rb +9 -1
  281. data/lib/pubid/ieee_debug.rb +1 -0
  282. data/lib/pubid/ietf/builder.rb +24 -8
  283. data/lib/pubid/ietf/identifiers/base.rb +25 -28
  284. data/lib/pubid/ietf/identifiers/bcp.rb +11 -0
  285. data/lib/pubid/ietf/identifiers/fyi.rb +11 -0
  286. data/lib/pubid/ietf/identifiers/internet_draft.rb +18 -2
  287. data/lib/pubid/ietf/identifiers/rfc.rb +2 -0
  288. data/lib/pubid/ietf/identifiers/serialization.rb +51 -0
  289. data/lib/pubid/ietf/identifiers/std.rb +11 -0
  290. data/lib/pubid/ietf/identifiers.rb +1 -0
  291. data/lib/pubid/ietf/parser.rb +27 -9
  292. data/lib/pubid/ietf/renderer.rb +44 -6
  293. data/lib/pubid/ietf/urn_generator.rb +20 -6
  294. data/lib/pubid/ietf/urn_parser.rb +10 -2
  295. data/lib/pubid/ietf.rb +12 -2
  296. data/lib/pubid/iho/identifiers/base.rb +10 -3
  297. data/lib/pubid/iho/parser.rb +1 -1
  298. data/lib/pubid/iho.rb +1 -0
  299. data/lib/pubid/isbn/identifier.rb +25 -7
  300. data/lib/pubid/isbn/parser.rb +1 -1
  301. data/lib/pubid/isbn.rb +1 -0
  302. data/lib/pubid/iso/builder.rb +10 -11
  303. data/lib/pubid/iso/bundled_identifier.rb +5 -3
  304. data/lib/pubid/iso/combined_identifier.rb +5 -3
  305. data/lib/pubid/iso/components.rb +0 -1
  306. data/lib/pubid/iso/identifier.rb +23 -11
  307. data/lib/pubid/iso/identifiers/directives.rb +7 -4
  308. data/lib/pubid/iso/identifiers/directives_supplement.rb +4 -4
  309. data/lib/pubid/iso/identifiers/tc_document.rb +31 -46
  310. data/lib/pubid/iso/normalizer.rb +1 -1
  311. data/lib/pubid/iso/parser.rb +1 -1
  312. data/lib/pubid/iso/urn_generator.rb +10 -10
  313. data/lib/pubid/iso.rb +12 -5
  314. data/lib/pubid/itu/builder.rb +10 -0
  315. data/lib/pubid/itu/identifiers/addendum.rb +2 -2
  316. data/lib/pubid/itu/identifiers/amendment.rb +2 -2
  317. data/lib/pubid/itu/identifiers/base.rb +29 -5
  318. data/lib/pubid/itu/identifiers/contribution.rb +31 -0
  319. data/lib/pubid/itu/identifiers/corrigendum.rb +2 -2
  320. data/lib/pubid/itu/identifiers/errata.rb +2 -2
  321. data/lib/pubid/itu/identifiers/supplement.rb +2 -2
  322. data/lib/pubid/itu/identifiers.rb +1 -0
  323. data/lib/pubid/itu/parser.rb +20 -3
  324. data/lib/pubid/itu.rb +1 -0
  325. data/lib/pubid/jcgm/builder.rb +1 -1
  326. data/lib/pubid/jcgm/identifier.rb +10 -0
  327. data/lib/pubid/jcgm/identifiers/meeting.rb +1 -1
  328. data/lib/pubid/jcgm/parser.rb +10 -3
  329. data/lib/pubid/jcgm/renderer.rb +10 -3
  330. data/lib/pubid/jcgm/single_identifier.rb +24 -15
  331. data/lib/pubid/jcgm/urn_generator.rb +1 -1
  332. data/lib/pubid/jcgm/urn_parser.rb +156 -14
  333. data/lib/pubid/jcgm.rb +10 -0
  334. data/lib/pubid/jis/identifier.rb +10 -3
  335. data/lib/pubid/jis/parser.rb +1 -1
  336. data/lib/pubid/jis.rb +1 -0
  337. data/lib/pubid/nist/builder.rb +12 -12
  338. data/lib/pubid/nist/components/stage.rb +2 -2
  339. data/lib/pubid/nist/configuration.rb +6 -8
  340. data/lib/pubid/nist/identifiers/base.rb +22 -5
  341. data/lib/pubid/nist/identifiers/circular.rb +9 -2
  342. data/lib/pubid/nist/identifiers/circular_supplement.rb +14 -5
  343. data/lib/pubid/nist/identifiers/commercial_standard_emergency.rb +1 -1
  344. data/lib/pubid/nist/identifiers/commercial_standards_monthly.rb +7 -1
  345. data/lib/pubid/nist/identifiers/crpl_report.rb +12 -7
  346. data/lib/pubid/nist/identifiers/federal_information_processing_standards.rb +2 -2
  347. data/lib/pubid/nist/identifiers/handbook.rb +9 -2
  348. data/lib/pubid/nist/identifiers/internal_report.rb +12 -5
  349. data/lib/pubid/nist/identifiers/miscellaneous_publication.rb +16 -8
  350. data/lib/pubid/nist/identifiers/monograph.rb +14 -7
  351. data/lib/pubid/nist/identifiers/report.rb +14 -6
  352. data/lib/pubid/nist/parser.rb +1 -1
  353. data/lib/pubid/nist/series/ir.rb +3 -7
  354. data/lib/pubid/nist/supplement_identifier.rb +16 -1
  355. data/lib/pubid/nist.rb +7 -1
  356. data/lib/pubid/oasis/builder.rb +12 -10
  357. data/lib/pubid/oasis/identifier.rb +89 -11
  358. data/lib/pubid/oasis/parser.rb +1 -1
  359. data/lib/pubid/oasis.rb +7 -1
  360. data/lib/pubid/ogc/identifier.rb +9 -5
  361. data/lib/pubid/ogc/parser.rb +1 -1
  362. data/lib/pubid/ogc.rb +1 -0
  363. data/lib/pubid/oiml/builder.rb +7 -3
  364. data/lib/pubid/oiml/identifiers/basic_publication.rb +2 -0
  365. data/lib/pubid/oiml/identifiers/bulletin.rb +40 -10
  366. data/lib/pubid/oiml/identifiers/code_number.rb +90 -0
  367. data/lib/pubid/oiml/identifiers/document.rb +2 -0
  368. data/lib/pubid/oiml/identifiers/expert_report.rb +2 -0
  369. data/lib/pubid/oiml/identifiers/guide.rb +2 -0
  370. data/lib/pubid/oiml/identifiers/recommendation.rb +2 -0
  371. data/lib/pubid/oiml/identifiers/seminar_report.rb +2 -0
  372. data/lib/pubid/oiml/identifiers/vocabulary.rb +2 -0
  373. data/lib/pubid/oiml/identifiers.rb +1 -0
  374. data/lib/pubid/oiml/parser.rb +8 -3
  375. data/lib/pubid/oiml/renderer.rb +3 -3
  376. data/lib/pubid/oiml/single_identifier.rb +26 -42
  377. data/lib/pubid/oiml/supplement_identifier.rb +27 -0
  378. data/lib/pubid/oiml/urn_generator.rb +4 -4
  379. data/lib/pubid/oiml.rb +7 -1
  380. data/lib/pubid/omg/builder.rb +1 -0
  381. data/lib/pubid/omg/identifier.rb +20 -3
  382. data/lib/pubid/omg/parser.rb +64 -11
  383. data/lib/pubid/omg/renderer.rb +13 -1
  384. data/lib/pubid/omg.rb +2 -1
  385. data/lib/pubid/parser/grammar.rb +74 -0
  386. data/lib/pubid/parser.rb +2 -0
  387. data/lib/pubid/parsers/mr_string.rb +19 -0
  388. data/lib/pubid/plateau/parser.rb +1 -1
  389. data/lib/pubid/plateau.rb +10 -0
  390. data/lib/pubid/prefixes_support.rb +1 -0
  391. data/lib/pubid/renderers/annotator.rb +233 -0
  392. data/lib/pubid/renderers/base.rb +13 -0
  393. data/lib/pubid/renderers/directives_renderer.rb +6 -4
  394. data/lib/pubid/renderers/human_readable.rb +3 -3
  395. data/lib/pubid/renderers/mr_string.rb +15 -9
  396. data/lib/pubid/renderers.rb +1 -0
  397. data/lib/pubid/rendering/numbering.rb +25 -7
  398. data/lib/pubid/rendering.rb +1 -0
  399. data/lib/pubid/sae/builder.rb +1 -1
  400. data/lib/pubid/sae/identifiers/base.rb +13 -3
  401. data/lib/pubid/sae/parser.rb +1 -1
  402. data/lib/pubid/sae/urn_generator.rb +1 -1
  403. data/lib/pubid/sae.rb +1 -0
  404. data/lib/pubid/schema/declaration.rb +33 -0
  405. data/lib/pubid/schema/error.rb +14 -0
  406. data/lib/pubid/schema/identifier_type.rb +23 -0
  407. data/lib/pubid/schema/loader.rb +117 -0
  408. data/lib/pubid/schema/typed_stage.rb +24 -0
  409. data/lib/pubid/schema.rb +25 -0
  410. data/lib/pubid/tgpp/builder.rb +1 -1
  411. data/lib/pubid/tgpp/identifier.rb +21 -5
  412. data/lib/pubid/tgpp/identifiers/technical_report.rb +2 -2
  413. data/lib/pubid/tgpp/identifiers/technical_specification.rb +2 -2
  414. data/lib/pubid/tgpp/parser.rb +22 -6
  415. data/lib/pubid/tgpp/renderer.rb +21 -5
  416. data/lib/pubid/tgpp/urn_generator.rb +27 -8
  417. data/lib/pubid/tgpp/urn_parser.rb +8 -6
  418. data/lib/pubid/tgpp.rb +7 -1
  419. data/lib/pubid/type_resolver.rb +16 -1
  420. data/lib/pubid/un/identifier.rb +6 -3
  421. data/lib/pubid/un/parser.rb +1 -1
  422. data/lib/pubid/un.rb +1 -0
  423. data/lib/pubid/urn_parser/errors.rb +8 -1
  424. data/lib/pubid/urn_parser.rb +1 -0
  425. data/lib/pubid/utils.rb +1 -0
  426. data/lib/pubid/version.rb +1 -1
  427. data/lib/pubid/w3c/builder.rb +5 -5
  428. data/lib/pubid/w3c/identifier.rb +38 -9
  429. data/lib/pubid/w3c/parser.rb +1 -1
  430. data/lib/pubid/w3c/renderer.rb +1 -1
  431. data/lib/pubid/w3c/urn_generator.rb +2 -2
  432. data/lib/pubid/w3c.rb +1 -0
  433. data/lib/pubid/xsf/identifier.rb +9 -5
  434. data/lib/pubid/xsf/parser.rb +17 -4
  435. data/lib/pubid/xsf.rb +7 -1
  436. data/lib/pubid.rb +399 -21
  437. data/lib/tasks/conformance.rake +34 -0
  438. data/lib/tasks/docs.rake +16 -14
  439. data/lib/tasks/schema.rake +88 -0
  440. data/schema/core/joint_prefixes.yaml +24 -0
  441. data/schema/iec.yaml +1017 -0
  442. data/schema/iso.yaml +1586 -0
  443. data/schema/schema.schema.yaml +96 -0
  444. metadata +40 -19
  445. data/archived-gems/pubid-ccsds/update_codes.yaml +0 -1
  446. data/archived-gems/pubid-iec/stages.yaml +0 -129
  447. data/archived-gems/pubid-iec/update_codes.yaml +0 -67
  448. data/archived-gems/pubid-ieee/update_codes.yaml +0 -104
  449. data/archived-gems/pubid-iso/stages.yaml +0 -106
  450. data/archived-gems/pubid-iso/update_codes.yaml +0 -4
  451. data/archived-gems/pubid-itu/i18n.yaml +0 -13
  452. data/archived-gems/pubid-itu/series.yaml +0 -42
  453. data/archived-gems/pubid-nist/publishers.yaml +0 -6
  454. data/archived-gems/pubid-nist/series.yaml +0 -121
  455. data/archived-gems/pubid-nist/update_codes.yaml +0 -93
  456. data/archived-gems/pubid-plateau/update_codes.yaml +0 -6
  457. data/lib/pubid/ccsds/identifiers/base_BASE_88929.rb +0 -70
  458. data/lib/pubid/cen_cenelec/supplement_identifier.rb +0 -48
  459. data/lib/pubid/iec/components/code.rb +0 -36
  460. data/lib/pubid/iso/components/code.rb +0 -24
  461. /data/{archived-gems/pubid-nist → data/nist}/stages.yaml +0 -0
@@ -1,106 +0,0 @@
1
- abbreviations:
2
- PWI: ["00.00", "00.20", "00.60", "00.98", "00.99"]
3
- NP: ["10.00", "10.20", "10.60", "10.98", "10.92"]
4
- AWI: ["20.00", "10.99"]
5
- WD: ["20.20", "20.60", "20.98", "20.99"]
6
- PreCD: ["29.00", "29.20", "29.60", "29.92", "29.98", "29.99"]
7
- CD: ["30.00", "30.20", "30.60", "30.92", "30.98", "30.99"]
8
- FCD: ["40.00", "40.20", "40.60", "40.92", "40.98", "40.99"]
9
- PRF: ["50.00", "50.20", "50.60", "50.92", "50.98", "50.99"]
10
- WDR: ["90.92"]
11
- WDA: ["90.93"]
12
- WDAR: ["95.99"]
13
- IS: ["60.00", "60.60"]
14
-
15
- names:
16
- WD: Working Draft
17
- PWI: Preliminary Work Item
18
- NP: New Proposal
19
- CD: Committee Draft
20
- FCD: Final Committee Draft
21
- PRF: Proof of a new
22
-
23
- codes_description:
24
- "00.00": Proposal for new project received
25
- "00.20": Proposal for new project under review
26
- "00.60": Close of review
27
- "00.98": Proposal for new project abandoned
28
- "00.99": Approval to ballot proposal for new project
29
- "10.00": Proposal for new project registered
30
- "10.20": New project ballot initiated
31
- "10.60": Close of voting
32
- "10.92": Proposal returned to submitter for further definition
33
- "10.98": New project rejected
34
- "10.99": New project approved
35
- "20.00": New project registered in TC/SC work programme
36
- "20.20": Working draft (WD) study initiated
37
- "20.60": Close of comment period
38
- "20.98": Project deleted
39
- "20.99": WD approved for registration as CD
40
- "29.00": Committee draft (CD) registered
41
- "29.20": CD study/ballot initiated
42
- "29.60": Close of voting/ comment period
43
- "29.92": CD referred back to Working Group
44
- "29.98": Project deleted
45
- "29.99": CD approved for registration as DIS
46
- "30.00": Committee draft (CD) registered
47
- "30.20": CD study/ballot initiated
48
- "30.60": Close of voting/ comment period
49
- "30.92": CD referred back to Working Group
50
- "30.98": Project deleted
51
- "30.99": CD approved for registration as DIS
52
- "40.00": DIS registered
53
- "40.20": "DIS ballot initiated: 12 weeks"
54
- "40.60": Close of voting
55
- "40.93": "Full report circulated: decision for new DIS ballot"
56
- "40.98": Project deleted
57
- "40.92": "Full report circulated: DIS referred back to TC or SC"
58
- "40.99": "Full report circulated: DIS approved for registration as FDIS"
59
- "50.00": Final text received or FDIS registered for formal approval
60
- "50.20": "Proof sent to secretariat or FDIS ballot initiated: 8 weeks"
61
- "50.60": Close of voting. Proof returned by secretariat
62
- "50.92": FDIS or proof referred back to TC or SC
63
- "50.98": Project deleted
64
- "50.99": FDIS or proof approved for publication
65
- "60.00": International Standard under publication
66
- "60.60": International Standard published
67
- "90.20": International Standard under systematic review
68
- "90.60": Close of review
69
- "90.92": International Standard to be revised
70
- "90.93": International Standard confirmed
71
- "90.99": Withdrawal of International Standard proposed by TC or SC
72
- "95.20": Withdrawal ballot initiated
73
- "95.60": Close of voting
74
- "95.92": Decision not to withdraw International Standard
75
- "95.99": Withdrawal of International Standard
76
-
77
- stage_codes:
78
- preliminary: "00"
79
- proposal: "10"
80
- preparatory: "20"
81
- committee: "30"
82
- enquiry: "40"
83
- approval: "50"
84
- publication: "60"
85
- review: "90"
86
- withdrawal: "95"
87
-
88
- substage_codes:
89
- registration: "00"
90
- start_of_main_action: "20"
91
- completion_of_main_action: "60"
92
- repeat_an_earlier_phase: "92"
93
- repeat_current_phase: "93"
94
- abandon: "98"
95
- proceed: "99"
96
-
97
- draft_codes: ["00.00", "00.20", "00.60", "00.99", "10.00", "10.20", "10.60", "10.92",
98
- "10.99", "20.00", "20.20", "20.60", "20.99", "29.00", "29.20", "29.60", "29.92",
99
- "29.99", "30.00", "30.20", "30.60", "30.92", "30.99", "40.00", "40.20", "40.60",
100
- "40.92", "40.93", "40.99", "50.00", "50.20", "50.60", "50.92", "50.99"]
101
-
102
- canceled_codes: ["00.98", "10.98", "20.98", "30.98", "40.98", "50.98", "95.99"]
103
- published_codes: ["60.00", "60.60", "90.20", "90.60", "90.92", "90.93", "90.99", "95.20", "95.60", "95.92"]
104
-
105
-
106
-
@@ -1,4 +0,0 @@
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)
@@ -1,13 +0,0 @@
1
- publisher:
2
- ITU:
3
- ru: МСЭ
4
- es: UIT
5
- fr: UIT
6
-
7
- type:
8
- REC:
9
- ru: Рек.
10
- es: Rec.
11
- fr: Rec.
12
- cn: 建议书
13
- ar: "التوصية"
@@ -1,42 +0,0 @@
1
- R:
2
- BO: Satellite delivery
3
- BR: Recording for production, archival and play-out; film for television
4
- BS: Broadcasting service (sound)
5
- BT: Broadcasting service (television)
6
- F: Fixed service
7
- M: Mobile, radiodetermination, amateur and related satellite services
8
- P: Radiowave propagation
9
- RA: Radio astronomy
10
- RS: Remote sensing systems
11
- S: Fixed-satellite service
12
- SA: Space applications and meteorology
13
- SF: Frequency sharing and coordination between fixed-satellite and fixed service systems SM Spectrum management
14
- SM: Spectrum management
15
- SNG: Satellite news gathering
16
- TF: Time signals and frequency standards emissions
17
- V: Vocabulary and related subjects
18
-
19
- T:
20
- A: Organization of the work of ITU-T
21
- D: Tariff and accounting principles and international telecommunication/ICT economic and policy issues
22
- E: Overall network operation, telephone service, service operation and human factors
23
- F: Non-telephone telecommunication services
24
- G: Transmission systems and media, digital systems and networks
25
- H: Audiovisual and multimedia systems
26
- I: Integrated services digital network
27
- J: Cable networks and transmission of television, sound programme and other multimedia signals
28
- K: Protection against interference
29
- L: Environment and ICTs, climate change, e-waste, energy efficiency; construction, installation and protection of cables and other elements of outside plant
30
- M: Telecommunication management, including TMN and network maintenance
31
- N: "Maintenance: international sound programme and television-transmission circuits"
32
- O: Specifications of measuring equipment
33
- P: Telephone transmission quality, telephone installations, local line networks
34
- Q: Switching and signalling, and associated measurements and tests
35
- R: Telegraph transmission
36
- S: Telegraph services terminal equipment
37
- T: Terminals for telematic services
38
- U: Telegraph switching
39
- V: Data communication over the telephone network
40
- X: Data networks, open system communications and security
41
- Y: Global information infrastructure, Internet protocol aspects, next-generation networks, Internet of Things and smart cities
42
- Z: Languages and general software aspects for telecommunication systems
@@ -1,6 +0,0 @@
1
- long:
2
- NIST: National Institute of Standards and Technology
3
- NBS: National Bureau of Standards
4
- abbrev:
5
- NIST: Natl. Inst. Stand. Technol.
6
- NBS: Natl. Bur. Stand.
@@ -1,121 +0,0 @@
1
- long:
2
- AMS: Advanced Manufacturing Series
3
- BSS: Building Science Series
4
- BMS: Building Material Structures Report
5
- NBS BRPD-CRPL-D: Basic Radio Propagation Predictions Series
6
- BH: Building and Housing
7
- CRPL: Central Radio Propagation Laboratory Reports
8
- NBS CRPL-F-A: CRPL Ionospheric Data
9
- NBS CRPL-F-B: CRPL Solar-Geophysical Data
10
- NBS IP: CRPL Ionospheric Predictions
11
- CIRC: Circulars
12
- NBS CIS: Consumer Information Series
13
- CS: Commercial Standards
14
- NBS CS-E: Commercial Standards (emergency)
15
- CSM: Commercial Standards Monthly
16
- FIPS: Federal Information Processing Standards Publication
17
- GCR: Grant/Contract Reports
18
- HB: Handbooks
19
- NBS HR: Hydraulic Research in the United States
20
- NBS IRPL: Interservice Radio Propagation Laboratory
21
- ITL Bulletin: ITL Bulletin
22
- NIST LC: Letter Circular
23
- NBS LC: Letter Circular
24
- MONO: Monograph
25
- MP: Miscellaneous Publications
26
- NCSTAR: National Construction Safety Team Act Reports
27
- NSRDS: National Standard Reference Data Series
28
- NSRDS-NBS: National Standard Reference Data Series
29
- IR: IR
30
- OWMWP: Office of Weights and Measures White Papers
31
- PC: Photographic Laboratory Circulars
32
- RPT: Reports
33
- NIST PS: Voluntary Product Standards
34
- SIBS: Special Interior Ballistics Studies
35
- NBS PS: Voluntary Product Standards
36
- SP: Special Publication
37
- TN: Technical Notes
38
- TIBM: Technical Information on Building Materials for Use in the Design of Low Cost Housing
39
- TTB: Technology Transfer Briefs
40
- NIST DCI: Data Collection Instruments
41
- EAB: Economic Analysis Brief
42
- NIST Other: Other
43
- CSWP: Cybersecurity White Papers
44
- CSRC Book: Cybersecurity Resource Center Book
45
- CSRC Use Case: Cybersecurity Resource Center Use Case
46
- CSRC Building Block: Cybersecurity Resource Center Building Block
47
- JPCRD: Journal of Physical and Chemical Reference Data
48
- JRES: Journal of Research of NIST
49
- VTS: Voting Technology Series
50
- AI: NIST Trustworthy and Responsible AI
51
- abbrev:
52
- AMS: Adv. Man. Ser
53
- BSS: Bldg. Sci. Ser.
54
- FIPS: Federal Inf. Process. Stds.
55
- HB: Handb.
56
- MONO: Monogr.
57
- NCSTAR: Natl. Constr. Tm. Act Rpt.
58
- NSRDS: Natl. Stand. Ret. Data Ser.
59
- NSRDS-NBS: Natl. Stand. Ret. Data Ser.
60
- NIST PS: Prod. Stand.
61
- NBS PS: Prod. Stand.
62
- SP: Spec. Publ.
63
- TN: Tech. Note
64
- NIST DCI: Data Collect. Instr.
65
- NIST Other: Other
66
- CSWP: CSWP
67
- CSRC Book: CSRC Book
68
- CSRC Use Case: CSRC Use Case
69
- CSRC Building Block: CSRC Building Block
70
- JPCRD: J. Phys. & Chem. Ref. Data
71
- JRES: J. Res. Natl. Inst. Stan.
72
- mr:
73
- AMS: AMS
74
- BSS: BSS
75
- BMS: BMS
76
- NBS BRPD-CRPL-D: NBS.BRPD-CRPL-D
77
- BH: BH
78
- CRPL: CRPL
79
- NBS CRPL-F-A: NBS.CRPL-F-A
80
- NBS CRPL-F-B: NBS.CRPL-F-B
81
- NBS IP: NBS.IP
82
- CIRC: CIRC
83
- NBS CIS: NBS.CIS
84
- CS: CS
85
- NBS CS-E: NBS.CS-E
86
- CSM: CSM
87
- FIPS: FIPS
88
- GCR: GCR
89
- HB: HB
90
- NBS HR: NBS.HR
91
- NBS IRPL: NBS.IRPL
92
- ITL Bulletin: NIST.ITLB
93
- NIST LC: NIST.LC
94
- NBS LC: NBS.LC
95
- MONO: MN
96
- MP: MP
97
- NCSTAR: NCSTAR
98
- NSRDS: NSRDS
99
- NSRDS-NBS: NBS.NSRDS
100
- IR: IR
101
- OWMWP: OWMWP
102
- PC: PC
103
- RPT: RPT
104
- NIST PS: NIST.PS
105
- SIBS: SIBS
106
- NBS PS: NBS.PS
107
- SP: SP
108
- TN: TN
109
- TIBM: TIBM
110
- TTB: TTB
111
- NIST DCI: NIST.DCI
112
- EAB: EAB
113
- NIST Other: NIST.O
114
- CSWP: CSWP
115
- CSRC Book: NIST.CSB
116
- CSRC Use Case: NIST.CSUC
117
- CSRC Building Block: NIST.CSBB
118
- JPCRD: JPCRD
119
- JRES: NIST.JRES
120
- VTS: VTS
121
- AI: AI
@@ -1,93 +0,0 @@
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"
@@ -1,6 +0,0 @@
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版"
@@ -1,70 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "lutaml/model"
4
- require_relative "../../serializable"
5
- require_relative "../urn_generator"
6
-
7
- module Pubid
8
- module Ccsds
9
- module Identifiers
10
- # CCSDS identifier
11
- # Format: CCSDS NUMBER.PART-TYPE-EDITION[-SUFFIX]
12
- # Example: CCSDS 120.0-G-4, CCSDS 100.0-G-1-S
13
- class Base < Lutaml::Model::Serializable
14
- include Pubid::Serializable
15
-
16
- # Generate URN for this identifier
17
- #
18
- # @return [String] URN representation
19
- def to_urn
20
- UrnGenerator.new(self).generate
21
- end
22
-
23
- # Include CCSDS-specific attributes in serialization
24
- def base_hash
25
- hash = super
26
- # CCSDS uses plain strings for type, edition, suffix
27
- hash[:type] = type if type
28
- hash[:suffix] = suffix if suffix
29
- hash[:language] = language if language
30
- hash
31
- end
32
-
33
- attribute :number, :string
34
- attribute :part, :string
35
- attribute :type, :string # B, G, M, R, Y, O, etc.
36
- attribute :edition, :string
37
- attribute :suffix, :string # Optional suffix like -S
38
- attribute :language, :string # Language metadata (e.g., "French", "Russian")
39
-
40
- def publisher
41
- "CCSDS"
42
- end
43
-
44
- def to_s
45
- result = "#{publisher} #{number}"
46
- result += ".#{part}" if part
47
- result += "-#{type}" if type
48
- result += "-#{edition}" if edition
49
- result += "-#{suffix}" if suffix
50
-
51
- # Add language metadata
52
- result += " - #{language} Translated" if language
53
-
54
- result
55
- end
56
-
57
- def ==(other)
58
- return false unless other.is_a?(Base)
59
-
60
- number == other.number &&
61
- part == other.part &&
62
- type == other.type &&
63
- edition == other.edition &&
64
- suffix == other.suffix &&
65
- language == other.language
66
- end
67
- end
68
- end
69
- end
70
- end
@@ -1,48 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "lutaml/model"
4
-
5
- module Pubid
6
- module CenCenelec
7
- class SupplementIdentifier < Identifiers::Base
8
- attribute :base, Identifiers::Base, polymorphic: true
9
- attribute :number, Components::Code
10
- attribute :date, Components::Date
11
- attribute :stage, Components::Stage
12
- attribute :type, Components::Type
13
- attribute :typed_stage, Components::TypedStage
14
-
15
- # Delegate methods to base for convenient access
16
- def publisher
17
- base&.publisher
18
- end
19
-
20
- def copublishers
21
- base&.copublishers
22
- end
23
-
24
- def <=>(other)
25
- return nil unless other.is_a?(SupplementIdentifier)
26
-
27
- # Compare base identifiers first
28
- base_cmp = base <=> other.base
29
- return base_cmp unless base_cmp.zero?
30
-
31
- # Then compare numbers
32
- num_cmp = (number || Components::Code.new(value: "0")).to_s <=> (other.number || Components::Code.new(value: "0")).to_s
33
- return num_cmp unless num_cmp.zero?
34
-
35
- # Finally compare dates
36
- if date && other.date
37
- date.to_s <=> other.date.to_s
38
- elsif date
39
- 1
40
- elsif other.date
41
- -1
42
- else
43
- 0
44
- end
45
- end
46
- end
47
- end
48
- end
@@ -1,36 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pubid
4
- module Iec
5
- module Components
6
- # Code component for IEC identifiers.
7
- #
8
- # Inherits +value+ and +prefix+ from the shared Code; overrides
9
- # rendering to place the prefix (e.g. "TR", "TS") before the value.
10
- class Code < ::Pubid::Components::Code
11
- def to_s
12
- result = ""
13
- result += "#{prefix} " if prefix
14
- result += value.to_s
15
- result
16
- end
17
-
18
- alias full_code to_s
19
-
20
- # Parse IEC code formats:
21
- # - "60034" (just number)
22
- # - "TR 61000" (with prefix)
23
- # - "TS 62443" (with prefix)
24
- def self.parse(string)
25
- parts = string.strip.split(" ", 2)
26
-
27
- if parts.size == 2
28
- new(prefix: parts[0], value: parts[1])
29
- else
30
- new(value: parts[0])
31
- end
32
- end
33
- end
34
- end
35
- end
36
- end
@@ -1,24 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pubid
4
- module Iso
5
- module Components
6
- # Code component for ISO identifiers.
7
- #
8
- # Inherits +value+ and +parts+ from the shared Code; overrides
9
- # rendering to join parts with "-" (ISO convention). Equality and
10
- # hash are inherited from the shared Code (compare all fields).
11
- class Code < ::Pubid::Components::Code
12
- def to_s
13
- result = value.to_s
14
- result += parts.map { |p| "-#{p}" }.join if parts&.any?
15
- result
16
- end
17
-
18
- def render(context: nil)
19
- to_s
20
- end
21
- end
22
- end
23
- end
24
- end