pubid-nist 0.1.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.txt +25 -0
- data/README.adoc +727 -0
- data/exe/pubid-nist +97 -0
- data/lib/pubid/nist/document.rb +286 -0
- data/lib/pubid/nist/document_parser.rb +34 -0
- data/lib/pubid/nist/document_transform.rb +21 -0
- data/lib/pubid/nist/edition.rb +26 -0
- data/lib/pubid/nist/errors.rb +5 -0
- data/lib/pubid/nist/nist_tech_pubs.rb +110 -0
- data/lib/pubid/nist/parsers/default.rb +107 -0
- data/lib/pubid/nist/parsers/fips_pub.rb +8 -0
- data/lib/pubid/nist/parsers/nbs_bh.rb +6 -0
- data/lib/pubid/nist/parsers/nbs_circ.rb +21 -0
- data/lib/pubid/nist/parsers/nbs_crpl.rb +17 -0
- data/lib/pubid/nist/parsers/nbs_csm.rb +11 -0
- data/lib/pubid/nist/parsers/nbs_fips.rb +14 -0
- data/lib/pubid/nist/parsers/nbs_hb.rb +31 -0
- data/lib/pubid/nist/parsers/nbs_ir.rb +29 -0
- data/lib/pubid/nist/parsers/nbs_lc.rb +21 -0
- data/lib/pubid/nist/parsers/nbs_mn.rb +6 -0
- data/lib/pubid/nist/parsers/nbs_mp.rb +9 -0
- data/lib/pubid/nist/parsers/nbs_rpt.rb +13 -0
- data/lib/pubid/nist/parsers/nbs_sp.rb +13 -0
- data/lib/pubid/nist/parsers/nbs_tn.rb +9 -0
- data/lib/pubid/nist/parsers/nist_gcr.rb +14 -0
- data/lib/pubid/nist/parsers/nist_hb.rb +8 -0
- data/lib/pubid/nist/parsers/nist_ir.rb +29 -0
- data/lib/pubid/nist/parsers/nist_ncstar.rb +7 -0
- data/lib/pubid/nist/parsers/nist_owmwp.rb +11 -0
- data/lib/pubid/nist/parsers/nist_sp.rb +53 -0
- data/lib/pubid/nist/parsers/nist_tn.rb +13 -0
- data/lib/pubid/nist/publisher.rb +43 -0
- data/lib/pubid/nist/serie.rb +27 -0
- data/lib/pubid/nist/stage.rb +28 -0
- data/lib/pubid/nist/version.rb +5 -0
- data/lib/pubid/nist.rb +33 -0
- data/lib/pubid-nist.rb +3 -0
- data/publishers.yaml +6 -0
- data/series.yaml +139 -0
- data/stages.yaml +5 -0
- data/update_codes.yaml +58 -0
- metadata +213 -0
@@ -0,0 +1,21 @@
|
|
1
|
+
module Pubid::Nist
|
2
|
+
module Parsers
|
3
|
+
class NbsCirc < Default
|
4
|
+
rule(:revision) do
|
5
|
+
((str("rev") >> (letters >> year_digits).as(:revision)) |
|
6
|
+
(str("r") >> digits.as(:revision))
|
7
|
+
)
|
8
|
+
end
|
9
|
+
|
10
|
+
rule(:report_number) do
|
11
|
+
first_report_number >> edition.maybe >> (str("-") >> second_report_number).maybe
|
12
|
+
end
|
13
|
+
|
14
|
+
rule(:edition) do
|
15
|
+
(str("sup") >> str("").as(:supplement) >>
|
16
|
+
(letters.as(:edition_month) >> year_digits.as(:edition_year))) |
|
17
|
+
((str("e") | str("-")) >> (digits.as(:edition) | letters.as(:edition_month) >> year_digits.as(:edition_year)))
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Pubid::Nist
|
2
|
+
module Parsers
|
3
|
+
class NbsCrpl < Default
|
4
|
+
rule(:first_report_number) do
|
5
|
+
(digits >> str("-m").maybe).as(:first_report_number)
|
6
|
+
end
|
7
|
+
|
8
|
+
rule(:part) do
|
9
|
+
str("_") >> (digits >> str("-") >> digits).as(:part)
|
10
|
+
end
|
11
|
+
|
12
|
+
rule(:supplement) do
|
13
|
+
str("A").as(:supplement)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module Pubid::Nist
|
2
|
+
module Parsers
|
3
|
+
class NbsFips < Default
|
4
|
+
rule(:edition) do
|
5
|
+
str("-") >> (
|
6
|
+
(month_letters.as(:edition_month) >> year_digits.as(:edition_year)) |
|
7
|
+
year_digits.as(:edition_year) |
|
8
|
+
(month_letters.as(:edition_month) >> match('\d').repeat(2, 2).as(:edition_day) >>
|
9
|
+
str("/") >> year_digits.as(:edition_year))
|
10
|
+
)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Pubid::Nist
|
2
|
+
module Parsers
|
3
|
+
class NbsHb < Default
|
4
|
+
# found patterns:
|
5
|
+
# 44e2-1955 -> 44e2
|
6
|
+
# 146v1-1991
|
7
|
+
# 105-1-1990 -> 105-1e1990
|
8
|
+
# 111r1977 / 146v1
|
9
|
+
# 130-1979 -> 130e1979
|
10
|
+
# 105-8 -> 105-8
|
11
|
+
# 28supp1957pt1
|
12
|
+
# 67suppFeb1965
|
13
|
+
|
14
|
+
rule(:edition) do
|
15
|
+
(str("supp") >> str("").as(:supplement) >>
|
16
|
+
(letters.as(:edition_month) >> year_digits.as(:edition_year)) |
|
17
|
+
str("e") >> year_digits.as(:edition_year)
|
18
|
+
)
|
19
|
+
end
|
20
|
+
|
21
|
+
rule(:report_number) do
|
22
|
+
digits.as(:first_report_number) >> volume.maybe >>
|
23
|
+
(str("e") >> digits.as(:edition) >> (str("-") >> digits).maybe |
|
24
|
+
str("-") >> year_digits.as(:edition_year) |
|
25
|
+
str("-") >> digits.as(:second_report_number) >> str("-") >> year_digits.as(:edition_year) |
|
26
|
+
str("-") >> digits_with_suffix.as(:second_report_number)
|
27
|
+
).maybe
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Pubid::Nist
|
2
|
+
module Parsers
|
3
|
+
class NbsIr < Default
|
4
|
+
rule(:second_report_number) do
|
5
|
+
(match('[\d.]').repeat(1) >> number_suffix.maybe).as(:second_report_number)
|
6
|
+
end
|
7
|
+
|
8
|
+
rule(:report_number) do
|
9
|
+
(first_report_number >>
|
10
|
+
(str("-") >> second_report_number).maybe
|
11
|
+
).capture(:report_number) >>
|
12
|
+
# parse last part as volume for specific document numbers
|
13
|
+
dynamic do |_source, context|
|
14
|
+
report_number = context.captures[:report_number]
|
15
|
+
.values_at(:first_report_number, :second_report_number).join("-")
|
16
|
+
if %w[74-577 77-1420].include?(report_number)
|
17
|
+
str("-") >> match('\d').as(:volume)
|
18
|
+
else
|
19
|
+
self
|
20
|
+
end
|
21
|
+
end.maybe
|
22
|
+
end
|
23
|
+
|
24
|
+
rule(:part_prefixes) do
|
25
|
+
str("pt") | str("p") | str("-")
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Pubid::Nist
|
2
|
+
module Parsers
|
3
|
+
class NbsLc < Default
|
4
|
+
rule(:supplement) do
|
5
|
+
(str("supp") | str("sup")) >>
|
6
|
+
((str("").as(:supplement) >> digits.as(:update_month) >> str("/") >> digits.as(:update_year)) |
|
7
|
+
match('\d').repeat.as(:supplement))
|
8
|
+
end
|
9
|
+
|
10
|
+
rule(:revision) do
|
11
|
+
str("r") >>
|
12
|
+
((digits.as(:update_month) >> str("/") >> digits.as(:update_year)) |
|
13
|
+
digits.as(:revision))
|
14
|
+
end
|
15
|
+
|
16
|
+
# suffixes for LCIRC 378
|
17
|
+
rule(:number_suffix) { match("[abcdefghA-Z]") }
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module Pubid::Nist
|
2
|
+
module Parsers
|
3
|
+
class NbsRpt < Default
|
4
|
+
rule(:report_number) do
|
5
|
+
(month_letters >>
|
6
|
+
str("-") >> (month_letters >> year_digits)).as(:report_number) |
|
7
|
+
(digits >> str("-") >> (digits | str("A"))).as(:report_number) |
|
8
|
+
(digits >> (str("a") | str("b")).maybe).as(:report_number) |
|
9
|
+
(str("ADHOC") | str("div9")).as(:report_number)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module Pubid::Nist
|
2
|
+
module Parsers
|
3
|
+
class NistGcr < Default
|
4
|
+
rule(:report_number) do
|
5
|
+
(digits >>
|
6
|
+
str("-") >> digits >> (str("-") >> digits).maybe).as(:report_number)
|
7
|
+
end
|
8
|
+
|
9
|
+
rule(:volume) do
|
10
|
+
str("v") >> (digits >> match('[A-Z]').repeat).as(:volume)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Pubid::Nist
|
2
|
+
module Parsers
|
3
|
+
class NistIr < Default
|
4
|
+
rule(:number_suffix) { match("[abcA-Z]") }
|
5
|
+
|
6
|
+
rule(:revision) do
|
7
|
+
str("r") >> (digits | month_letters >> year_digits).as(:revision)
|
8
|
+
end
|
9
|
+
|
10
|
+
rule(:report_number) do
|
11
|
+
(year_digits.as(:first_report_number) >>
|
12
|
+
str("-") >> year_digits.as(:edition_year)) |
|
13
|
+
first_report_number >> (str("-") >>
|
14
|
+
((digits | match("[aAB]") | str("CAS") | str("FRA")) >>
|
15
|
+
# for extra number for NIST IR 85-3273-10
|
16
|
+
(str("-") >> digits).maybe).as(:second_report_number)).maybe
|
17
|
+
end
|
18
|
+
|
19
|
+
rule(:revision) do
|
20
|
+
str("r") >>
|
21
|
+
((digits.as(:update_month) >> str("/") >> digits.as(:update_year)) |
|
22
|
+
(month_letters.as(:update_month) >> year_digits.as(:update_year)) |
|
23
|
+
digits.as(:revision) |
|
24
|
+
str("").as(:revision))
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
@@ -0,0 +1,11 @@
|
|
1
|
+
module Pubid::Nist
|
2
|
+
module Parsers
|
3
|
+
class NistOwmwp < Default
|
4
|
+
rule(:report_number) do
|
5
|
+
digits_with_suffix.as(:first_report_number) >>
|
6
|
+
(str("-") >> (digits_with_suffix >> (str("-") >> digits_with_suffix).maybe)
|
7
|
+
.as(:second_report_number)).maybe
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
module Pubid::Nist
|
2
|
+
module Parsers
|
3
|
+
class NistSp < Default
|
4
|
+
rule(:version) do
|
5
|
+
((str("ver") >> (digits >> (str(".") >> digits).maybe).as(:version)) |
|
6
|
+
(str("v") >>
|
7
|
+
(match('\d') >> str(".") >> match('\d') >> (str(".") >> match('\d')).maybe).as(:version)))
|
8
|
+
end
|
9
|
+
|
10
|
+
rule(:number_suffix) { match["[A-Zabcd]"] }
|
11
|
+
|
12
|
+
rule(:first_report_number) do
|
13
|
+
digits >> (str("GB") | str("a")).maybe
|
14
|
+
end
|
15
|
+
|
16
|
+
rule(:report_number) do
|
17
|
+
# (\d+-\d{1,3}).as(:report_number)
|
18
|
+
# (\d+-\d{4}).as(:report_number) when first number is 250
|
19
|
+
# (\d+).as(:report_number)-(\d{4}).as(:edition)
|
20
|
+
# or \d-\d-(\d).as(:revision)
|
21
|
+
(first_report_number.capture(:first_number).as(:first_report_number) >>
|
22
|
+
(str("-") >>
|
23
|
+
dynamic do |_source, context|
|
24
|
+
# consume 4 numbers or any amount of numbers
|
25
|
+
# for document ids starting from 250
|
26
|
+
(if context.captures[:first_number] == "250"
|
27
|
+
digits
|
28
|
+
else
|
29
|
+
# do not consume edition numbers (parse only if have not 4 numbers)
|
30
|
+
year_digits.absent? >> digits
|
31
|
+
end >> number_suffix.maybe
|
32
|
+
# parse last number as edition if have 4 numbers
|
33
|
+
) | (str("NCNR") | str("PERMIS") | str("BFRL"))
|
34
|
+
end.as(:second_report_number)
|
35
|
+
# parse A-Z and abcd as part of report number
|
36
|
+
).maybe
|
37
|
+
)
|
38
|
+
end
|
39
|
+
|
40
|
+
rule(:edition) do
|
41
|
+
((str("e") >> year_digits.as(:edition_year)) | (str("-") >> year_digits.as(:edition_year)) |
|
42
|
+
(str("e") >> digits.as(:edition)))
|
43
|
+
end
|
44
|
+
|
45
|
+
rule(:revision) do
|
46
|
+
((str("rev") | str("r")) >> (digits >> match("[a-z]").maybe).as(:revision)) |
|
47
|
+
(str("-") >> digits.as(:revision)) |
|
48
|
+
(str("r") >> match("[a-z]").as(:revision)) |
|
49
|
+
(str("r") >> str("").as(:revision))
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
PUBLISHERS = YAML.load_file(File.join(File.dirname(__FILE__),
|
2
|
+
"../../../publishers.yaml"))
|
3
|
+
|
4
|
+
module Pubid::Nist
|
5
|
+
class Publisher
|
6
|
+
attr_accessor :publisher
|
7
|
+
|
8
|
+
def initialize(publisher:)
|
9
|
+
@publisher = publisher
|
10
|
+
end
|
11
|
+
|
12
|
+
def to_s(format = :short)
|
13
|
+
return @publisher if %i[short mr].include?(format)
|
14
|
+
|
15
|
+
PUBLISHERS[format.to_s][@publisher]
|
16
|
+
end
|
17
|
+
|
18
|
+
def ==(other)
|
19
|
+
other.publisher == @publisher
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.publishers_keys
|
23
|
+
PUBLISHERS["long"].keys
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.parse(code)
|
27
|
+
publisher = /(#{PUBLISHERS["long"].keys.join('|')})/.match(code)
|
28
|
+
return new(publisher: publisher.to_s) if publisher
|
29
|
+
|
30
|
+
publisher = /(#{PUBLISHERS["long"].values.join('|')})(?=\.|\s)/.match(code)
|
31
|
+
return new(publisher: PUBLISHERS["long"].key(publisher.to_s)) if publisher
|
32
|
+
|
33
|
+
publisher = /(#{PUBLISHERS["abbrev"].values.join('|')})(?=\.|\s)/.match(code)
|
34
|
+
return new(publisher: PUBLISHERS["abbrev"].key(publisher.to_s)) if publisher
|
35
|
+
|
36
|
+
new(publisher: "NIST")
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.regexp
|
40
|
+
/(#{PUBLISHERS["long"].keys.join('|')})(?=\.|\s)/
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
SERIES = YAML.load_file(File.join(File.dirname(__FILE__), "../../../series.yaml"))
|
2
|
+
|
3
|
+
module Pubid::Nist
|
4
|
+
class Serie
|
5
|
+
attr_accessor :serie, :parsed
|
6
|
+
|
7
|
+
def initialize(serie:, parsed: nil)
|
8
|
+
@serie = serie
|
9
|
+
@parsed = parsed
|
10
|
+
end
|
11
|
+
|
12
|
+
def to_s(format = :short)
|
13
|
+
return @serie if format == :short
|
14
|
+
|
15
|
+
result = SERIES[format.to_s][@serie]
|
16
|
+
return @serie if result.nil? && format == :mr
|
17
|
+
|
18
|
+
return SERIES["long"][@serie] if result.nil?
|
19
|
+
|
20
|
+
result
|
21
|
+
end
|
22
|
+
|
23
|
+
def ==(other)
|
24
|
+
other.serie == @serie
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
STAGES = YAML.load_file(File.join(File.dirname(__FILE__), "../../../stages.yaml"))
|
2
|
+
|
3
|
+
module Pubid::Nist
|
4
|
+
class Stage
|
5
|
+
attr_accessor :stage
|
6
|
+
|
7
|
+
def initialize(stage)
|
8
|
+
@stage = stage
|
9
|
+
end
|
10
|
+
|
11
|
+
def to_s(format = :short)
|
12
|
+
return "" if nil?
|
13
|
+
|
14
|
+
case format
|
15
|
+
when :short
|
16
|
+
"(#{@stage})"
|
17
|
+
when :mr
|
18
|
+
@stage
|
19
|
+
else
|
20
|
+
STAGES[@stage]
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def nil?
|
25
|
+
@stage.nil?
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data/lib/pubid/nist.rb
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "yaml"
|
4
|
+
require "parslet"
|
5
|
+
|
6
|
+
module Pubid
|
7
|
+
module Nist
|
8
|
+
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
require_relative "nist/serie"
|
13
|
+
require_relative "nist/parsers/default"
|
14
|
+
require_relative "nist/document_transform"
|
15
|
+
require_relative "nist/document_parser"
|
16
|
+
|
17
|
+
Dir[File.join(__dir__, 'nist/parsers', '*.rb')].each do |file|
|
18
|
+
require file
|
19
|
+
end
|
20
|
+
|
21
|
+
PARSERS_CLASSES = Pubid::Nist::Parsers.constants.select do |c|
|
22
|
+
Pubid::Nist::Parsers.const_get(c).is_a?(Class)
|
23
|
+
end.map do |parser_class|
|
24
|
+
parser = Pubid::Nist::Parsers.const_get(parser_class)
|
25
|
+
[parser.name.split("::").last.gsub(/(.)([A-Z])/, '\1 \2').upcase, parser]
|
26
|
+
end.to_h
|
27
|
+
|
28
|
+
require_relative "nist/document"
|
29
|
+
require_relative "nist/publisher"
|
30
|
+
require_relative "nist/stage"
|
31
|
+
require_relative "nist/errors"
|
32
|
+
require_relative "nist/nist_tech_pubs"
|
33
|
+
require_relative "nist/edition"
|
data/lib/pubid-nist.rb
ADDED
data/publishers.yaml
ADDED
data/series.yaml
ADDED
@@ -0,0 +1,139 @@
|
|
1
|
+
long:
|
2
|
+
NIST AMS: Advanced Manufacturing Standard
|
3
|
+
NIST BSS: Building Science Series
|
4
|
+
NBS BSS: Building Science Series
|
5
|
+
NBS BMS: Building Material Structures Report
|
6
|
+
NBS BRPD-CRPL-D: Basic Radio Propagation Predictions Series
|
7
|
+
NBS BH: Building and Housing Reports
|
8
|
+
NBS CRPL: Central Radio Propagation Laboratory Reports
|
9
|
+
NBS CRPL-F-A: CRPL Ionospheric Data
|
10
|
+
NBS CRPL-F-B: CRPL Solar-Geophysical Data
|
11
|
+
NBS IP: CRPL Ionospheric Predictions
|
12
|
+
NBS CIRC: Circulars
|
13
|
+
NBS CIS: Consumer Information Series
|
14
|
+
NBS CS: Commercial Standards
|
15
|
+
NBS CS-E: Commercial Standards (emergency)
|
16
|
+
NBS CSM: Commercial Standards Monthly
|
17
|
+
NBS FIPS: Federal Information Processing Standards Publication
|
18
|
+
FIPS PUB: Federal Information Processing Standards Publication
|
19
|
+
NIST GCR: Grant/Contract Reports
|
20
|
+
NBS GCR: Grant/Contract Reports
|
21
|
+
NIST HB: Handbook
|
22
|
+
NBS HB: Handbook
|
23
|
+
NBS HR: Hydraulic Research in the United States
|
24
|
+
NBS IRPL: Interservice Radio Propagation Laboratory
|
25
|
+
ITL Bulletin: ITL Bulletin
|
26
|
+
NIST LC: Letter Circular
|
27
|
+
NBS LC: Letter Circular
|
28
|
+
NIST MN: Monograph
|
29
|
+
NBS MN: Monograph
|
30
|
+
NBS MP: Miscellaneous Publications
|
31
|
+
NIST NCSTAR: National Construction Safety Team Report
|
32
|
+
NIST NSRDS: National Standard Reference Data Series
|
33
|
+
NSRDS-NBS: National Standard Reference Data Series
|
34
|
+
NIST IR: Interagency or Internal Report
|
35
|
+
NBS IR: Interagency or Internal Report
|
36
|
+
NIST OWMWP: Office of Weights and Measures White Papers
|
37
|
+
NBS PC: Photographic Circulars
|
38
|
+
NBS RPT: Reports
|
39
|
+
NIST PS: Voluntary Product Standards
|
40
|
+
NBS SIBS: Special Interior Ballistics Studies
|
41
|
+
NBS PS: Voluntary Product Standards
|
42
|
+
NIST SP: Special Publication
|
43
|
+
NBS SP: Special Publication
|
44
|
+
NIST TN: Technical Note
|
45
|
+
NBS TN: Technical Note
|
46
|
+
NBS TIBM: Technical Information on Building Materials
|
47
|
+
NIST TTB: Technology Transfer Brief
|
48
|
+
NIST DCI: Data Collection Instruments
|
49
|
+
NIST EAB: Economic Analysis Brief
|
50
|
+
NIST Other: Other
|
51
|
+
CSRC White Paper: Cybersecurity Resource Center White Paper
|
52
|
+
CSRC Book: Cybersecurity Resource Center Book
|
53
|
+
CSRC Use Case: Cybersecurity Resource Center Use Case
|
54
|
+
CSRC Building Block: Cybersecurity Resource Center Building Block
|
55
|
+
JPCRD: Journal of Physical and Chemical Reference Data
|
56
|
+
JRES: Journal of Research of NIST
|
57
|
+
abbrev:
|
58
|
+
NIST AMS: Adv. Man. Ser
|
59
|
+
NIST BSS: Bldg. Sci. Ser.
|
60
|
+
NBS BSS: Bldg. Sci. Ser.
|
61
|
+
NBS FIPS: Federal Inf. Process. Stds.
|
62
|
+
FIPS PUB: Federal Inf. Process. Stds.
|
63
|
+
NIST HB: Handb.
|
64
|
+
NBS HB: Handb.
|
65
|
+
NIST MN: Monogr.
|
66
|
+
NBS MN: Monogr.
|
67
|
+
NIST NCSTAR: Natl. Constr. Tm. Act Rpt.
|
68
|
+
NIST NSRDS: Natl. Stand. Ret. Data Ser.
|
69
|
+
NSRDS-NBS: Natl. Stand. Ret. Data Ser.
|
70
|
+
NIST PS: Prod. Stand.
|
71
|
+
NBS PS: Prod. Stand.
|
72
|
+
NIST SP: Spec. Publ.
|
73
|
+
NBS SP: Spec. Publ.
|
74
|
+
NIST TN: Tech. Note
|
75
|
+
NBS TN: Tech. Note
|
76
|
+
NIST DCI: Data Collect. Instr.
|
77
|
+
NIST Other: Other
|
78
|
+
CSRC White Paper: CSWP
|
79
|
+
CSRC Book: CSRC Book
|
80
|
+
CSRC Use Case: CSRC Use Case
|
81
|
+
CSRC Building Block: CSRC Building Block
|
82
|
+
JPCRD: J. Phys. & Chem. Ref. Data
|
83
|
+
JRES: J. Res. Natl. Inst. Stan.
|
84
|
+
mr:
|
85
|
+
NIST AMS: NIST.AMS
|
86
|
+
NIST BSS: NIST.BSS
|
87
|
+
NBS BSS: NBS.BSS
|
88
|
+
NBS BMS: NBS.BMS
|
89
|
+
NBS BRPD-CRPL-D: NBS.BRPD-CRPL-D
|
90
|
+
NBS BH: NBS.BH
|
91
|
+
NBS CRPL: NBS.CRPL
|
92
|
+
NBS CRPL-F-A: NBS.CRPL-F-A
|
93
|
+
NBS CRPL-F-B: NBS CRPL-F-B
|
94
|
+
NBS IP: NBS.IP
|
95
|
+
NBS CIRC: NBS.CIRC
|
96
|
+
NBS CIS: NBS.CIS
|
97
|
+
NBS CS: NBS.CS
|
98
|
+
NBS CS-E: NBS.CS-E
|
99
|
+
NBS CSM: NBS.CSM
|
100
|
+
NBS FIPS: NBS.FIPS
|
101
|
+
FIPS PUB: NIST.FIPS
|
102
|
+
NIST GCR: NIST.GCR
|
103
|
+
NBS GCR: NBS.GCR
|
104
|
+
NIST HB: NIST.HB
|
105
|
+
NBS HB: NBS.HB
|
106
|
+
NBS HR: NBS.HR
|
107
|
+
NBS IRPL: NBS.IRPL
|
108
|
+
ITL Bulletin: NIST.ITLB
|
109
|
+
NIST LC: NIST.LC
|
110
|
+
NBS LC: NBS.LC
|
111
|
+
NIST MN: NIST.MN
|
112
|
+
NBS MN: NBS.MN
|
113
|
+
NBS MP: NBS.MP
|
114
|
+
NIST NCSTAR: NIST.NCSTAR
|
115
|
+
NIST NSRDS: NIST.NSRDS
|
116
|
+
NSRDS-NBS: NBS.NSRDS
|
117
|
+
NIST IR: NIST.IR
|
118
|
+
NBS IR: NBS.IR
|
119
|
+
NIST OWMWP: NIST.OWMWP
|
120
|
+
NBS PC: NBS.PC
|
121
|
+
NBS RPT: NBS.RPT
|
122
|
+
NIST PS: NIST.PS
|
123
|
+
NBS SIBS: NBS.SIBS
|
124
|
+
NBS PS: NBS.PS
|
125
|
+
NIST SP: NIST.SP
|
126
|
+
NBS SP: NBS.SP
|
127
|
+
NIST TN: NIST.TN
|
128
|
+
NBS TN: NBS.TN
|
129
|
+
NBS TIBM: NBS.TIBM
|
130
|
+
NIST TTB: NIST.TTB
|
131
|
+
NIST DCI: NIST.DCI
|
132
|
+
NIST EAB: NIST.EAB
|
133
|
+
NIST Other: NIST.O
|
134
|
+
CSRC White Paper: NIST.CSWP
|
135
|
+
CSRC Book: NIST.CSB
|
136
|
+
CSRC Use Case: NIST.CSUC
|
137
|
+
CSRC Building Block: NIST.CSBB
|
138
|
+
JPCRD: JPCRD
|
139
|
+
JRES: NIST.JRES
|