dcc 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +16 -0
- data/.rspec +3 -0
- data/.rubocop.yml +16 -0
- data/.rubocop_todo.yml +10 -0
- data/CHANGELOG.adoc +54 -0
- data/CONTRIBUTING.adoc +64 -0
- data/Gemfile +25 -0
- data/LICENSE +21 -0
- data/README.adoc +69 -0
- data/Rakefile +13 -0
- data/dcc.gemspec +41 -0
- data/docs/cli-reference.adoc +67 -0
- data/docs/getting-started.adoc +117 -0
- data/docs/schema-versions.adoc +65 -0
- data/examples/build_minimal_dcc.rb +23 -0
- data/examples/convert_all_formats.rb +19 -0
- data/examples/parse_and_inspect.rb +19 -0
- data/examples/quantity_math_demo.rb +32 -0
- data/examples/validate_full.rb +27 -0
- data/exe/dcc +7 -0
- data/lib/dcc/base/administrative_data.rb +43 -0
- data/lib/dcc/base/byte_data.rb +36 -0
- data/lib/dcc/base/calibration_laboratory.rb +29 -0
- data/lib/dcc/base/comment.rb +23 -0
- data/lib/dcc/base/condition.rb +34 -0
- data/lib/dcc/base/contact.rb +38 -0
- data/lib/dcc/base/contact_not_strict.rb +38 -0
- data/lib/dcc/base/core_data.rb +44 -0
- data/lib/dcc/base/data.rb +42 -0
- data/lib/dcc/base/digital_calibration_certificate.rb +32 -0
- data/lib/dcc/base/equipment_class.rb +24 -0
- data/lib/dcc/base/formula.rb +33 -0
- data/lib/dcc/base/hash_type.rb +34 -0
- data/lib/dcc/base/identification.rb +27 -0
- data/lib/dcc/base/identifications.rb +27 -0
- data/lib/dcc/base/influence_condition.rb +16 -0
- data/lib/dcc/base/influence_condition_list.rb +40 -0
- data/lib/dcc/base/item.rb +38 -0
- data/lib/dcc/base/item_list.rb +38 -0
- data/lib/dcc/base/list.rb +44 -0
- data/lib/dcc/base/location.rb +36 -0
- data/lib/dcc/base/measurement_meta_data.rb +15 -0
- data/lib/dcc/base/measurement_meta_data_list.rb +27 -0
- data/lib/dcc/base/measurement_result.rb +41 -0
- data/lib/dcc/base/measurement_result_list.rb +28 -0
- data/lib/dcc/base/measuring_equipment.rb +41 -0
- data/lib/dcc/base/measuring_equipment_list.rb +38 -0
- data/lib/dcc/base/quantity.rb +61 -0
- data/lib/dcc/base/ref_type_definition.rb +36 -0
- data/lib/dcc/base/ref_type_definition_list.rb +21 -0
- data/lib/dcc/base/resp_person.rb +38 -0
- data/lib/dcc/base/resp_person_list.rb +27 -0
- data/lib/dcc/base/result.rb +31 -0
- data/lib/dcc/base/result_list.rb +27 -0
- data/lib/dcc/base/rich_content.rb +34 -0
- data/lib/dcc/base/software.rb +35 -0
- data/lib/dcc/base/software_list.rb +27 -0
- data/lib/dcc/base/statement.rb +50 -0
- data/lib/dcc/base/statement_list.rb +27 -0
- data/lib/dcc/base/string_with_lang.rb +24 -0
- data/lib/dcc/base/text.rb +33 -0
- data/lib/dcc/base/used_method.rb +31 -0
- data/lib/dcc/base/used_method_list.rb +27 -0
- data/lib/dcc/base/xml_blob.rb +20 -0
- data/lib/dcc/base.rb +58 -0
- data/lib/dcc/builder/dsl.rb +10 -0
- data/lib/dcc/builder/session.rb +170 -0
- data/lib/dcc/builder.rb +34 -0
- data/lib/dcc/cli/cli.rb +149 -0
- data/lib/dcc/cli/formatters.rb +77 -0
- data/lib/dcc/cli.rb +7 -0
- data/lib/dcc/common_elements.rb +20 -0
- data/lib/dcc/context_configuration.rb +167 -0
- data/lib/dcc/context_options.rb +47 -0
- data/lib/dcc/convert/csv.rb +129 -0
- data/lib/dcc/convert/html.rb +127 -0
- data/lib/dcc/convert/json.rb +62 -0
- data/lib/dcc/convert/result.rb +51 -0
- data/lib/dcc/convert/yaml.rb +21 -0
- data/lib/dcc/convert.rb +14 -0
- data/lib/dcc/diff/change.rb +21 -0
- data/lib/dcc/diff/result.rb +58 -0
- data/lib/dcc/diff.rb +83 -0
- data/lib/dcc/error.rb +54 -0
- data/lib/dcc/extract/file.rb +143 -0
- data/lib/dcc/extract/ring.rb +28 -0
- data/lib/dcc/extract.rb +9 -0
- data/lib/dcc/i18n/text_lookup.rb +67 -0
- data/lib/dcc/i18n.rb +12 -0
- data/lib/dcc/inspect/report.rb +139 -0
- data/lib/dcc/inspect.rb +9 -0
- data/lib/dcc/migrate.rb +41 -0
- data/lib/dcc/namespace/dcc.rb +30 -0
- data/lib/dcc/namespace/dsig.rb +15 -0
- data/lib/dcc/namespace/math_ml.rb +14 -0
- data/lib/dcc/namespace/qudt.rb +15 -0
- data/lib/dcc/namespace/si.rb +26 -0
- data/lib/dcc/namespace.rb +18 -0
- data/lib/dcc/plugin/registry.rb +45 -0
- data/lib/dcc/plugin.rb +42 -0
- data/lib/dcc/quantity_format/formatter.rb +90 -0
- data/lib/dcc/quantity_format.rb +10 -0
- data/lib/dcc/quantity_math/quantity.rb +46 -0
- data/lib/dcc/quantity_math/real.rb +116 -0
- data/lib/dcc/quantity_math.rb +14 -0
- data/lib/dcc/schema/resources/dcc/dsi/v1.0.1.xsd +415 -0
- data/lib/dcc/schema/resources/dcc/dsi/v1.3.0.xsd +814 -0
- data/lib/dcc/schema/resources/dcc/dsi/v1.3.1.xsd +814 -0
- data/lib/dcc/schema/resources/dcc/dsi/v2.0.0.xsd +869 -0
- data/lib/dcc/schema/resources/dcc/dsi/v2.1.0.xsd +1031 -0
- data/lib/dcc/schema/resources/dcc/dsi/v2.2.1.xsd +1574 -0
- data/lib/dcc/schema/resources/dcc/qudt/v2.2.1.xsd +44 -0
- data/lib/dcc/schema/resources/dcc/v2.1.0/dcc.xsd +650 -0
- data/lib/dcc/schema/resources/dcc/v2.1.1/dcc.xsd +669 -0
- data/lib/dcc/schema/resources/dcc/v2.2.0/dcc.xsd +730 -0
- data/lib/dcc/schema/resources/dcc/v2.3.0/dcc.xsd +708 -0
- data/lib/dcc/schema/resources/dcc/v2.4.0/dcc.xsd +725 -0
- data/lib/dcc/schema/resources/dcc/v3.0.0/dcc.xsd +749 -0
- data/lib/dcc/schema/resources/dcc/v3.1.0/dcc.xsd +843 -0
- data/lib/dcc/schema/resources/dcc/v3.1.1/dcc.xsd +843 -0
- data/lib/dcc/schema/resources/dcc/v3.1.2/dcc.xsd +844 -0
- data/lib/dcc/schema/resources/dcc/v3.2.0/dcc.xsd +940 -0
- data/lib/dcc/schema/resources/dcc/v3.2.1/dcc.xsd +963 -0
- data/lib/dcc/schema/resources/dcc/v3.3.0/dcc.xsd +1008 -0
- data/lib/dcc/schema/resources/dcc/xmldsig-core-schema.xsd +312 -0
- data/lib/dcc/schema/resources/dsi/qudt/v2.2.1.xsd +44 -0
- data/lib/dcc/schema/resources/dsi/v1.0.1/SI_Format.xsd +415 -0
- data/lib/dcc/schema/resources/dsi/v1.3.0/SI_Format.xsd +814 -0
- data/lib/dcc/schema/resources/dsi/v1.3.1/SI_Format.xsd +814 -0
- data/lib/dcc/schema/resources/dsi/v2.0.0/SI_Format.xsd +869 -0
- data/lib/dcc/schema/resources/dsi/v2.1.0/SI_Format.xsd +1031 -0
- data/lib/dcc/schema/resources/dsi/v2.2.1/SI_Format.xsd +1574 -0
- data/lib/dcc/schema/resources/qudt/qudt.xsd +44 -0
- data/lib/dcc/schema/resources/schematron/dcc.sch +523 -0
- data/lib/dcc/schema/resources/schematron/dcc.svrl +2302 -0
- data/lib/dcc/schema/resources/xmldsig/xmldsig-core-schema.xsd +312 -0
- data/lib/dcc/schema/version.rb +94 -0
- data/lib/dcc/schema.rb +35 -0
- data/lib/dcc/server/app.rb +133 -0
- data/lib/dcc/server/storage/entry.rb +15 -0
- data/lib/dcc/server/storage/memory.rb +57 -0
- data/lib/dcc/server/storage.rb +13 -0
- data/lib/dcc/server.rb +33 -0
- data/lib/dcc/si/base/complex.rb +43 -0
- data/lib/dcc/si/base/complex_list_xml_list.rb +39 -0
- data/lib/dcc/si/base/constant.rb +39 -0
- data/lib/dcc/si/base/coverage_interval_mu.rb +31 -0
- data/lib/dcc/si/base/expanded_mu.rb +29 -0
- data/lib/dcc/si/base/expanded_unc_xml_list.rb +30 -0
- data/lib/dcc/si/base/hybrid.rb +42 -0
- data/lib/dcc/si/base/measurement_uncertainty_univariate.rb +28 -0
- data/lib/dcc/si/base/real.rb +48 -0
- data/lib/dcc/si/base/real_list_xml_list.rb +45 -0
- data/lib/dcc/si/base/si_list.rb +37 -0
- data/lib/dcc/si/base/standard_mu.rb +25 -0
- data/lib/dcc/si/base.rb +24 -0
- data/lib/dcc/si/common_elements.rb +13 -0
- data/lib/dcc/si/namespace.rb +7 -0
- data/lib/dcc/si/v1/common_elements.rb +13 -0
- data/lib/dcc/si/v1/complex.rb +8 -0
- data/lib/dcc/si/v1/complex_list_xml_list.rb +8 -0
- data/lib/dcc/si/v1/configuration.rb +13 -0
- data/lib/dcc/si/v1/constant.rb +8 -0
- data/lib/dcc/si/v1/coverage_interval_mu.rb +8 -0
- data/lib/dcc/si/v1/expanded_mu.rb +8 -0
- data/lib/dcc/si/v1/expanded_unc.rb +23 -0
- data/lib/dcc/si/v1/expanded_unc_xml_list.rb +8 -0
- data/lib/dcc/si/v1/hybrid.rb +8 -0
- data/lib/dcc/si/v1/measurement_uncertainty_univariate.rb +8 -0
- data/lib/dcc/si/v1/namespace.rb +9 -0
- data/lib/dcc/si/v1/real.rb +8 -0
- data/lib/dcc/si/v1/real_list_xml_list.rb +8 -0
- data/lib/dcc/si/v1/si_list.rb +8 -0
- data/lib/dcc/si/v1/standard_mu.rb +8 -0
- data/lib/dcc/si/v1.rb +46 -0
- data/lib/dcc/si/v2/common_elements.rb +13 -0
- data/lib/dcc/si/v2/complex.rb +8 -0
- data/lib/dcc/si/v2/complex_list_xml_list.rb +8 -0
- data/lib/dcc/si/v2/configuration.rb +13 -0
- data/lib/dcc/si/v2/constant.rb +8 -0
- data/lib/dcc/si/v2/coverage_interval_mu.rb +8 -0
- data/lib/dcc/si/v2/coverage_interval_mu_xml_list.rb +24 -0
- data/lib/dcc/si/v2/expanded_mu.rb +8 -0
- data/lib/dcc/si/v2/expanded_mu_xml_list.rb +22 -0
- data/lib/dcc/si/v2/expanded_unc_xml_list.rb +8 -0
- data/lib/dcc/si/v2/hybrid.rb +8 -0
- data/lib/dcc/si/v2/measurement_uncertainty_univariate.rb +8 -0
- data/lib/dcc/si/v2/namespace.rb +9 -0
- data/lib/dcc/si/v2/real.rb +8 -0
- data/lib/dcc/si/v2/real_list_xml_list.rb +8 -0
- data/lib/dcc/si/v2/si_list.rb +8 -0
- data/lib/dcc/si/v2/standard_mu.rb +8 -0
- data/lib/dcc/si/v2/standard_mu_xml_list.rb +18 -0
- data/lib/dcc/si/v2.rb +49 -0
- data/lib/dcc/si.rb +34 -0
- data/lib/dcc/signature/result.rb +43 -0
- data/lib/dcc/signature/signer.rb +36 -0
- data/lib/dcc/signature/verifier.rb +41 -0
- data/lib/dcc/signature.rb +13 -0
- data/lib/dcc/transform/result.rb +24 -0
- data/lib/dcc/transform/xslt.rb +72 -0
- data/lib/dcc/transform.rb +12 -0
- data/lib/dcc/type/base64_binary.rb +55 -0
- data/lib/dcc/type/decimal_xml_list.rb +47 -0
- data/lib/dcc/type/iso_country_code.rb +23 -0
- data/lib/dcc/type/iso_language_code.rb +23 -0
- data/lib/dcc/type/schema_version.rb +37 -0
- data/lib/dcc/type/si_unit.rb +26 -0
- data/lib/dcc/type.rb +16 -0
- data/lib/dcc/type_guards.rb +140 -0
- data/lib/dcc/v2/administrative_data.rb +8 -0
- data/lib/dcc/v2/byte_data.rb +8 -0
- data/lib/dcc/v2/calibration_laboratory.rb +8 -0
- data/lib/dcc/v2/comment.rb +8 -0
- data/lib/dcc/v2/common_elements.rb +13 -0
- data/lib/dcc/v2/condition.rb +8 -0
- data/lib/dcc/v2/configuration.rb +17 -0
- data/lib/dcc/v2/contact.rb +8 -0
- data/lib/dcc/v2/contact_not_strict.rb +8 -0
- data/lib/dcc/v2/core_data.rb +8 -0
- data/lib/dcc/v2/data.rb +8 -0
- data/lib/dcc/v2/digital_calibration_certificate.rb +8 -0
- data/lib/dcc/v2/equipment_class.rb +8 -0
- data/lib/dcc/v2/formula.rb +8 -0
- data/lib/dcc/v2/hash_type.rb +8 -0
- data/lib/dcc/v2/identification.rb +8 -0
- data/lib/dcc/v2/identifications.rb +8 -0
- data/lib/dcc/v2/influence_condition.rb +7 -0
- data/lib/dcc/v2/influence_condition_list.rb +8 -0
- data/lib/dcc/v2/item.rb +8 -0
- data/lib/dcc/v2/item_list.rb +8 -0
- data/lib/dcc/v2/list.rb +8 -0
- data/lib/dcc/v2/location.rb +8 -0
- data/lib/dcc/v2/measurement_meta_data.rb +8 -0
- data/lib/dcc/v2/measurement_meta_data_list.rb +8 -0
- data/lib/dcc/v2/measurement_result.rb +8 -0
- data/lib/dcc/v2/measurement_result_list.rb +8 -0
- data/lib/dcc/v2/measuring_equipment.rb +8 -0
- data/lib/dcc/v2/measuring_equipment_list.rb +8 -0
- data/lib/dcc/v2/namespace.rb +8 -0
- data/lib/dcc/v2/quantity.rb +49 -0
- data/lib/dcc/v2/ref_type_definition.rb +11 -0
- data/lib/dcc/v2/ref_type_definition_list.rb +15 -0
- data/lib/dcc/v2/resp_person.rb +8 -0
- data/lib/dcc/v2/resp_person_list.rb +8 -0
- data/lib/dcc/v2/result.rb +8 -0
- data/lib/dcc/v2/result_list.rb +8 -0
- data/lib/dcc/v2/rich_content.rb +12 -0
- data/lib/dcc/v2/software.rb +8 -0
- data/lib/dcc/v2/software_list.rb +8 -0
- data/lib/dcc/v2/statement.rb +8 -0
- data/lib/dcc/v2/statement_list.rb +8 -0
- data/lib/dcc/v2/string_with_lang.rb +8 -0
- data/lib/dcc/v2/text.rb +8 -0
- data/lib/dcc/v2/used_method.rb +8 -0
- data/lib/dcc/v2/used_method_list.rb +8 -0
- data/lib/dcc/v2/xml_blob.rb +8 -0
- data/lib/dcc/v2.rb +84 -0
- data/lib/dcc/v3/administrative_data.rb +8 -0
- data/lib/dcc/v3/byte_data.rb +8 -0
- data/lib/dcc/v3/calibration_laboratory.rb +8 -0
- data/lib/dcc/v3/comment.rb +8 -0
- data/lib/dcc/v3/common_elements.rb +11 -0
- data/lib/dcc/v3/condition.rb +8 -0
- data/lib/dcc/v3/configuration.rb +17 -0
- data/lib/dcc/v3/contact.rb +8 -0
- data/lib/dcc/v3/contact_not_strict.rb +8 -0
- data/lib/dcc/v3/core_data.rb +8 -0
- data/lib/dcc/v3/data.rb +8 -0
- data/lib/dcc/v3/digital_calibration_certificate.rb +8 -0
- data/lib/dcc/v3/equipment_class.rb +8 -0
- data/lib/dcc/v3/formula.rb +8 -0
- data/lib/dcc/v3/hash_type.rb +8 -0
- data/lib/dcc/v3/identification.rb +8 -0
- data/lib/dcc/v3/identifications.rb +8 -0
- data/lib/dcc/v3/influence_condition.rb +7 -0
- data/lib/dcc/v3/influence_condition_list.rb +8 -0
- data/lib/dcc/v3/item.rb +8 -0
- data/lib/dcc/v3/item_list.rb +8 -0
- data/lib/dcc/v3/list.rb +8 -0
- data/lib/dcc/v3/location.rb +8 -0
- data/lib/dcc/v3/measurement_meta_data.rb +8 -0
- data/lib/dcc/v3/measurement_meta_data_list.rb +8 -0
- data/lib/dcc/v3/measurement_result.rb +8 -0
- data/lib/dcc/v3/measurement_result_list.rb +8 -0
- data/lib/dcc/v3/measuring_equipment.rb +8 -0
- data/lib/dcc/v3/measuring_equipment_list.rb +8 -0
- data/lib/dcc/v3/namespace.rb +7 -0
- data/lib/dcc/v3/quantity.rb +49 -0
- data/lib/dcc/v3/ref_type_definition.rb +8 -0
- data/lib/dcc/v3/ref_type_definition_list.rb +8 -0
- data/lib/dcc/v3/resp_person.rb +8 -0
- data/lib/dcc/v3/resp_person_list.rb +8 -0
- data/lib/dcc/v3/result.rb +8 -0
- data/lib/dcc/v3/result_list.rb +8 -0
- data/lib/dcc/v3/rich_content.rb +8 -0
- data/lib/dcc/v3/software.rb +8 -0
- data/lib/dcc/v3/software_list.rb +8 -0
- data/lib/dcc/v3/statement.rb +8 -0
- data/lib/dcc/v3/statement_list.rb +8 -0
- data/lib/dcc/v3/string_with_lang.rb +8 -0
- data/lib/dcc/v3/text.rb +8 -0
- data/lib/dcc/v3/used_method.rb +8 -0
- data/lib/dcc/v3/used_method_list.rb +8 -0
- data/lib/dcc/v3/xml_blob.rb +8 -0
- data/lib/dcc/v3.rb +111 -0
- data/lib/dcc/validate/business_rules.rb +121 -0
- data/lib/dcc/validate/issue.rb +56 -0
- data/lib/dcc/validate/result.rb +105 -0
- data/lib/dcc/validate/schematron/profile.rb +64 -0
- data/lib/dcc/validate/schematron/rule.rb +49 -0
- data/lib/dcc/validate/schematron/rules/administrative_data_completeness.rb +42 -0
- data/lib/dcc/validate/schematron/rules/base.rb +15 -0
- data/lib/dcc/validate/schematron/rules/date_range_check.rb +41 -0
- data/lib/dcc/validate/schematron/rules/id_refid_linking.rb +61 -0
- data/lib/dcc/validate/schematron/rules/influence_conditions_placement.rb +58 -0
- data/lib/dcc/validate/schematron/rules/iso_code_validation.rb +53 -0
- data/lib/dcc/validate/schematron/rules/language_code_dedup.rb +39 -0
- data/lib/dcc/validate/schematron/rules/non_si_declaration.rb +82 -0
- data/lib/dcc/validate/schematron/rules/release_format_check.rb +44 -0
- data/lib/dcc/validate/schematron/rules/schema_version_check.rb +31 -0
- data/lib/dcc/validate/schematron/rules/uncertainty_consistency.rb +58 -0
- data/lib/dcc/validate/schematron/rules/unit_format_check.rb +74 -0
- data/lib/dcc/validate/schematron/rules/used_methods_placement.rb +65 -0
- data/lib/dcc/validate/schematron/rules/used_software_placement.rb +43 -0
- data/lib/dcc/validate/schematron/rules/xml_list_spacing.rb +42 -0
- data/lib/dcc/validate/schematron/rules.rb +30 -0
- data/lib/dcc/validate/schematron.rb +22 -0
- data/lib/dcc/validate/severity.rb +39 -0
- data/lib/dcc/validate/xsd.rb +97 -0
- data/lib/dcc/validate.rb +15 -0
- data/lib/dcc/version.rb +5 -0
- data/lib/dcc/versioned_parser.rb +48 -0
- data/lib/dcc.rb +141 -0
- metadata +425 -0
data/lib/dcc/server.rb
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# `Dcc::Server` provides an optional Rack/Sinatra REST API mirroring PTB's
|
|
4
|
+
# dcclib REST endpoints. Soft-depends on `sinatra`; raises
|
|
5
|
+
# `Dcc::MissingDependencyError` if not installed.
|
|
6
|
+
module Dcc
|
|
7
|
+
module Server
|
|
8
|
+
autoload :App, "dcc/server/app"
|
|
9
|
+
autoload :Storage, "dcc/server/storage"
|
|
10
|
+
|
|
11
|
+
# Attempt to load sinatra to detect availability.
|
|
12
|
+
def self.available?
|
|
13
|
+
return @available unless @available.nil?
|
|
14
|
+
|
|
15
|
+
begin
|
|
16
|
+
require "sinatra/base"
|
|
17
|
+
@available = true
|
|
18
|
+
rescue ::LoadError
|
|
19
|
+
@available = false
|
|
20
|
+
end
|
|
21
|
+
@available
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Raise a friendly error if Sinatra is missing.
|
|
25
|
+
def self.ensure_available!
|
|
26
|
+
return if available?
|
|
27
|
+
|
|
28
|
+
raise ::Dcc::MissingDependencyError.new(gem_name: "sinatra",
|
|
29
|
+
feature: "Dcc::Server REST API"),
|
|
30
|
+
"sinatra is required for the REST API"
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Dcc
|
|
4
|
+
module Si
|
|
5
|
+
module Base
|
|
6
|
+
# `si:complexQuantityType` — complex number in Cartesian or polar form.
|
|
7
|
+
module Complex
|
|
8
|
+
def self.included(klass)
|
|
9
|
+
klass.class_eval do
|
|
10
|
+
attribute :id, :string
|
|
11
|
+
attribute :ref_type, :string
|
|
12
|
+
attribute :label, :string
|
|
13
|
+
attribute :value_real, :string
|
|
14
|
+
attribute :value_imag, :string
|
|
15
|
+
attribute :value_magnitude, :string
|
|
16
|
+
attribute :value_phase, :string
|
|
17
|
+
attribute :unit, ::Dcc::Type::SiUnit
|
|
18
|
+
attribute :unit_phase, :string
|
|
19
|
+
attribute :significant_digit, :integer
|
|
20
|
+
attribute :date_time, :date_time
|
|
21
|
+
|
|
22
|
+
xml do
|
|
23
|
+
namespace ::Dcc::Namespace::Si
|
|
24
|
+
element "complex"
|
|
25
|
+
ordered
|
|
26
|
+
map_attribute "id", to: :id
|
|
27
|
+
map_attribute "refType", to: :ref_type
|
|
28
|
+
map_element "label", to: :label
|
|
29
|
+
map_element "valueReal", to: :value_real
|
|
30
|
+
map_element "valueImag", to: :value_imag
|
|
31
|
+
map_element "valueMagnitude", to: :value_magnitude
|
|
32
|
+
map_element "valuePhase", to: :value_phase
|
|
33
|
+
map_element "unit", to: :unit
|
|
34
|
+
map_element "unitPhase", to: :unit_phase
|
|
35
|
+
map_element "significantDigit", to: :significant_digit
|
|
36
|
+
map_element "dateTime", to: :date_time
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Dcc
|
|
4
|
+
module Si
|
|
5
|
+
module Base
|
|
6
|
+
# `si:complexListXMLListType` — compact list of complex quantities.
|
|
7
|
+
module ComplexListXmlList
|
|
8
|
+
def self.included(klass)
|
|
9
|
+
klass.class_eval do
|
|
10
|
+
attribute :id, :string
|
|
11
|
+
attribute :ref_type, :string
|
|
12
|
+
attribute :label_xml_list, :string
|
|
13
|
+
attribute :value_real_xml_list, ::Dcc::Type::DecimalXmlList
|
|
14
|
+
attribute :value_imag_xml_list, ::Dcc::Type::DecimalXmlList
|
|
15
|
+
attribute :value_magnitude_xml_list, ::Dcc::Type::DecimalXmlList
|
|
16
|
+
attribute :value_phase_xml_list, ::Dcc::Type::DecimalXmlList
|
|
17
|
+
attribute :unit_xml_list, :string
|
|
18
|
+
attribute :unit_phase_xml_list, :string
|
|
19
|
+
|
|
20
|
+
xml do
|
|
21
|
+
namespace ::Dcc::Namespace::Si
|
|
22
|
+
element "complexListXMLList"
|
|
23
|
+
ordered
|
|
24
|
+
map_attribute "id", to: :id
|
|
25
|
+
map_attribute "refType", to: :ref_type
|
|
26
|
+
map_element "labelXMLList", to: :label_xml_list
|
|
27
|
+
map_element "valueRealXMLList", to: :value_real_xml_list
|
|
28
|
+
map_element "valueImagXMLList", to: :value_imag_xml_list
|
|
29
|
+
map_element "valueMagnitudeXMLList", to: :value_magnitude_xml_list
|
|
30
|
+
map_element "valuePhaseXMLList", to: :value_phase_xml_list
|
|
31
|
+
map_element "unitXMLList", to: :unit_xml_list
|
|
32
|
+
map_element "unitPhaseXMLList", to: :unit_phase_xml_list
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Dcc
|
|
4
|
+
module Si
|
|
5
|
+
module Base
|
|
6
|
+
# `si:constantQuantityType` — physical or mathematical constant.
|
|
7
|
+
module Constant
|
|
8
|
+
def self.included(klass)
|
|
9
|
+
klass.class_eval do
|
|
10
|
+
attribute :id, :string
|
|
11
|
+
attribute :ref_type, :string
|
|
12
|
+
attribute :label, :string
|
|
13
|
+
attribute :value, :string
|
|
14
|
+
attribute :unit, ::Dcc::Type::SiUnit
|
|
15
|
+
attribute :significant_digit, :integer
|
|
16
|
+
attribute :date_time, :date_time
|
|
17
|
+
attribute :value_standard_mu, :string
|
|
18
|
+
attribute :distribution, :string
|
|
19
|
+
|
|
20
|
+
xml do
|
|
21
|
+
namespace ::Dcc::Namespace::Si
|
|
22
|
+
element "constant"
|
|
23
|
+
ordered
|
|
24
|
+
map_attribute "id", to: :id
|
|
25
|
+
map_attribute "refType", to: :ref_type
|
|
26
|
+
map_element "label", to: :label
|
|
27
|
+
map_element "value", to: :value
|
|
28
|
+
map_element "unit", to: :unit
|
|
29
|
+
map_element "significantDigit", to: :significant_digit
|
|
30
|
+
map_element "dateTime", to: :date_time
|
|
31
|
+
map_element "valueStandardMU", to: :value_standard_mu
|
|
32
|
+
map_element "distribution", to: :distribution
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Dcc
|
|
4
|
+
module Si
|
|
5
|
+
module Base
|
|
6
|
+
# `si:coverageIntervalMUType` — coverage interval uncertainty.
|
|
7
|
+
module CoverageIntervalMU
|
|
8
|
+
def self.included(klass)
|
|
9
|
+
klass.class_eval do
|
|
10
|
+
attribute :value_standard_mu, :string
|
|
11
|
+
attribute :interval_min, :string
|
|
12
|
+
attribute :interval_max, :string
|
|
13
|
+
attribute :coverage_probability, :string
|
|
14
|
+
attribute :distribution, :string
|
|
15
|
+
|
|
16
|
+
xml do
|
|
17
|
+
namespace ::Dcc::Namespace::Si
|
|
18
|
+
element "coverageIntervalMU"
|
|
19
|
+
ordered
|
|
20
|
+
map_element "valueStandardMU", to: :value_standard_mu
|
|
21
|
+
map_element "intervalMin", to: :interval_min
|
|
22
|
+
map_element "intervalMax", to: :interval_max
|
|
23
|
+
map_element "coverageProbability", to: :coverage_probability
|
|
24
|
+
map_element "distribution", to: :distribution
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Dcc
|
|
4
|
+
module Si
|
|
5
|
+
module Base
|
|
6
|
+
# `si:expandedMUType` — expanded measurement uncertainty (k × σ).
|
|
7
|
+
module ExpandedMU
|
|
8
|
+
def self.included(klass)
|
|
9
|
+
klass.class_eval do
|
|
10
|
+
attribute :value_expanded_mu, :string
|
|
11
|
+
attribute :coverage_factor, :string
|
|
12
|
+
attribute :coverage_probability, :string
|
|
13
|
+
attribute :distribution, :string
|
|
14
|
+
|
|
15
|
+
xml do
|
|
16
|
+
namespace ::Dcc::Namespace::Si
|
|
17
|
+
element "expandedMU"
|
|
18
|
+
ordered
|
|
19
|
+
map_element "valueExpandedMU", to: :value_expanded_mu
|
|
20
|
+
map_element "coverageFactor", to: :coverage_factor
|
|
21
|
+
map_element "coverageProbability", to: :coverage_probability
|
|
22
|
+
map_element "distribution", to: :distribution
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Dcc
|
|
4
|
+
module Si
|
|
5
|
+
module Base
|
|
6
|
+
# `si:expandedUncXMLListType` — compact expanded uncertainty paired
|
|
7
|
+
# with a `realListXMLList`. Used in PTB's valid.xml.
|
|
8
|
+
module ExpandedUncXmlList
|
|
9
|
+
def self.included(klass)
|
|
10
|
+
klass.class_eval do
|
|
11
|
+
attribute :uncertainty_xml_list, ::Dcc::Type::DecimalXmlList
|
|
12
|
+
attribute :coverage_factor_xml_list, :string
|
|
13
|
+
attribute :coverage_probability_xml_list, :string
|
|
14
|
+
attribute :distribution_xml_list, :string
|
|
15
|
+
|
|
16
|
+
xml do
|
|
17
|
+
namespace ::Dcc::Namespace::Si
|
|
18
|
+
element "expandedUncXMLList"
|
|
19
|
+
ordered
|
|
20
|
+
map_element "uncertaintyXMLList", to: :uncertainty_xml_list
|
|
21
|
+
map_element "coverageFactorXMLList", to: :coverage_factor_xml_list
|
|
22
|
+
map_element "coverageProbabilityXMLList", to: :coverage_probability_xml_list
|
|
23
|
+
map_element "distributionXMLList", to: :distribution_xml_list
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Dcc
|
|
4
|
+
module Si
|
|
5
|
+
module Base
|
|
6
|
+
# `si:hybridType` — multi-unit adapter. Wraps one or more quantity
|
|
7
|
+
# representations (real, realListXMLList, complex, etc.) that express
|
|
8
|
+
# the same measurand in different units. At least one SI unit is
|
|
9
|
+
# required per the XSD.
|
|
10
|
+
module Hybrid
|
|
11
|
+
def self.included(klass)
|
|
12
|
+
klass.class_eval do
|
|
13
|
+
attribute :id, :string
|
|
14
|
+
attribute :ref_type, :string
|
|
15
|
+
attribute :label, :string
|
|
16
|
+
attribute :quantity_type, :string
|
|
17
|
+
attribute :real, :real, collection: true
|
|
18
|
+
attribute :complex, :complex, collection: true
|
|
19
|
+
attribute :constant, :constant, collection: true
|
|
20
|
+
attribute :real_list_xml_list, :realListXMLList, collection: true
|
|
21
|
+
attribute :complex_list_xml_list, :complexListXMLList, collection: true
|
|
22
|
+
|
|
23
|
+
xml do
|
|
24
|
+
namespace ::Dcc::Namespace::Si
|
|
25
|
+
element "hybrid"
|
|
26
|
+
ordered
|
|
27
|
+
map_attribute "id", to: :id
|
|
28
|
+
map_attribute "refType", to: :ref_type
|
|
29
|
+
map_element "label", to: :label
|
|
30
|
+
map_element "quantityType", to: :quantity_type
|
|
31
|
+
map_element "real", to: :real
|
|
32
|
+
map_element "complex", to: :complex
|
|
33
|
+
map_element "constant", to: :constant
|
|
34
|
+
map_element "realListXMLList", to: :real_list_xml_list
|
|
35
|
+
map_element "complexListXMLList", to: :complex_list_xml_list
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Dcc
|
|
4
|
+
module Si
|
|
5
|
+
module Base
|
|
6
|
+
# `si:measurementUncertaintyUnivariateType` — choice of standardMU /
|
|
7
|
+
# expandedMU / coverageIntervalMU. Modeled as three optional attributes.
|
|
8
|
+
module MeasurementUncertaintyUnivariate
|
|
9
|
+
def self.included(klass)
|
|
10
|
+
klass.class_eval do
|
|
11
|
+
attribute :standard_mu, :standardMU
|
|
12
|
+
attribute :expanded_mu, :expandedMU
|
|
13
|
+
attribute :coverage_interval_mu, :coverageIntervalMU
|
|
14
|
+
|
|
15
|
+
xml do
|
|
16
|
+
namespace ::Dcc::Namespace::Si
|
|
17
|
+
element "measurementUncertaintyUnivariate"
|
|
18
|
+
ordered
|
|
19
|
+
map_element "standardMU", to: :standard_mu
|
|
20
|
+
map_element "expandedMU", to: :expanded_mu
|
|
21
|
+
map_element "coverageIntervalMU", to: :coverage_interval_mu
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Dcc
|
|
4
|
+
module Si
|
|
5
|
+
module Base
|
|
6
|
+
# `si:realQuantityType` — single real measurement quantity with
|
|
7
|
+
# optional univariate uncertainty.
|
|
8
|
+
#
|
|
9
|
+
# Wire format:
|
|
10
|
+
# <si:real>
|
|
11
|
+
# <si:label>...</si:label>
|
|
12
|
+
# <si:value>42.0</si:value>
|
|
13
|
+
# <si:unit>\kelvin</si:unit>
|
|
14
|
+
# <si:measurementUncertaintyUnivariate>
|
|
15
|
+
# <si:expandedMU>...</si:expandedMU>
|
|
16
|
+
# </si:measurementUncertaintyUnivariate>
|
|
17
|
+
# </si:real>
|
|
18
|
+
module Real
|
|
19
|
+
def self.included(klass)
|
|
20
|
+
klass.class_eval do
|
|
21
|
+
attribute :id, :string
|
|
22
|
+
attribute :ref_type, :string
|
|
23
|
+
attribute :label, :string
|
|
24
|
+
attribute :value, :string
|
|
25
|
+
attribute :unit, ::Dcc::Type::SiUnit
|
|
26
|
+
attribute :significant_digit, :integer
|
|
27
|
+
attribute :date_time, :date_time
|
|
28
|
+
attribute :measurement_uncertainty_univariate, :measurementUncertaintyUnivariate
|
|
29
|
+
|
|
30
|
+
xml do
|
|
31
|
+
namespace ::Dcc::Namespace::Si
|
|
32
|
+
element "real"
|
|
33
|
+
ordered
|
|
34
|
+
map_attribute "id", to: :id
|
|
35
|
+
map_attribute "refType", to: :ref_type
|
|
36
|
+
map_element "label", to: :label
|
|
37
|
+
map_element "value", to: :value
|
|
38
|
+
map_element "unit", to: :unit
|
|
39
|
+
map_element "significantDigit", to: :significant_digit
|
|
40
|
+
map_element "dateTime", to: :date_time
|
|
41
|
+
map_element "measurementUncertaintyUnivariate", to: :measurement_uncertainty_univariate
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Dcc
|
|
4
|
+
module Si
|
|
5
|
+
module Base
|
|
6
|
+
# `si:realListXMLListType` — compact space-separated list of real
|
|
7
|
+
# measurement quantities. Each component (values, units, uncertainty)
|
|
8
|
+
# is itself a space-separated XML list.
|
|
9
|
+
module RealListXmlList
|
|
10
|
+
def self.included(klass)
|
|
11
|
+
klass.class_eval do
|
|
12
|
+
attribute :id, :string
|
|
13
|
+
attribute :ref_type, :string
|
|
14
|
+
attribute :label_xml_list, :string
|
|
15
|
+
attribute :quantity_type_xml_list, :string
|
|
16
|
+
attribute :value_xml_list, ::Dcc::Type::DecimalXmlList
|
|
17
|
+
attribute :unit_xml_list, :string
|
|
18
|
+
attribute :significant_digit_xml_list, :string
|
|
19
|
+
attribute :date_time_xml_list, :string
|
|
20
|
+
attribute :expanded_unc_xml_list, :expandedUncXMLList
|
|
21
|
+
attribute :standard_mu_xml_list, :standardMUXMLList
|
|
22
|
+
attribute :coverage_interval_mu_xml_list, :coverageIntervalMUXMLList
|
|
23
|
+
|
|
24
|
+
xml do
|
|
25
|
+
namespace ::Dcc::Namespace::Si
|
|
26
|
+
element "realListXMLList"
|
|
27
|
+
ordered
|
|
28
|
+
map_attribute "id", to: :id
|
|
29
|
+
map_attribute "refType", to: :ref_type
|
|
30
|
+
map_element "labelXMLList", to: :label_xml_list
|
|
31
|
+
map_element "quantityTypeXMLList", to: :quantity_type_xml_list
|
|
32
|
+
map_element "valueXMLList", to: :value_xml_list
|
|
33
|
+
map_element "unitXMLList", to: :unit_xml_list
|
|
34
|
+
map_element "significantDigitXMLList", to: :significant_digit_xml_list
|
|
35
|
+
map_element "dateTimeXMLList", to: :date_time_xml_list
|
|
36
|
+
map_element "expandedUncXMLList", to: :expanded_unc_xml_list
|
|
37
|
+
map_element "standardMUXMLList", to: :standard_mu_xml_list
|
|
38
|
+
map_element "coverageIntervalMUXMLList", to: :coverage_interval_mu_xml_list
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Dcc
|
|
4
|
+
module Si
|
|
5
|
+
module Base
|
|
6
|
+
# `si:listType` — recursive list container for nested quantity lists.
|
|
7
|
+
module SiList
|
|
8
|
+
def self.included(klass)
|
|
9
|
+
klass.class_eval do
|
|
10
|
+
attribute :id, :string
|
|
11
|
+
attribute :ref_type, :string
|
|
12
|
+
attribute :label, :string
|
|
13
|
+
attribute :date_time, :date_time
|
|
14
|
+
attribute :real_list, :real, collection: true
|
|
15
|
+
attribute :real_list_xml_list, :realListXMLList, collection: true
|
|
16
|
+
attribute :complex_list_xml_list, :complexListXMLList, collection: true
|
|
17
|
+
attribute :list, :list, collection: true
|
|
18
|
+
|
|
19
|
+
xml do
|
|
20
|
+
namespace ::Dcc::Namespace::Si
|
|
21
|
+
element "list"
|
|
22
|
+
ordered
|
|
23
|
+
map_attribute "id", to: :id
|
|
24
|
+
map_attribute "refType", to: :ref_type
|
|
25
|
+
map_element "label", to: :label
|
|
26
|
+
map_element "dateTime", to: :date_time
|
|
27
|
+
map_element "realList", to: :real_list
|
|
28
|
+
map_element "realListXMLList", to: :real_list_xml_list
|
|
29
|
+
map_element "complexListXMLList", to: :complex_list_xml_list
|
|
30
|
+
map_element "list", to: :list
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Dcc
|
|
4
|
+
module Si
|
|
5
|
+
module Base
|
|
6
|
+
# `si:standardMUType` — standard measurement uncertainty (1σ).
|
|
7
|
+
module StandardMU
|
|
8
|
+
def self.included(klass)
|
|
9
|
+
klass.class_eval do
|
|
10
|
+
attribute :value_standard_mu, :string
|
|
11
|
+
attribute :distribution, :string
|
|
12
|
+
|
|
13
|
+
xml do
|
|
14
|
+
namespace ::Dcc::Namespace::Si
|
|
15
|
+
element "standardMU"
|
|
16
|
+
ordered
|
|
17
|
+
map_element "valueStandardMU", to: :value_standard_mu
|
|
18
|
+
map_element "distribution", to: :distribution
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
data/lib/dcc/si/base.rb
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# `Dcc::Si::Base` hosts version-agnostic XML mapping modules for every D-SI
|
|
4
|
+
# element type. Mirrors the `Dcc::Base` pattern: each module uses
|
|
5
|
+
# `self.included(klass)` with `klass.class_eval` to inject attributes and
|
|
6
|
+
# the `xml do ... end` mapping block.
|
|
7
|
+
module Dcc
|
|
8
|
+
module Si
|
|
9
|
+
module Base
|
|
10
|
+
autoload :Real, "dcc/si/base/real"
|
|
11
|
+
autoload :Complex, "dcc/si/base/complex"
|
|
12
|
+
autoload :Constant, "dcc/si/base/constant"
|
|
13
|
+
autoload :RealListXmlList, "dcc/si/base/real_list_xml_list"
|
|
14
|
+
autoload :ComplexListXmlList, "dcc/si/base/complex_list_xml_list"
|
|
15
|
+
autoload :Hybrid, "dcc/si/base/hybrid"
|
|
16
|
+
autoload :SiList, "dcc/si/base/si_list"
|
|
17
|
+
autoload :StandardMU, "dcc/si/base/standard_mu"
|
|
18
|
+
autoload :ExpandedMU, "dcc/si/base/expanded_mu"
|
|
19
|
+
autoload :CoverageIntervalMU, "dcc/si/base/coverage_interval_mu"
|
|
20
|
+
autoload :ExpandedUncXmlList, "dcc/si/base/expanded_unc_xml_list"
|
|
21
|
+
autoload :MeasurementUncertaintyUnivariate, "dcc/si/base/measurement_uncertainty_univariate"
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Dcc
|
|
4
|
+
module Si
|
|
5
|
+
# Base class for D-SI element wrappers. Subclassed per version with the
|
|
6
|
+
# appropriate `lutaml_default_register`.
|
|
7
|
+
class CommonElements < Lutaml::Model::Serializable
|
|
8
|
+
def self.lutaml_default_register
|
|
9
|
+
:dsi_v2
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Dcc::Si::V1
|
|
4
|
+
# Deprecated v1 expandedUnc type — superseded by expandedMU in v2.
|
|
5
|
+
# Kept so old fixtures parse without losing data.
|
|
6
|
+
class ExpandedUnc < CommonElements
|
|
7
|
+
attribute :uncertainty, :string
|
|
8
|
+
attribute :coverage_factor, :string
|
|
9
|
+
attribute :coverage_probability, :string
|
|
10
|
+
attribute :distribution, :string
|
|
11
|
+
|
|
12
|
+
xml do
|
|
13
|
+
namespace ::Dcc::Namespace::Si
|
|
14
|
+
element "expandedUnc"
|
|
15
|
+
ordered
|
|
16
|
+
map_element "uncertainty", to: :uncertainty
|
|
17
|
+
map_element "coverageFactor", to: :coverage_factor
|
|
18
|
+
map_element "coverageProbability", to: :coverage_probability
|
|
19
|
+
map_element "distribution", to: :distribution
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
Configuration.register_model(ExpandedUnc, id: :expandedUnc)
|
|
23
|
+
end
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Dcc::Si::V1
|
|
4
|
+
class MeasurementUncertaintyUnivariate < CommonElements
|
|
5
|
+
include ::Dcc::Si::Base::MeasurementUncertaintyUnivariate
|
|
6
|
+
end
|
|
7
|
+
Configuration.register_model(MeasurementUncertaintyUnivariate, id: :measurementUncertaintyUnivariate)
|
|
8
|
+
end
|