pubid 2.0.0.pre.alpha.12 → 2.0.0.pre.alpha.14

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 (285) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +43 -1
  3. data/data/ieee/update_codes.yaml +17 -4
  4. data/data/nist/update_codes.yaml +7 -3
  5. data/data/parg/tables/bipm_groups.yaml +14 -0
  6. data/data/parg/tables/bipm_type_codes.yaml +5 -0
  7. data/data/parg/tables/bipm_type_names_en.yaml +6 -0
  8. data/data/parg/tables/bipm_type_names_fr.yaml +6 -0
  9. data/data/parg/tables/directives_supplements_typed_stages.yaml +3 -0
  10. data/data/parg/tables/directives_typed_stages.yaml +5 -0
  11. data/data/parg/tables/idf_typed_stages.yaml +27 -0
  12. data/data/parg/tables/idf_typed_stages_supplements.yaml +2 -0
  13. data/data/parg/tables/iec_typed_stages.yaml +130 -0
  14. data/data/parg/tables/iso_publishers.yaml +4 -0
  15. data/data/parg/tables/organizations.yaml +12 -0
  16. data/data/parg/tables/tc_types.yaml +42 -0
  17. data/data/parg/tables/typed_stages.yaml +114 -0
  18. data/data/parg/tables/typed_stages_supplements.yaml +64 -0
  19. data/data/parg/tables/wg_types.yaml +21 -0
  20. data/lib/pubid/adobe/builder.rb +2 -0
  21. data/lib/pubid/adobe/identifier.rb +11 -1
  22. data/lib/pubid/all_parts.rb +201 -0
  23. data/lib/pubid/all_parts_identifier.rb +19 -0
  24. data/lib/pubid/amca/CLAUDE.md +47 -0
  25. data/lib/pubid/amca/builder.rb +3 -5
  26. data/lib/pubid/amca/identifiers/base.rb +11 -1
  27. data/lib/pubid/amca/identifiers/publication.rb +13 -0
  28. data/lib/pubid/amca/parser.rb +2 -1
  29. data/lib/pubid/amca/renderer.rb +22 -33
  30. data/lib/pubid/amca/urn_generator.rb +21 -2
  31. data/lib/pubid/amca/urn_parser.rb +36 -10
  32. data/lib/pubid/ansi/builder.rb +6 -0
  33. data/lib/pubid/ansi/identifier.rb +1 -1
  34. data/lib/pubid/api/CLAUDE.md +23 -0
  35. data/lib/pubid/api/builder.rb +2 -0
  36. data/lib/pubid/api/identifier.rb +1 -1
  37. data/lib/pubid/api/parser.rb +8 -4
  38. data/lib/pubid/ashrae/CLAUDE.md +13 -0
  39. data/lib/pubid/ashrae/builder.rb +58 -14
  40. data/lib/pubid/ashrae/identifiers/base.rb +10 -1
  41. data/lib/pubid/ashrae/identifiers/errata.rb +14 -2
  42. data/lib/pubid/ashrae/identifiers/interpretation.rb +2 -10
  43. data/lib/pubid/ashrae/parser.rb +80 -39
  44. data/lib/pubid/ashrae/renderer.rb +32 -1
  45. data/lib/pubid/ashrae/urn_generator.rb +32 -9
  46. data/lib/pubid/asme/CLAUDE.md +25 -0
  47. data/lib/pubid/asme/builder.rb +16 -9
  48. data/lib/pubid/asme/components/code.rb +2 -0
  49. data/lib/pubid/asme/identifier.rb +1 -1
  50. data/lib/pubid/asme/identifiers/standard.rb +6 -1
  51. data/lib/pubid/asme/parser.rb +41 -14
  52. data/lib/pubid/astm/CLAUDE.md +9 -0
  53. data/lib/pubid/astm/builder.rb +2 -0
  54. data/lib/pubid/astm/components/code.rb +2 -0
  55. data/lib/pubid/astm/identifier.rb +1 -1
  56. data/lib/pubid/astm/parser.rb +4 -1
  57. data/lib/pubid/bipm/CLAUDE.md +11 -0
  58. data/lib/pubid/bipm/builder.rb +2 -0
  59. data/lib/pubid/bipm/identifier.rb +1 -1
  60. data/lib/pubid/bsi/CLAUDE.md +93 -0
  61. data/lib/pubid/bsi/builder.rb +13 -11
  62. data/lib/pubid/bsi/identifiers/addendum_document.rb +2 -0
  63. data/lib/pubid/bsi/identifiers/adopted_european_norm.rb +6 -54
  64. data/lib/pubid/bsi/identifiers/adopted_international_standard.rb +5 -22
  65. data/lib/pubid/bsi/identifiers/amendment.rb +36 -12
  66. data/lib/pubid/bsi/identifiers/bundled_identifier.rb +2 -0
  67. data/lib/pubid/bsi/identifiers/consolidated_identifier.rb +23 -26
  68. data/lib/pubid/bsi/identifiers/corrigendum.rb +29 -12
  69. data/lib/pubid/bsi/identifiers/expert_commentary.rb +6 -7
  70. data/lib/pubid/bsi/identifiers/national_annex.rb +18 -20
  71. data/lib/pubid/bsi/identifiers/root_identity.rb +31 -0
  72. data/lib/pubid/bsi/identifiers/set.rb +2 -0
  73. data/lib/pubid/bsi/identifiers/supplement_document.rb +2 -0
  74. data/lib/pubid/bsi/identifiers.rb +1 -0
  75. data/lib/pubid/bsi/parser.rb +8 -8
  76. data/lib/pubid/bsi/renderer.rb +20 -20
  77. data/lib/pubid/bsi/single_identifier.rb +1 -3
  78. data/lib/pubid/bsi/urn_generator.rb +28 -18
  79. data/lib/pubid/builder/base.rb +27 -0
  80. data/lib/pubid/calconnect/builder.rb +2 -0
  81. data/lib/pubid/calconnect/identifier.rb +5 -1
  82. data/lib/pubid/ccsds/builder.rb +2 -0
  83. data/lib/pubid/ccsds/identifier.rb +9 -1
  84. data/lib/pubid/cen_cenelec/CLAUDE.md +59 -0
  85. data/lib/pubid/cen_cenelec/builder.rb +6 -1
  86. data/lib/pubid/cen_cenelec/identifier.rb +12 -28
  87. data/lib/pubid/cen_cenelec/identifiers/amendment.rb +3 -10
  88. data/lib/pubid/cen_cenelec/identifiers/corrigendum.rb +3 -10
  89. data/lib/pubid/cen_cenelec/parser.rb +20 -5
  90. data/lib/pubid/cie/CLAUDE.md +58 -0
  91. data/lib/pubid/cie/builder.rb +2 -0
  92. data/lib/pubid/cie/components/language.rb +2 -0
  93. data/lib/pubid/cie/identifier.rb +1 -1
  94. data/lib/pubid/cie/parser.rb +9 -2
  95. data/lib/pubid/components/adoption.rb +2 -0
  96. data/lib/pubid/components/code.rb +2 -0
  97. data/lib/pubid/components/date.rb +8 -6
  98. data/lib/pubid/components/edition.rb +2 -0
  99. data/lib/pubid/components/iteration.rb +2 -0
  100. data/lib/pubid/components/language.rb +2 -0
  101. data/lib/pubid/components/locality.rb +2 -0
  102. data/lib/pubid/components/publisher.rb +2 -0
  103. data/lib/pubid/components/relationship.rb +2 -0
  104. data/lib/pubid/components/stage.rb +2 -0
  105. data/lib/pubid/components/supplement.rb +2 -0
  106. data/lib/pubid/components/type.rb +2 -0
  107. data/lib/pubid/components/typed_stage.rb +8 -0
  108. data/lib/pubid/conformance/checks.rb +1 -1
  109. data/lib/pubid/csa/CLAUDE.md +41 -0
  110. data/lib/pubid/csa/builder.rb +2 -0
  111. data/lib/pubid/csa/identifier.rb +19 -3
  112. data/lib/pubid/csa/parser.rb +25 -8
  113. data/lib/pubid/csa/renderer.rb +12 -12
  114. data/lib/pubid/csa/single_identifier.rb +17 -0
  115. data/lib/pubid/doi/builder.rb +2 -0
  116. data/lib/pubid/doi/identifier.rb +1 -1
  117. data/lib/pubid/easc/builder.rb +2 -0
  118. data/lib/pubid/easc/identifier.rb +10 -1
  119. data/lib/pubid/ecma/CLAUDE.md +28 -0
  120. data/lib/pubid/ecma/builder.rb +2 -0
  121. data/lib/pubid/ecma/identifier.rb +8 -1
  122. data/lib/pubid/etsi/CLAUDE.md +34 -0
  123. data/lib/pubid/etsi/builder.rb +2 -0
  124. data/lib/pubid/etsi/components/code.rb +6 -0
  125. data/lib/pubid/etsi/components/version.rb +2 -0
  126. data/lib/pubid/etsi/identifiers/base.rb +1 -1
  127. data/lib/pubid/etsi/identifiers/etsi_standard.rb +7 -0
  128. data/lib/pubid/evs/CLAUDE.md +58 -0
  129. data/lib/pubid/evs/builder.rb +2 -0
  130. data/lib/pubid/evs.rb +1 -1
  131. data/lib/pubid/gb/CLAUDE.md +140 -0
  132. data/lib/pubid/gb/builder.rb +7 -2
  133. data/lib/pubid/gb/identifier.rb +6 -4
  134. data/lib/pubid/gb/identifiers/all_parts.rb +17 -0
  135. data/lib/pubid/gb/identifiers.rb +1 -0
  136. data/lib/pubid/gb/renderer.rb +0 -1
  137. data/lib/pubid/gost/CLAUDE.md +64 -0
  138. data/lib/pubid/gost/builder.rb +3 -1
  139. data/lib/pubid/gost/identifier.rb +16 -1
  140. data/lib/pubid/gost/parser.rb +8 -1
  141. data/lib/pubid/iala/CLAUDE.md +82 -0
  142. data/lib/pubid/iala/builder.rb +2 -0
  143. data/lib/pubid/iala/identifier.rb +10 -1
  144. data/lib/pubid/iana/CLAUDE.md +7 -0
  145. data/lib/pubid/iana/builder.rb +2 -0
  146. data/lib/pubid/iana/identifier.rb +1 -1
  147. data/lib/pubid/identifier.rb +161 -17
  148. data/lib/pubid/idf/builder.rb +11 -1
  149. data/lib/pubid/idf/identifier.rb +5 -0
  150. data/lib/pubid/idf/identifiers/all_parts.rb +17 -0
  151. data/lib/pubid/idf/identifiers.rb +1 -0
  152. data/lib/pubid/iec/CLAUDE.md +31 -0
  153. data/lib/pubid/iec/builder.rb +7 -1
  154. data/lib/pubid/iec/components/consolidated_amendment.rb +4 -0
  155. data/lib/pubid/iec/components/sheet.rb +2 -0
  156. data/lib/pubid/iec/components/trf_info.rb +2 -0
  157. data/lib/pubid/iec/components/vap_suffix.rb +2 -0
  158. data/lib/pubid/iec/identifier.rb +8 -3
  159. data/lib/pubid/iec/identifiers/all_parts.rb +19 -0
  160. data/lib/pubid/iec/identifiers.rb +1 -0
  161. data/lib/pubid/iec/parser.rb +9 -4
  162. data/lib/pubid/iec/renderer.rb +0 -1
  163. data/lib/pubid/iec/urn_generator.rb +9 -1
  164. data/lib/pubid/iec/urn_parser.rb +3 -2
  165. data/lib/pubid/ieee/CLAUDE.md +97 -0
  166. data/lib/pubid/ieee/builder.rb +194 -27
  167. data/lib/pubid/ieee/components/code.rb +2 -0
  168. data/lib/pubid/ieee/components/draft.rb +35 -2
  169. data/lib/pubid/ieee/components/typed_stage.rb +2 -0
  170. data/lib/pubid/ieee/identifiers/base.rb +21 -1
  171. data/lib/pubid/ieee/identifiers/iec_ieee_copublished.rb +9 -0
  172. data/lib/pubid/ieee/identifiers/joint_development.rb +66 -23
  173. data/lib/pubid/ieee/identifiers/project_draft_identifier.rb +8 -1
  174. data/lib/pubid/ieee/parser.rb +156 -29
  175. data/lib/pubid/ieee/renderer.rb +42 -7
  176. data/lib/pubid/ieee/urn_generator.rb +31 -0
  177. data/lib/pubid/ietf/CLAUDE.md +7 -0
  178. data/lib/pubid/ietf/builder.rb +2 -0
  179. data/lib/pubid/ietf/identifiers/base.rb +1 -1
  180. data/lib/pubid/iho/builder.rb +2 -0
  181. data/lib/pubid/isbn/builder.rb +2 -0
  182. data/lib/pubid/isbn/identifier.rb +1 -1
  183. data/lib/pubid/iso/CLAUDE.md +47 -0
  184. data/lib/pubid/iso/builder.rb +19 -5
  185. data/lib/pubid/iso/components/publisher.rb +2 -0
  186. data/lib/pubid/iso/identifier.rb +10 -15
  187. data/lib/pubid/iso/identifiers/all_parts.rb +19 -0
  188. data/lib/pubid/iso/identifiers/directives_supplement.rb +4 -2
  189. data/lib/pubid/iso/identifiers.rb +1 -0
  190. data/lib/pubid/iso/normalizer.rb +4 -1
  191. data/lib/pubid/iso/rendering_style.rb +0 -1
  192. data/lib/pubid/itu/CLAUDE.md +115 -0
  193. data/lib/pubid/itu/builder.rb +26 -4
  194. data/lib/pubid/itu/components/code.rb +2 -0
  195. data/lib/pubid/itu/components/designation.rb +2 -0
  196. data/lib/pubid/itu/components/sector.rb +2 -0
  197. data/lib/pubid/itu/components/series.rb +2 -0
  198. data/lib/pubid/itu/identifiers/base.rb +11 -18
  199. data/lib/pubid/itu/identifiers/radio_regulations.rb +27 -0
  200. data/lib/pubid/itu/identifiers/special_publication.rb +48 -14
  201. data/lib/pubid/itu/identifiers/standard_serialization.rb +2 -0
  202. data/lib/pubid/itu/identifiers/supplement.rb +15 -0
  203. data/lib/pubid/itu/identifiers.rb +1 -0
  204. data/lib/pubid/itu/parser.rb +108 -22
  205. data/lib/pubid/itu/urn_generator.rb +9 -2
  206. data/lib/pubid/jcgm/CLAUDE.md +7 -0
  207. data/lib/pubid/jcgm/builder.rb +2 -0
  208. data/lib/pubid/jcgm/components/publisher.rb +2 -0
  209. data/lib/pubid/jcgm.rb +1 -1
  210. data/lib/pubid/jis/builder.rb +5 -1
  211. data/lib/pubid/jis/identifier.rb +6 -18
  212. data/lib/pubid/jis/identifiers/all_parts.rb +19 -0
  213. data/lib/pubid/jis/identifiers.rb +1 -0
  214. data/lib/pubid/jis/renderer.rb +0 -2
  215. data/lib/pubid/jis/urn_generator.rb +0 -1
  216. data/lib/pubid/nist/CLAUDE.md +56 -0
  217. data/lib/pubid/nist/builder.rb +3 -0
  218. data/lib/pubid/nist/components/edition.rb +2 -0
  219. data/lib/pubid/nist/components/issue_number.rb +2 -0
  220. data/lib/pubid/nist/components/part.rb +2 -0
  221. data/lib/pubid/nist/components/stage.rb +2 -0
  222. data/lib/pubid/nist/components/supplement.rb +2 -0
  223. data/lib/pubid/nist/components/translation.rb +2 -0
  224. data/lib/pubid/nist/components/update.rb +2 -0
  225. data/lib/pubid/nist/components/version.rb +2 -0
  226. data/lib/pubid/nist/components/volume.rb +2 -0
  227. data/lib/pubid/nist/identifiers/base.rb +39 -7
  228. data/lib/pubid/nist/parser.rb +24 -2
  229. data/lib/pubid/nist/preprocessor.rb +53 -2
  230. data/lib/pubid/nist/urn_parser.rb +10 -1
  231. data/lib/pubid/oasis/CLAUDE.md +19 -0
  232. data/lib/pubid/oasis/builder.rb +2 -0
  233. data/lib/pubid/oasis/identifier.rb +20 -1
  234. data/lib/pubid/ogc/CLAUDE.md +34 -0
  235. data/lib/pubid/ogc/builder.rb +2 -0
  236. data/lib/pubid/ogc/identifier.rb +12 -1
  237. data/lib/pubid/oiml/CLAUDE.md +189 -0
  238. data/lib/pubid/oiml/builder.rb +20 -0
  239. data/lib/pubid/oiml/components/code.rb +6 -0
  240. data/lib/pubid/oiml/identifier.rb +13 -0
  241. data/lib/pubid/oiml/identifiers/annex.rb +4 -0
  242. data/lib/pubid/oiml/identifiers/certification_system.rb +34 -0
  243. data/lib/pubid/oiml/identifiers/code_number.rb +8 -0
  244. data/lib/pubid/oiml/identifiers/dual_published.rb +174 -0
  245. data/lib/pubid/oiml/identifiers.rb +2 -0
  246. data/lib/pubid/oiml/parser.rb +35 -4
  247. data/lib/pubid/oiml/renderer.rb +23 -1
  248. data/lib/pubid/oiml/single_identifier.rb +4 -0
  249. data/lib/pubid/oiml/supplement_identifier.rb +7 -0
  250. data/lib/pubid/oiml/urn_generator.rb +28 -0
  251. data/lib/pubid/oiml.rb +6 -1
  252. data/lib/pubid/omg/CLAUDE.md +15 -0
  253. data/lib/pubid/omg/builder.rb +2 -0
  254. data/lib/pubid/omg/identifier.rb +1 -1
  255. data/lib/pubid/parg/artifact.rb +46 -0
  256. data/lib/pubid/parg/backend.rb +92 -0
  257. data/lib/pubid/parg.rb +8 -0
  258. data/lib/pubid/parser/grammar.rb +23 -0
  259. data/lib/pubid/pg.rb +8 -0
  260. data/lib/pubid/plateau/builder.rb +2 -0
  261. data/lib/pubid/plateau/identifiers/base.rb +4 -0
  262. data/lib/pubid/plateau/supplement_identifier.rb +14 -2
  263. data/lib/pubid/plateau/urn_generator.rb +7 -1
  264. data/lib/pubid/plateau.rb +1 -2
  265. data/lib/pubid/renderers/human_readable.rb +0 -1
  266. data/lib/pubid/sae/builder.rb +2 -0
  267. data/lib/pubid/sae/components/date.rb +2 -0
  268. data/lib/pubid/sae/components/type.rb +2 -0
  269. data/lib/pubid/sae/identifiers/base.rb +1 -1
  270. data/lib/pubid/subset_match.rb +197 -0
  271. data/lib/pubid/tgpp/CLAUDE.md +43 -0
  272. data/lib/pubid/tgpp/builder.rb +2 -0
  273. data/lib/pubid/tgpp/identifier.rb +15 -1
  274. data/lib/pubid/type_resolver.rb +14 -2
  275. data/lib/pubid/un/builder.rb +2 -0
  276. data/lib/pubid/un/identifier.rb +1 -1
  277. data/lib/pubid/version.rb +1 -1
  278. data/lib/pubid/w3c/CLAUDE.md +7 -0
  279. data/lib/pubid/w3c/builder.rb +2 -0
  280. data/lib/pubid/w3c/identifier.rb +1 -1
  281. data/lib/pubid/xsf/CLAUDE.md +11 -0
  282. data/lib/pubid/xsf/builder.rb +2 -0
  283. data/lib/pubid/xsf/identifier.rb +1 -1
  284. data/lib/pubid.rb +17 -3
  285. metadata +78 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b4e0a5a8d4b5c1410b934712637a882a703f34ded60d92ed1d8f0a6465974396
4
- data.tar.gz: 35bf6a1a075f68f35c682a3cfdde6bd5166523535491a74f1cb3473abcfaacec
3
+ metadata.gz: 1475b96fcd97e5eca24964c4282ad9d29eff542fab83382bd8790a1a48785a83
4
+ data.tar.gz: e9008adf5740b07189daff5988b4962243ccdc8b500564372ec51b2e48ab0518
5
5
  SHA512:
6
- metadata.gz: 7dcd7c3d8f91d1ef5fa1ab296e4f922b435b04b70a06d184e6d2449d32a270bf31b14f352523686921072aac37bd0f91e0b6f62a6d44c28349b04ca7079092ed
7
- data.tar.gz: ff8bc5531169fa3dace613d7369e656fdc2418f559adf3b527722e80144fd5a7aaa2db28da23979b2e3b8bc5af31132dca631e955a454d6262ad6a3ddf459b77
6
+ metadata.gz: 662c3d5ff4c9c1d97e0e7b7d170bf23cb22c9cfcf76584e91456f3120ad4ff93847f73db6aae760673e905897cf9b1f1a9756c68b586d76c946056617ee672d2
7
+ data.tar.gz: b4f2f1cd32abc1e8eb1a8ac2411a9a016eaf351928932916171a2806c12f484f74d018913bbd3d705d3abfd742860fac125479e417346073dd20360e25068990
data/README.adoc CHANGED
@@ -229,6 +229,48 @@ id.exclude(:year, :part).to_s
229
229
  # => "ISO 9001"
230
230
  ----
231
231
 
232
+ === Matching a Partial Reference
233
+
234
+ The `===` operator is a subset match. It returns true when the candidate holds
235
+ every part that the reference states. A part that the reference omits matches
236
+ any value. The receiver is the reference, so the operator is not symmetric:
237
+
238
+ [source,ruby]
239
+ ----
240
+ require 'pubid/iso'
241
+
242
+ reference = Pubid::Iso.parse("ISO 9001")
243
+ reference === Pubid::Iso.parse("ISO 9001:2015")
244
+ # => true
245
+ reference === Pubid::Iso.parse("ISO/DIS 9001")
246
+ # => false (a default value, here the published stage, is stated)
247
+
248
+ catalogue.grep(reference)
249
+ # => every edition of ISO 9001 in the catalogue
250
+ ----
251
+
252
+ Some flavors state a part even when it is nil, because the document really
253
+ has none. Those classes declare it strict, so the reference does not widen:
254
+
255
+ [source,ruby]
256
+ ----
257
+ Pubid::Ecma.parse("ECMA-418") === Pubid::Ecma.parse("ECMA-418-1")
258
+ # => false (ECMA-418 has no part)
259
+ Pubid::Ecma.parse("ECMA-418-1") === Pubid::Ecma.parse("ECMA-418-1 ed1")
260
+ # => true
261
+ ----
262
+
263
+ A reference asks for every part of a document with `all_parts`:
264
+
265
+ [source,ruby]
266
+ ----
267
+ Pubid::Iso.parse("ISO 9001 (all parts)") === Pubid::Iso.parse("ISO 9001-1:2015")
268
+ # => true
269
+ ----
270
+
271
+ See `docs/SUBSET_MATCH.md` for the full rules and the list of strict
272
+ attributes.
273
+
232
274
  === Comparing Editions
233
275
 
234
276
  The `new_edition_of?` method checks if an identifier is a newer edition of the same document:
@@ -1148,7 +1190,7 @@ ASME BPVC.CC.BPV-2021 # Case Code BPV
1148
1190
 
1149
1191
  Special Variants:
1150
1192
  ASME BPVC COMPLETE CODE BIND-2019 # Complete code set
1151
- ASME BPVC-CC-BPV-2019 # Dash notation variant
1193
+ ASME BPVC-CC-BPV-2019 # Dash notation; ASME lists it apart from BPVC.CC.BPV
1152
1194
  ----
1153
1195
 
1154
1196
  .BPVC Components
@@ -157,15 +157,15 @@ ISO/IEC/IEEE CD P26513/D1, August 2015: ISO/IEC/IEEE P26513/D1, August 2015
157
157
  "ISO/IEC/IEEE/P16085_DIS, March 2020": "ISO/IEC/IEEE DIS P16085-2020-03"
158
158
  "ANSI/IEEE Std: Outdoor Apparatus Bushings": "ANSI/IEEE Std 21-1976-11"
159
159
  "Draft National Electrical Safety Code, January 2016": "IEEE PC2-2016-01"
160
- "International Standard ISO/IEC 8802-9: 1996(E) ANSI/IEEE Std 802.9, 1996 Edition": "ISO/IEC/IEEE Std 802.9-1996"
161
- "ISO/IEC13210: 1994 (E) ANSI/IEEE Std 1003.3-1991": "ISO/IEC/IEEE 13210-1994"
160
+ "International Standard ISO/IEC 8802-9: 1996(E) ANSI/IEEE Std 802.9, 1996 Edition": "ISO/IEC 8802-9:1996(E); ANSI/IEEE Std 802.9, 1996 Edition"
161
+ "ISO/IEC13210: 1994 (E) ANSI/IEEE Std 1003.3-1991": "ISO/IEC 13210:1994 (E); ANSI/IEEE Std 1003.3-1991"
162
162
  "J-STD-016-1995": "IEEE 016-1995"
163
163
  "Nuclear EQ Sourcebook and Supplement": "IEEE 7438946"
164
164
  "PC37.30.2/D043 Rev 18, May 2015": "IEEE PC37.30-2/D-043/R-18-2015"
165
165
  "IEEE/IEC P62582 CD2 proposal, May 2017": "IEEE/IEC CD2 P62582-2017-05"
166
- "ISO/IEC/IEEE P16326:201x WD.4a, July 2017": "ISO/IEC/IEEE P16326/D-4a-2017-07"
166
+ "ISO/IEC/IEEE P16326:201x WD.4a, July 2017": "ISO/IEC/IEEE P16326:2017/D=WD.4a"
167
167
  "ISO/IEC/IEEE CD.1 P21839, October 2017": "ISO/IEC/IEEE CD1 P21839-2017-10"
168
- "ISO/IEC/IEEE P16326:201x WD5, December 2017": "ISO/IEC/IEEE P16326/D-5-2017-12"
168
+ "ISO/IEC/IEEE P16326:201x WD5, December 2017": "ISO/IEC/IEEE P16326:2017/D=WD.5"
169
169
  "IEEE/ISO/IEC P42010.CD1-V1.0, April 2020": "IEEE/ISO/IEC CD1 P42010-2020-04"
170
170
  "Unapproved Draft Std ISO/IEC FDIS 15288:2007(E) IEEE P15288/D3,": "ISO/IEC/IEEE FDIS Std P15288/D-3-2007"
171
171
  "IS0/IEC/IEEE 8802-11:2012/Amd.5:2015(E) (Adoption of IEEE Std 802.11af-2014)": "ISO/IEC/IEEE 802.11/Amd5-2012"
@@ -208,3 +208,16 @@ ISO/IEC/IEEE CD P26513/D1, August 2015: ISO/IEC/IEEE P26513/D1, August 2015
208
208
  "ISO/IEC/IEEE/ P12207.2/D-3_FDIS-2020": "ISO/IEC/IEEE FDIS P12207.2-2020/D3"
209
209
  "ISO/IEC/IEEE/ P24748.3/D-IS-2019": "ISO/IEC/IEEE DIS P24748.3-2019"
210
210
  "P1635/D10/ASHARE 21/D-10-2016": "IEEE P1635/D10-2016"
211
+ # The joint-publisher underscore drafts ("ISO /IEC/IEEE P24774_D1, February
212
+ # 2020") are the slash spellings ("/D1") of rows the ledger already pins
213
+ # as project drafts; the underscore form parsed through the printed-joint
214
+ # family and flipped the classification (pubid#430). Applied after the
215
+ # exact one-off rules above so their targets stay reachable.
216
+ # Dated: the trailing text date rides in the draft clause with the long
217
+ # comma the project-draft route pins ("...D1, February, 2020").
218
+ # Undated.
219
+ # Dated: the trailing text date rides in the draft clause with the long
220
+ # comma the project-draft route pins ("...D1, February, 2020").
221
+ /\b(ISO ?\/ ?IEC ?\/ ?IEEE|IEC ?\/ ?IEEE) (P\d+)_D(\d+), ([A-Z][a-z]+.?) (\d{4})\b/: "\\1 \\2/D\\3, \\4, \\5"
222
+ # Undated.
223
+ /\b(ISO ?\/ ?IEC ?\/ ?IEEE|IEC ?\/ ?IEEE) (P\d+)_D(\d+)\b/: "\\1 \\2/D\\3"
@@ -38,6 +38,8 @@ NIST AI NIST AI 100-2e2023 ipd: NIST AI 100-2e2023 ipd
38
38
  NBS CIRC 154suprev: NBS CIRC 154r1sup
39
39
  NBS CIRC supJun1925-Jun1926: NBS CIRC 24e7sup2
40
40
  NBS CIRC supJun1925-Jun1927: NBS CIRC 24e7sup3
41
+ NBS.CIRC.supJun1925-Jun1926: NBS CIRC 24e7sup2
42
+ NBS.CIRC.supJun1925-Jun1927: NBS CIRC 24e7sup3
41
43
  /^NBS CIRC sup$/: NBS CIRC 24e7sup
42
44
  NBS CIRC 25sup-1924: NBS CIRC 25sup
43
45
  NIST SP 260-126 rev 2013: NIST SP 260-126r2013
@@ -63,6 +65,7 @@ NIST AMS 300-8r1/upd: NIST AMS 300-8r1/Upd1-202102
63
65
  NIST IR 8115r1-upd: NIST IR 8115r1/Upd1-202103
64
66
  NIST IR 8170-upd: NIST IR 8170/Upd1-202003
65
67
  NIST TN 2150-upd: NIST TN 2150/Upd1-202102
68
+ NIST.TN.2150-upd: NIST.TN.2150-upd1-202102
66
69
  NBS IR 73-197r: NBS IR 73-197r1
67
70
  NBS.HB.105-1r1990: NIST.HB.105-1r1990
68
71
  NBS.HB.28p11969: NBS.HB.28-1969pt1
@@ -97,6 +100,7 @@ NIST SP 500-281-v1 0: NIST SP 500-281v1.0
97
100
  NIST SP 800-63v1 0 1: NIST SP 800-63v1.0.1
98
101
  NIST SP 800-63v1 0 2: NIST SP 800-63v1.0.2
99
102
  NIST SP 955 Suppl: NIST SP 955sup
103
+ NIST.SP.955.Suppl: NIST.SP.955-S.uppl
100
104
  NIST SP 984 4: NIST SP 984-4
101
105
  NISTPUB 0413171251: NIST TN 1648-2009
102
106
  /\-draft$/: " (Draft)"
@@ -109,9 +113,9 @@ NIST IR 8413-upd1: NIST IR 8413/Upd1-202207
109
113
  NIST IR 85-3273-37-upd1: NIST IR 85-3273-37/Upd1-202205
110
114
  /NBS CRPL-F-B(?=\d+)/: "NBS CRPL-F-B "
111
115
  "NIST.AMS.300-8r1/upd": NIST.AMS.300-8r1-upd1
112
- NIST.hb.150-1-2017: NIST HB 105-1r2017
113
- nbs.tn.671: NBS TN 671
114
- NIST.TN.1648_2009: NIST TN 1648-2009
116
+ NIST.hb.150-1-2017: NIST.HB.105-1r2017
117
+ nbs.tn.671: NBS.TN.671
118
+ NIST.TN.1648_2009: NIST.TN.1648e2009
115
119
  NBS NSRDS: NSRDS-NBS
116
120
  nist ir: NIST IR
117
121
  /(?<=\d)es/: (spa)
@@ -0,0 +1,14 @@
1
+ - name: "CCAUV"
2
+ - name: "CCDS"
3
+ - name: "CCRI"
4
+ - name: "CCPR"
5
+ - name: "CCEM"
6
+ - name: "CCQM"
7
+ - name: "CCTF"
8
+ - name: "JCRB"
9
+ - name: "CGPM"
10
+ - name: "CIPM"
11
+ - name: "CCM"
12
+ - name: "CCU"
13
+ - name: "CCL"
14
+ - name: "CCT"
@@ -0,0 +1,5 @@
1
+ - name: "DECL"
2
+ - name: "DECN"
3
+ - name: "ACT"
4
+ - name: "RES"
5
+ - name: "REC"
@@ -0,0 +1,6 @@
1
+ - name: "Recommendation"
2
+ - name: "Declaration"
3
+ - name: "Resolution"
4
+ - name: "Statement"
5
+ - name: "Decision"
6
+ - name: "Action"
@@ -0,0 +1,6 @@
1
+ - name: "Recommandation"
2
+ - name: "Déclaration"
3
+ - name: "Résolution"
4
+ - name: "Statement"
5
+ - name: "Décision"
6
+ - name: "Action"
@@ -0,0 +1,3 @@
1
+ - abbr: "DIR SUP"
2
+ - abbr: "SUP"
3
+ - abbr: "Supplement"
@@ -0,0 +1,5 @@
1
+ - abbr: "DIR"
2
+ - abbr: "Directives Part"
3
+ - abbr: "Directives, Part"
4
+ - abbr: "Directives,"
5
+ - abbr: "Directives"
@@ -0,0 +1,27 @@
1
+ - abbr: "PWI RM"
2
+ - abbr: "NP RM"
3
+ - abbr: "AWI RM"
4
+ - abbr: "WD RM"
5
+ - abbr: "CD RM"
6
+ - abbr: "PDRM"
7
+ - abbr: "DRM"
8
+ - abbr: "FDRM"
9
+ - abbr: "PRF RM"
10
+ - abbr: "RM"
11
+ - abbr: "AMD"
12
+ - abbr: "COR"
13
+ - abbr: "PWI"
14
+ - abbr: "NP"
15
+ - abbr: "NWIP"
16
+ - abbr: "AWI"
17
+ - abbr: "WD"
18
+ - abbr: "CD"
19
+ - abbr: "FCD"
20
+ - abbr: "DIS"
21
+ - abbr: "FPD"
22
+ - abbr: "FDIS"
23
+ - abbr: "PRF"
24
+ - abbr: "Fpr"
25
+ - abbr: "WDR"
26
+ - abbr: "WDA"
27
+ - abbr: "WDAR"
@@ -0,0 +1,2 @@
1
+ - abbr: "AMD"
2
+ - abbr: "COR"
@@ -0,0 +1,130 @@
1
+ - abbr: "TRF"
2
+ - abbr: "PWI Amd"
3
+ - abbr: "NP Amd"
4
+ - abbr: "ANW Amd"
5
+ - abbr: "WD Amd"
6
+ - abbr: "CDAM"
7
+ - abbr: "DAM"
8
+ - abbr: "FDAM"
9
+ - abbr: "PRF Amd"
10
+ - abbr: "Amd"
11
+ - abbr: "AMD"
12
+ - abbr: "PWI Cor"
13
+ - abbr: "NP Cor"
14
+ - abbr: "ANW Cor"
15
+ - abbr: "WDCor"
16
+ - abbr: "CDCor"
17
+ - abbr: "DCOR"
18
+ - abbr: "FDCOR"
19
+ - abbr: "PRF Cor"
20
+ - abbr: "Cor"
21
+ - abbr: "COR"
22
+ - abbr: "CS"
23
+ - abbr: "CA"
24
+ - abbr: "PWI Guide"
25
+ - abbr: "NP Guide"
26
+ - abbr: "ANW Guide"
27
+ - abbr: "WD Guide"
28
+ - abbr: "CD Guide"
29
+ - abbr: "DGuide"
30
+ - abbr: "FDGuide"
31
+ - abbr: "PRF Guide"
32
+ - abbr: "GUIDE"
33
+ - abbr: "Guide"
34
+ - abbr: "PWI"
35
+ - abbr: "NWIP"
36
+ - abbr: "BWG"
37
+ - abbr: "AWIN"
38
+ - abbr: "AMW"
39
+ - abbr: "NP"
40
+ - abbr: "PNW"
41
+ - abbr: "ANW"
42
+ - abbr: "WD"
43
+ - abbr: "CD"
44
+ - abbr: "2CD"
45
+ - abbr: "3CD"
46
+ - abbr: "4CD"
47
+ - abbr: "5CD"
48
+ - abbr: "6CD"
49
+ - abbr: "7CD"
50
+ - abbr: "8CD"
51
+ - abbr: "9CD"
52
+ - abbr: "ACD"
53
+ - abbr: "A2CD"
54
+ - abbr: "A3CD"
55
+ - abbr: "A4CD"
56
+ - abbr: "A5CD"
57
+ - abbr: "A6CD"
58
+ - abbr: "A7CD"
59
+ - abbr: "A8CD"
60
+ - abbr: "A9CD"
61
+ - abbr: "CDM"
62
+ - abbr: "CDV"
63
+ - abbr: "ACDV"
64
+ - abbr: "CCDV"
65
+ - abbr: "CDVM"
66
+ - abbr: "NCDV"
67
+ - abbr: "FDIS"
68
+ - abbr: "PRF"
69
+ - abbr: "NFDIS"
70
+ - abbr: "NADIS"
71
+ - abbr: "RDISH"
72
+ - abbr: "RFDIS"
73
+ - abbr: "CFDIS"
74
+ - abbr: "BPUB"
75
+ - abbr: "PPUB"
76
+ - abbr: "APUB"
77
+ - abbr: "WPUB"
78
+ - abbr: "DELPUB"
79
+ - abbr: "RR"
80
+ - abbr: "CAN"
81
+ - abbr: "PWI ISH"
82
+ - abbr: "NP ISH"
83
+ - abbr: "ANW ISH"
84
+ - abbr: "WD ISH"
85
+ - abbr: "CDISH"
86
+ - abbr: "DISH"
87
+ - abbr: "ISH"
88
+ - abbr: "OD"
89
+ - abbr: "PWI PAS"
90
+ - abbr: "NP PAS"
91
+ - abbr: "ANW PAS"
92
+ - abbr: "WD PAS"
93
+ - abbr: "CDPAS"
94
+ - abbr: "DPAS"
95
+ - abbr: "PAS"
96
+ - abbr: "Trend Report"
97
+ - abbr: "PWI TR"
98
+ - abbr: "NP TR"
99
+ - abbr: "ANW TR"
100
+ - abbr: "WD TR"
101
+ - abbr: "CD TR"
102
+ - abbr: "DTR"
103
+ - abbr: "ADTR"
104
+ - abbr: "CDTR"
105
+ - abbr: "DTRM"
106
+ - abbr: "NDTR"
107
+ - abbr: "DTSM"
108
+ - abbr: "TR"
109
+ - abbr: "SRD"
110
+ - abbr: "Technology Report"
111
+ - abbr: "PWI TS"
112
+ - abbr: "NP TS"
113
+ - abbr: "ANW TS"
114
+ - abbr: "WD TS"
115
+ - abbr: "CD TS"
116
+ - abbr: "DTS"
117
+ - abbr: "ADTS"
118
+ - abbr: "CDTS"
119
+ - abbr: "NDTS"
120
+ - abbr: "TS"
121
+ - abbr: "White Paper"
122
+ - abbr: "PWI Frag"
123
+ - abbr: "NP Frag"
124
+ - abbr: "ANW Frag"
125
+ - abbr: "WD Frag"
126
+ - abbr: "CDFRAG"
127
+ - abbr: "DFRAG"
128
+ - abbr: "FDFRAG"
129
+ - abbr: "PRF Frag"
130
+ - abbr: "FRAG"
@@ -0,0 +1,4 @@
1
+ - abbrev: "ISO"
2
+ name: "International Organization for Standardization"
3
+ - abbrev: "IEC"
4
+ name: "International Electrotechnical Commission"
@@ -0,0 +1,12 @@
1
+ - name: "ISO"
2
+ - name: "IEC"
3
+ - name: "IEEE"
4
+ - name: "CIW"
5
+ - name: "SAE"
6
+ - name: "CIE"
7
+ - name: "ASME"
8
+ - name: "ASTM"
9
+ - name: "OECD"
10
+ - name: "HL7"
11
+ - name: "CEI"
12
+ - name: "UNDP"
@@ -0,0 +1,42 @@
1
+ - name: "TC"
2
+ - name: "JTC"
3
+ - name: "PC"
4
+ - name: "IT"
5
+ - name: "CAB"
6
+ - name: "CASCO"
7
+ - name: "COPOLCO"
8
+ - name: "COUNCIL"
9
+ - name: "CPSG"
10
+ - name: "CS"
11
+ - name: "DEVCO"
12
+ - name: "GA"
13
+ - name: "GAAB"
14
+ - name: "INFCO"
15
+ - name: "ITN"
16
+ - name: "ISOlutions"
17
+ - name: "REMCO"
18
+ - name: "TMB"
19
+ - name: "TMBG"
20
+ - name: "WMO"
21
+ - name: "DMT"
22
+ - name: "JCG"
23
+ - name: "SGPM"
24
+ - name: "ATMG"
25
+ - name: "CCCC"
26
+ - name: "CCCC-TG"
27
+ - name: "JDMT"
28
+ - name: "JSAG"
29
+ - name: "JSCTF-TF"
30
+ - name: "JTCG"
31
+ - name: "JTCG-TF"
32
+ - name: "SAG_Acc"
33
+ - name: "SAG_CRMI"
34
+ - name: "SAG_CRMI_CG"
35
+ - name: "SAG_ESG"
36
+ - name: "SAG_ESG_CG"
37
+ - name: "SAG_MRS"
38
+ - name: "SAG_SF"
39
+ - name: "SAG_SF_CG"
40
+ - name: "SMCC"
41
+ - name: "STMG"
42
+ - name: "MENA_STAR"
@@ -0,0 +1,114 @@
1
+ - abbr: "PWI TS"
2
+ - abbr: "NP TS"
3
+ - abbr: "AWI TS"
4
+ - abbr: "WD TS"
5
+ - abbr: "CDTS"
6
+ - abbr: "CD TS"
7
+ - abbr: "PDTS"
8
+ - abbr: "DTS"
9
+ - abbr: "FDTS"
10
+ - abbr: "PRF TS"
11
+ - abbr: "TS"
12
+ - abbr: "PWI TTA"
13
+ - abbr: "NP TTA"
14
+ - abbr: "AWI TTA"
15
+ - abbr: "WD TTA"
16
+ - abbr: "CD TTA"
17
+ - abbr: "DTTA"
18
+ - abbr: "FDTTA"
19
+ - abbr: "PRF TTA"
20
+ - abbr: "TTA"
21
+ - abbr: "NP DATA"
22
+ - abbr: "AWI DATA"
23
+ - abbr: "WD DATA"
24
+ - abbr: "CD DATA"
25
+ - abbr: "D DATA"
26
+ - abbr: "PRF DATA"
27
+ - abbr: "DATA"
28
+ - abbr: "DIR"
29
+ - abbr: "Directives Part"
30
+ - abbr: "Directives, Part"
31
+ - abbr: "Directives,"
32
+ - abbr: "Directives"
33
+ - abbr: "DIR SUP"
34
+ - abbr: "SUP"
35
+ - abbr: "Supplement"
36
+ - abbr: "PWI Guide"
37
+ - abbr: "NP Guide"
38
+ - abbr: "NP GUIDE"
39
+ - abbr: "AWI Guide"
40
+ - abbr: "AWI GUIDE"
41
+ - abbr: "WD Guide"
42
+ - abbr: "WD GUIDE"
43
+ - abbr: "CD Guide"
44
+ - abbr: "CD GUIDE"
45
+ - abbr: "DGuide"
46
+ - abbr: "DGUIDE"
47
+ - abbr: "FDGuide"
48
+ - abbr: "FD Guide"
49
+ - abbr: "FD GUIDE"
50
+ - abbr: "PRF Guide"
51
+ - abbr: "PRF GUIDE"
52
+ - abbr: "Guide"
53
+ - abbr: "GUIDE"
54
+ - abbr: "DP"
55
+ - abbr: "PWI"
56
+ - abbr: "NP"
57
+ - abbr: "NWIP"
58
+ - abbr: "AWI"
59
+ - abbr: "WD"
60
+ - abbr: "WDS"
61
+ - abbr: "preCD"
62
+ - abbr: "PreCD"
63
+ - abbr: "CD"
64
+ - abbr: "DIS"
65
+ - abbr: "FPD"
66
+ - abbr: "FCD"
67
+ - abbr: "FDIS"
68
+ - abbr: "PRF"
69
+ - abbr: "Fpr"
70
+ - abbr: "IS"
71
+ - abbr: "WDR"
72
+ - abbr: "WDA"
73
+ - abbr: "WDAR"
74
+ - abbr: "PWI ISP"
75
+ - abbr: "NP ISP"
76
+ - abbr: "AWI ISP"
77
+ - abbr: "WD ISP"
78
+ - abbr: "CD ISP"
79
+ - abbr: "DISP"
80
+ - abbr: "DIS ISP"
81
+ - abbr: "FDISP"
82
+ - abbr: "FDIS ISP"
83
+ - abbr: "PRF ISP"
84
+ - abbr: "ISP"
85
+ - abbr: "PWI IWA"
86
+ - abbr: "NP IWA"
87
+ - abbr: "AWI IWA"
88
+ - abbr: "WD IWA"
89
+ - abbr: "CD IWA"
90
+ - abbr: "DIWA"
91
+ - abbr: "PRF IWA"
92
+ - abbr: "IWA"
93
+ - abbr: "PWI PAS"
94
+ - abbr: "NP PAS"
95
+ - abbr: "AWI PAS"
96
+ - abbr: "WD PAS"
97
+ - abbr: "CD PAS"
98
+ - abbr: "DPAS"
99
+ - abbr: "FDPAS"
100
+ - abbr: "PRF PAS"
101
+ - abbr: "PAS"
102
+ - abbr: "R"
103
+ - abbr: "PWI TR"
104
+ - abbr: "NP TR"
105
+ - abbr: "AWI TR"
106
+ - abbr: "WD TR"
107
+ - abbr: "CD TR"
108
+ - abbr: "PDTR"
109
+ - abbr: "DTR"
110
+ - abbr: "DIS TR"
111
+ - abbr: "FDTR"
112
+ - abbr: "FDIS TR"
113
+ - abbr: "PRF TR"
114
+ - abbr: "TR"
@@ -0,0 +1,64 @@
1
+ - abbr: "PWI Suppl"
2
+ - abbr: "NP Suppl"
3
+ - abbr: "AWI Suppl"
4
+ - abbr: "WD Suppl"
5
+ - abbr: "CD Suppl"
6
+ - abbr: "DSuppl"
7
+ - abbr: "DIS Suppl"
8
+ - abbr: "FDSuppl"
9
+ - abbr: "FDIS Suppl"
10
+ - abbr: "PRF Suppl"
11
+ - abbr: "Suppl"
12
+ - abbr: "Suppl."
13
+ - abbr: "PWI Add"
14
+ - abbr: "NP Add"
15
+ - abbr: "AWI Add"
16
+ - abbr: "WD Add"
17
+ - abbr: "CD Add"
18
+ - abbr: "DAD"
19
+ - abbr: "DAdd"
20
+ - abbr: "D ADD"
21
+ - abbr: "Dad"
22
+ - abbr: "DIS Add"
23
+ - abbr: "FDAD"
24
+ - abbr: "FDAdd"
25
+ - abbr: "FD ADD"
26
+ - abbr: "FDad"
27
+ - abbr: "FDIS Add"
28
+ - abbr: "Add"
29
+ - abbr: "ADD"
30
+ - abbr: "Add."
31
+ - abbr: "Addendum"
32
+ - abbr: "PWI Amd"
33
+ - abbr: "NP Amd"
34
+ - abbr: "AWI Amd"
35
+ - abbr: "WD Amd"
36
+ - abbr: "CD Amd"
37
+ - abbr: "PDAM"
38
+ - abbr: "DAM"
39
+ - abbr: "DAmd"
40
+ - abbr: "FDAM"
41
+ - abbr: "FDAmd"
42
+ - abbr: "FPDAM"
43
+ - abbr: "PRF Amd"
44
+ - abbr: "Amd"
45
+ - abbr: "AMD"
46
+ - abbr: "Amd."
47
+ - abbr: "PWI Cor"
48
+ - abbr: "NP Cor"
49
+ - abbr: "AWI Cor"
50
+ - abbr: "WD Cor"
51
+ - abbr: "CD Cor"
52
+ - abbr: "pDCOR"
53
+ - abbr: "DCor"
54
+ - abbr: "DCOR"
55
+ - abbr: "DIS Cor"
56
+ - abbr: "FDCor"
57
+ - abbr: "FDCOR"
58
+ - abbr: "FCOR"
59
+ - abbr: "FDIS Cor"
60
+ - abbr: "PRF Cor"
61
+ - abbr: "Cor"
62
+ - abbr: "COR"
63
+ - abbr: "Cor."
64
+ - abbr: "Ext"
@@ -0,0 +1,21 @@
1
+ - name: "AG"
2
+ - name: "AhG"
3
+ - name: "WG"
4
+ - name: "JWG"
5
+ - name: "QC"
6
+ - name: "TF"
7
+ - name: "PPC"
8
+ - name: "CAG"
9
+ - name: "CSC"
10
+ - name: "ITSAG"
11
+ - name: "CSC/FIN"
12
+ - name: "CSC/NOM"
13
+ - name: "CSC/OVE"
14
+ - name: "CSC/SP"
15
+ - name: "SF"
16
+ - name: "ITSG"
17
+ - name: "JAG"
18
+ - name: "JCTF"
19
+ - name: "JSG"
20
+ - name: "JTAG"
21
+ - name: "JTG"
@@ -50,3 +50,5 @@ module Pubid
50
50
  end
51
51
  end
52
52
  end
53
+
54
+ Pubid::Adobe::Builder.prepend(Pubid::Builder::AllPartsWrap)
@@ -18,7 +18,17 @@ module Pubid
18
18
  # @return [Pubid::Adobe::Identifier]
19
19
  # @raise [Pubid::Errors::ParseError] If parsing fails
20
20
  def self.parse(identifier)
21
- parsed = Parser.parse(identifier)
21
+ unless identifier.is_a?(String)
22
+ raise Pubid::Errors::InvalidInputError,
23
+ Pubid::INPUT_NOT_A_STRING_MESSAGE
24
+ end
25
+
26
+ if identifier.length > Pubid::MAX_INPUT_LENGTH
27
+ raise Pubid::Errors::InvalidInputError, Pubid::INPUT_TOO_LONG_MESSAGE
28
+ end
29
+
30
+ # R1 parser swap: the baked PG artifact is the parser of record.
31
+ parsed = Pubid::Parg::Backend.parse(:adobe, identifier.strip)
22
32
  Builder.build(parsed)
23
33
  end
24
34