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.
Files changed (336) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +16 -0
  3. data/.rspec +3 -0
  4. data/.rubocop.yml +16 -0
  5. data/.rubocop_todo.yml +10 -0
  6. data/CHANGELOG.adoc +54 -0
  7. data/CONTRIBUTING.adoc +64 -0
  8. data/Gemfile +25 -0
  9. data/LICENSE +21 -0
  10. data/README.adoc +69 -0
  11. data/Rakefile +13 -0
  12. data/dcc.gemspec +41 -0
  13. data/docs/cli-reference.adoc +67 -0
  14. data/docs/getting-started.adoc +117 -0
  15. data/docs/schema-versions.adoc +65 -0
  16. data/examples/build_minimal_dcc.rb +23 -0
  17. data/examples/convert_all_formats.rb +19 -0
  18. data/examples/parse_and_inspect.rb +19 -0
  19. data/examples/quantity_math_demo.rb +32 -0
  20. data/examples/validate_full.rb +27 -0
  21. data/exe/dcc +7 -0
  22. data/lib/dcc/base/administrative_data.rb +43 -0
  23. data/lib/dcc/base/byte_data.rb +36 -0
  24. data/lib/dcc/base/calibration_laboratory.rb +29 -0
  25. data/lib/dcc/base/comment.rb +23 -0
  26. data/lib/dcc/base/condition.rb +34 -0
  27. data/lib/dcc/base/contact.rb +38 -0
  28. data/lib/dcc/base/contact_not_strict.rb +38 -0
  29. data/lib/dcc/base/core_data.rb +44 -0
  30. data/lib/dcc/base/data.rb +42 -0
  31. data/lib/dcc/base/digital_calibration_certificate.rb +32 -0
  32. data/lib/dcc/base/equipment_class.rb +24 -0
  33. data/lib/dcc/base/formula.rb +33 -0
  34. data/lib/dcc/base/hash_type.rb +34 -0
  35. data/lib/dcc/base/identification.rb +27 -0
  36. data/lib/dcc/base/identifications.rb +27 -0
  37. data/lib/dcc/base/influence_condition.rb +16 -0
  38. data/lib/dcc/base/influence_condition_list.rb +40 -0
  39. data/lib/dcc/base/item.rb +38 -0
  40. data/lib/dcc/base/item_list.rb +38 -0
  41. data/lib/dcc/base/list.rb +44 -0
  42. data/lib/dcc/base/location.rb +36 -0
  43. data/lib/dcc/base/measurement_meta_data.rb +15 -0
  44. data/lib/dcc/base/measurement_meta_data_list.rb +27 -0
  45. data/lib/dcc/base/measurement_result.rb +41 -0
  46. data/lib/dcc/base/measurement_result_list.rb +28 -0
  47. data/lib/dcc/base/measuring_equipment.rb +41 -0
  48. data/lib/dcc/base/measuring_equipment_list.rb +38 -0
  49. data/lib/dcc/base/quantity.rb +61 -0
  50. data/lib/dcc/base/ref_type_definition.rb +36 -0
  51. data/lib/dcc/base/ref_type_definition_list.rb +21 -0
  52. data/lib/dcc/base/resp_person.rb +38 -0
  53. data/lib/dcc/base/resp_person_list.rb +27 -0
  54. data/lib/dcc/base/result.rb +31 -0
  55. data/lib/dcc/base/result_list.rb +27 -0
  56. data/lib/dcc/base/rich_content.rb +34 -0
  57. data/lib/dcc/base/software.rb +35 -0
  58. data/lib/dcc/base/software_list.rb +27 -0
  59. data/lib/dcc/base/statement.rb +50 -0
  60. data/lib/dcc/base/statement_list.rb +27 -0
  61. data/lib/dcc/base/string_with_lang.rb +24 -0
  62. data/lib/dcc/base/text.rb +33 -0
  63. data/lib/dcc/base/used_method.rb +31 -0
  64. data/lib/dcc/base/used_method_list.rb +27 -0
  65. data/lib/dcc/base/xml_blob.rb +20 -0
  66. data/lib/dcc/base.rb +58 -0
  67. data/lib/dcc/builder/dsl.rb +10 -0
  68. data/lib/dcc/builder/session.rb +170 -0
  69. data/lib/dcc/builder.rb +34 -0
  70. data/lib/dcc/cli/cli.rb +149 -0
  71. data/lib/dcc/cli/formatters.rb +77 -0
  72. data/lib/dcc/cli.rb +7 -0
  73. data/lib/dcc/common_elements.rb +20 -0
  74. data/lib/dcc/context_configuration.rb +167 -0
  75. data/lib/dcc/context_options.rb +47 -0
  76. data/lib/dcc/convert/csv.rb +129 -0
  77. data/lib/dcc/convert/html.rb +127 -0
  78. data/lib/dcc/convert/json.rb +62 -0
  79. data/lib/dcc/convert/result.rb +51 -0
  80. data/lib/dcc/convert/yaml.rb +21 -0
  81. data/lib/dcc/convert.rb +14 -0
  82. data/lib/dcc/diff/change.rb +21 -0
  83. data/lib/dcc/diff/result.rb +58 -0
  84. data/lib/dcc/diff.rb +83 -0
  85. data/lib/dcc/error.rb +54 -0
  86. data/lib/dcc/extract/file.rb +143 -0
  87. data/lib/dcc/extract/ring.rb +28 -0
  88. data/lib/dcc/extract.rb +9 -0
  89. data/lib/dcc/i18n/text_lookup.rb +67 -0
  90. data/lib/dcc/i18n.rb +12 -0
  91. data/lib/dcc/inspect/report.rb +139 -0
  92. data/lib/dcc/inspect.rb +9 -0
  93. data/lib/dcc/migrate.rb +41 -0
  94. data/lib/dcc/namespace/dcc.rb +30 -0
  95. data/lib/dcc/namespace/dsig.rb +15 -0
  96. data/lib/dcc/namespace/math_ml.rb +14 -0
  97. data/lib/dcc/namespace/qudt.rb +15 -0
  98. data/lib/dcc/namespace/si.rb +26 -0
  99. data/lib/dcc/namespace.rb +18 -0
  100. data/lib/dcc/plugin/registry.rb +45 -0
  101. data/lib/dcc/plugin.rb +42 -0
  102. data/lib/dcc/quantity_format/formatter.rb +90 -0
  103. data/lib/dcc/quantity_format.rb +10 -0
  104. data/lib/dcc/quantity_math/quantity.rb +46 -0
  105. data/lib/dcc/quantity_math/real.rb +116 -0
  106. data/lib/dcc/quantity_math.rb +14 -0
  107. data/lib/dcc/schema/resources/dcc/dsi/v1.0.1.xsd +415 -0
  108. data/lib/dcc/schema/resources/dcc/dsi/v1.3.0.xsd +814 -0
  109. data/lib/dcc/schema/resources/dcc/dsi/v1.3.1.xsd +814 -0
  110. data/lib/dcc/schema/resources/dcc/dsi/v2.0.0.xsd +869 -0
  111. data/lib/dcc/schema/resources/dcc/dsi/v2.1.0.xsd +1031 -0
  112. data/lib/dcc/schema/resources/dcc/dsi/v2.2.1.xsd +1574 -0
  113. data/lib/dcc/schema/resources/dcc/qudt/v2.2.1.xsd +44 -0
  114. data/lib/dcc/schema/resources/dcc/v2.1.0/dcc.xsd +650 -0
  115. data/lib/dcc/schema/resources/dcc/v2.1.1/dcc.xsd +669 -0
  116. data/lib/dcc/schema/resources/dcc/v2.2.0/dcc.xsd +730 -0
  117. data/lib/dcc/schema/resources/dcc/v2.3.0/dcc.xsd +708 -0
  118. data/lib/dcc/schema/resources/dcc/v2.4.0/dcc.xsd +725 -0
  119. data/lib/dcc/schema/resources/dcc/v3.0.0/dcc.xsd +749 -0
  120. data/lib/dcc/schema/resources/dcc/v3.1.0/dcc.xsd +843 -0
  121. data/lib/dcc/schema/resources/dcc/v3.1.1/dcc.xsd +843 -0
  122. data/lib/dcc/schema/resources/dcc/v3.1.2/dcc.xsd +844 -0
  123. data/lib/dcc/schema/resources/dcc/v3.2.0/dcc.xsd +940 -0
  124. data/lib/dcc/schema/resources/dcc/v3.2.1/dcc.xsd +963 -0
  125. data/lib/dcc/schema/resources/dcc/v3.3.0/dcc.xsd +1008 -0
  126. data/lib/dcc/schema/resources/dcc/xmldsig-core-schema.xsd +312 -0
  127. data/lib/dcc/schema/resources/dsi/qudt/v2.2.1.xsd +44 -0
  128. data/lib/dcc/schema/resources/dsi/v1.0.1/SI_Format.xsd +415 -0
  129. data/lib/dcc/schema/resources/dsi/v1.3.0/SI_Format.xsd +814 -0
  130. data/lib/dcc/schema/resources/dsi/v1.3.1/SI_Format.xsd +814 -0
  131. data/lib/dcc/schema/resources/dsi/v2.0.0/SI_Format.xsd +869 -0
  132. data/lib/dcc/schema/resources/dsi/v2.1.0/SI_Format.xsd +1031 -0
  133. data/lib/dcc/schema/resources/dsi/v2.2.1/SI_Format.xsd +1574 -0
  134. data/lib/dcc/schema/resources/qudt/qudt.xsd +44 -0
  135. data/lib/dcc/schema/resources/schematron/dcc.sch +523 -0
  136. data/lib/dcc/schema/resources/schematron/dcc.svrl +2302 -0
  137. data/lib/dcc/schema/resources/xmldsig/xmldsig-core-schema.xsd +312 -0
  138. data/lib/dcc/schema/version.rb +94 -0
  139. data/lib/dcc/schema.rb +35 -0
  140. data/lib/dcc/server/app.rb +133 -0
  141. data/lib/dcc/server/storage/entry.rb +15 -0
  142. data/lib/dcc/server/storage/memory.rb +57 -0
  143. data/lib/dcc/server/storage.rb +13 -0
  144. data/lib/dcc/server.rb +33 -0
  145. data/lib/dcc/si/base/complex.rb +43 -0
  146. data/lib/dcc/si/base/complex_list_xml_list.rb +39 -0
  147. data/lib/dcc/si/base/constant.rb +39 -0
  148. data/lib/dcc/si/base/coverage_interval_mu.rb +31 -0
  149. data/lib/dcc/si/base/expanded_mu.rb +29 -0
  150. data/lib/dcc/si/base/expanded_unc_xml_list.rb +30 -0
  151. data/lib/dcc/si/base/hybrid.rb +42 -0
  152. data/lib/dcc/si/base/measurement_uncertainty_univariate.rb +28 -0
  153. data/lib/dcc/si/base/real.rb +48 -0
  154. data/lib/dcc/si/base/real_list_xml_list.rb +45 -0
  155. data/lib/dcc/si/base/si_list.rb +37 -0
  156. data/lib/dcc/si/base/standard_mu.rb +25 -0
  157. data/lib/dcc/si/base.rb +24 -0
  158. data/lib/dcc/si/common_elements.rb +13 -0
  159. data/lib/dcc/si/namespace.rb +7 -0
  160. data/lib/dcc/si/v1/common_elements.rb +13 -0
  161. data/lib/dcc/si/v1/complex.rb +8 -0
  162. data/lib/dcc/si/v1/complex_list_xml_list.rb +8 -0
  163. data/lib/dcc/si/v1/configuration.rb +13 -0
  164. data/lib/dcc/si/v1/constant.rb +8 -0
  165. data/lib/dcc/si/v1/coverage_interval_mu.rb +8 -0
  166. data/lib/dcc/si/v1/expanded_mu.rb +8 -0
  167. data/lib/dcc/si/v1/expanded_unc.rb +23 -0
  168. data/lib/dcc/si/v1/expanded_unc_xml_list.rb +8 -0
  169. data/lib/dcc/si/v1/hybrid.rb +8 -0
  170. data/lib/dcc/si/v1/measurement_uncertainty_univariate.rb +8 -0
  171. data/lib/dcc/si/v1/namespace.rb +9 -0
  172. data/lib/dcc/si/v1/real.rb +8 -0
  173. data/lib/dcc/si/v1/real_list_xml_list.rb +8 -0
  174. data/lib/dcc/si/v1/si_list.rb +8 -0
  175. data/lib/dcc/si/v1/standard_mu.rb +8 -0
  176. data/lib/dcc/si/v1.rb +46 -0
  177. data/lib/dcc/si/v2/common_elements.rb +13 -0
  178. data/lib/dcc/si/v2/complex.rb +8 -0
  179. data/lib/dcc/si/v2/complex_list_xml_list.rb +8 -0
  180. data/lib/dcc/si/v2/configuration.rb +13 -0
  181. data/lib/dcc/si/v2/constant.rb +8 -0
  182. data/lib/dcc/si/v2/coverage_interval_mu.rb +8 -0
  183. data/lib/dcc/si/v2/coverage_interval_mu_xml_list.rb +24 -0
  184. data/lib/dcc/si/v2/expanded_mu.rb +8 -0
  185. data/lib/dcc/si/v2/expanded_mu_xml_list.rb +22 -0
  186. data/lib/dcc/si/v2/expanded_unc_xml_list.rb +8 -0
  187. data/lib/dcc/si/v2/hybrid.rb +8 -0
  188. data/lib/dcc/si/v2/measurement_uncertainty_univariate.rb +8 -0
  189. data/lib/dcc/si/v2/namespace.rb +9 -0
  190. data/lib/dcc/si/v2/real.rb +8 -0
  191. data/lib/dcc/si/v2/real_list_xml_list.rb +8 -0
  192. data/lib/dcc/si/v2/si_list.rb +8 -0
  193. data/lib/dcc/si/v2/standard_mu.rb +8 -0
  194. data/lib/dcc/si/v2/standard_mu_xml_list.rb +18 -0
  195. data/lib/dcc/si/v2.rb +49 -0
  196. data/lib/dcc/si.rb +34 -0
  197. data/lib/dcc/signature/result.rb +43 -0
  198. data/lib/dcc/signature/signer.rb +36 -0
  199. data/lib/dcc/signature/verifier.rb +41 -0
  200. data/lib/dcc/signature.rb +13 -0
  201. data/lib/dcc/transform/result.rb +24 -0
  202. data/lib/dcc/transform/xslt.rb +72 -0
  203. data/lib/dcc/transform.rb +12 -0
  204. data/lib/dcc/type/base64_binary.rb +55 -0
  205. data/lib/dcc/type/decimal_xml_list.rb +47 -0
  206. data/lib/dcc/type/iso_country_code.rb +23 -0
  207. data/lib/dcc/type/iso_language_code.rb +23 -0
  208. data/lib/dcc/type/schema_version.rb +37 -0
  209. data/lib/dcc/type/si_unit.rb +26 -0
  210. data/lib/dcc/type.rb +16 -0
  211. data/lib/dcc/type_guards.rb +140 -0
  212. data/lib/dcc/v2/administrative_data.rb +8 -0
  213. data/lib/dcc/v2/byte_data.rb +8 -0
  214. data/lib/dcc/v2/calibration_laboratory.rb +8 -0
  215. data/lib/dcc/v2/comment.rb +8 -0
  216. data/lib/dcc/v2/common_elements.rb +13 -0
  217. data/lib/dcc/v2/condition.rb +8 -0
  218. data/lib/dcc/v2/configuration.rb +17 -0
  219. data/lib/dcc/v2/contact.rb +8 -0
  220. data/lib/dcc/v2/contact_not_strict.rb +8 -0
  221. data/lib/dcc/v2/core_data.rb +8 -0
  222. data/lib/dcc/v2/data.rb +8 -0
  223. data/lib/dcc/v2/digital_calibration_certificate.rb +8 -0
  224. data/lib/dcc/v2/equipment_class.rb +8 -0
  225. data/lib/dcc/v2/formula.rb +8 -0
  226. data/lib/dcc/v2/hash_type.rb +8 -0
  227. data/lib/dcc/v2/identification.rb +8 -0
  228. data/lib/dcc/v2/identifications.rb +8 -0
  229. data/lib/dcc/v2/influence_condition.rb +7 -0
  230. data/lib/dcc/v2/influence_condition_list.rb +8 -0
  231. data/lib/dcc/v2/item.rb +8 -0
  232. data/lib/dcc/v2/item_list.rb +8 -0
  233. data/lib/dcc/v2/list.rb +8 -0
  234. data/lib/dcc/v2/location.rb +8 -0
  235. data/lib/dcc/v2/measurement_meta_data.rb +8 -0
  236. data/lib/dcc/v2/measurement_meta_data_list.rb +8 -0
  237. data/lib/dcc/v2/measurement_result.rb +8 -0
  238. data/lib/dcc/v2/measurement_result_list.rb +8 -0
  239. data/lib/dcc/v2/measuring_equipment.rb +8 -0
  240. data/lib/dcc/v2/measuring_equipment_list.rb +8 -0
  241. data/lib/dcc/v2/namespace.rb +8 -0
  242. data/lib/dcc/v2/quantity.rb +49 -0
  243. data/lib/dcc/v2/ref_type_definition.rb +11 -0
  244. data/lib/dcc/v2/ref_type_definition_list.rb +15 -0
  245. data/lib/dcc/v2/resp_person.rb +8 -0
  246. data/lib/dcc/v2/resp_person_list.rb +8 -0
  247. data/lib/dcc/v2/result.rb +8 -0
  248. data/lib/dcc/v2/result_list.rb +8 -0
  249. data/lib/dcc/v2/rich_content.rb +12 -0
  250. data/lib/dcc/v2/software.rb +8 -0
  251. data/lib/dcc/v2/software_list.rb +8 -0
  252. data/lib/dcc/v2/statement.rb +8 -0
  253. data/lib/dcc/v2/statement_list.rb +8 -0
  254. data/lib/dcc/v2/string_with_lang.rb +8 -0
  255. data/lib/dcc/v2/text.rb +8 -0
  256. data/lib/dcc/v2/used_method.rb +8 -0
  257. data/lib/dcc/v2/used_method_list.rb +8 -0
  258. data/lib/dcc/v2/xml_blob.rb +8 -0
  259. data/lib/dcc/v2.rb +84 -0
  260. data/lib/dcc/v3/administrative_data.rb +8 -0
  261. data/lib/dcc/v3/byte_data.rb +8 -0
  262. data/lib/dcc/v3/calibration_laboratory.rb +8 -0
  263. data/lib/dcc/v3/comment.rb +8 -0
  264. data/lib/dcc/v3/common_elements.rb +11 -0
  265. data/lib/dcc/v3/condition.rb +8 -0
  266. data/lib/dcc/v3/configuration.rb +17 -0
  267. data/lib/dcc/v3/contact.rb +8 -0
  268. data/lib/dcc/v3/contact_not_strict.rb +8 -0
  269. data/lib/dcc/v3/core_data.rb +8 -0
  270. data/lib/dcc/v3/data.rb +8 -0
  271. data/lib/dcc/v3/digital_calibration_certificate.rb +8 -0
  272. data/lib/dcc/v3/equipment_class.rb +8 -0
  273. data/lib/dcc/v3/formula.rb +8 -0
  274. data/lib/dcc/v3/hash_type.rb +8 -0
  275. data/lib/dcc/v3/identification.rb +8 -0
  276. data/lib/dcc/v3/identifications.rb +8 -0
  277. data/lib/dcc/v3/influence_condition.rb +7 -0
  278. data/lib/dcc/v3/influence_condition_list.rb +8 -0
  279. data/lib/dcc/v3/item.rb +8 -0
  280. data/lib/dcc/v3/item_list.rb +8 -0
  281. data/lib/dcc/v3/list.rb +8 -0
  282. data/lib/dcc/v3/location.rb +8 -0
  283. data/lib/dcc/v3/measurement_meta_data.rb +8 -0
  284. data/lib/dcc/v3/measurement_meta_data_list.rb +8 -0
  285. data/lib/dcc/v3/measurement_result.rb +8 -0
  286. data/lib/dcc/v3/measurement_result_list.rb +8 -0
  287. data/lib/dcc/v3/measuring_equipment.rb +8 -0
  288. data/lib/dcc/v3/measuring_equipment_list.rb +8 -0
  289. data/lib/dcc/v3/namespace.rb +7 -0
  290. data/lib/dcc/v3/quantity.rb +49 -0
  291. data/lib/dcc/v3/ref_type_definition.rb +8 -0
  292. data/lib/dcc/v3/ref_type_definition_list.rb +8 -0
  293. data/lib/dcc/v3/resp_person.rb +8 -0
  294. data/lib/dcc/v3/resp_person_list.rb +8 -0
  295. data/lib/dcc/v3/result.rb +8 -0
  296. data/lib/dcc/v3/result_list.rb +8 -0
  297. data/lib/dcc/v3/rich_content.rb +8 -0
  298. data/lib/dcc/v3/software.rb +8 -0
  299. data/lib/dcc/v3/software_list.rb +8 -0
  300. data/lib/dcc/v3/statement.rb +8 -0
  301. data/lib/dcc/v3/statement_list.rb +8 -0
  302. data/lib/dcc/v3/string_with_lang.rb +8 -0
  303. data/lib/dcc/v3/text.rb +8 -0
  304. data/lib/dcc/v3/used_method.rb +8 -0
  305. data/lib/dcc/v3/used_method_list.rb +8 -0
  306. data/lib/dcc/v3/xml_blob.rb +8 -0
  307. data/lib/dcc/v3.rb +111 -0
  308. data/lib/dcc/validate/business_rules.rb +121 -0
  309. data/lib/dcc/validate/issue.rb +56 -0
  310. data/lib/dcc/validate/result.rb +105 -0
  311. data/lib/dcc/validate/schematron/profile.rb +64 -0
  312. data/lib/dcc/validate/schematron/rule.rb +49 -0
  313. data/lib/dcc/validate/schematron/rules/administrative_data_completeness.rb +42 -0
  314. data/lib/dcc/validate/schematron/rules/base.rb +15 -0
  315. data/lib/dcc/validate/schematron/rules/date_range_check.rb +41 -0
  316. data/lib/dcc/validate/schematron/rules/id_refid_linking.rb +61 -0
  317. data/lib/dcc/validate/schematron/rules/influence_conditions_placement.rb +58 -0
  318. data/lib/dcc/validate/schematron/rules/iso_code_validation.rb +53 -0
  319. data/lib/dcc/validate/schematron/rules/language_code_dedup.rb +39 -0
  320. data/lib/dcc/validate/schematron/rules/non_si_declaration.rb +82 -0
  321. data/lib/dcc/validate/schematron/rules/release_format_check.rb +44 -0
  322. data/lib/dcc/validate/schematron/rules/schema_version_check.rb +31 -0
  323. data/lib/dcc/validate/schematron/rules/uncertainty_consistency.rb +58 -0
  324. data/lib/dcc/validate/schematron/rules/unit_format_check.rb +74 -0
  325. data/lib/dcc/validate/schematron/rules/used_methods_placement.rb +65 -0
  326. data/lib/dcc/validate/schematron/rules/used_software_placement.rb +43 -0
  327. data/lib/dcc/validate/schematron/rules/xml_list_spacing.rb +42 -0
  328. data/lib/dcc/validate/schematron/rules.rb +30 -0
  329. data/lib/dcc/validate/schematron.rb +22 -0
  330. data/lib/dcc/validate/severity.rb +39 -0
  331. data/lib/dcc/validate/xsd.rb +97 -0
  332. data/lib/dcc/validate.rb +15 -0
  333. data/lib/dcc/version.rb +5 -0
  334. data/lib/dcc/versioned_parser.rb +48 -0
  335. data/lib/dcc.rb +141 -0
  336. metadata +425 -0
@@ -0,0 +1,1574 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema version="2.2.1" xmlns:xs="http://www.w3.org/2001/XMLSchema"
3
+ targetNamespace="https://ptb.de/si"
4
+ xmlns:si="https://ptb.de/si"
5
+ xmlns:qudt="http://qudt.org/vocab/"
6
+ elementFormDefault="qualified">
7
+
8
+ <xs:annotation>
9
+ <xs:documentation xml:lang="en">
10
+ D-SI - Digital System of Units
11
+ Copyright (c) 2018 - 2024 Physikalisch-Technische Bundesanstalt (PTB), all rights reserved.
12
+
13
+ This XML Scheme Definition (XSD) is free software: you can redistribute it and/or modify
14
+ it under the terms of the GNU Lesser General Public License as published by
15
+ the Free Software Foundation, version 3 of the License.
16
+
17
+ This XSD is distributed in the hope that it will be useful,
18
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
+ GNU Lesser General Public License for more details.
21
+
22
+ You should have received a copy of the GNU Lesser General Public License
23
+ along with this XSD. If not, see http://www.gnu.org/licenses.
24
+
25
+ CONTACT: daniel.hutzschenreuter@ptb.de
26
+ DEVELOPMENT: https://gitlab1.ptb.de/d-ptb/d-si/xsd-d-si
27
+ D-SI XSD VERSION: 2.2.1
28
+ RELEASE DATA: 2024-06-21
29
+ DOI: 10.5281/zenodo.3366901
30
+ </xs:documentation>
31
+ <xs:documentation xml:lang="en">
32
+ ACKNOWLEDGEMENT:
33
+ The development of early versions of the XML scheme was part of the research project EMPIR 17IND02 (title: SmartCom).
34
+ This project (17IND02) has received funding from the EMPIR programme, co-financed by the Participating States and
35
+ from the European Union's Horizon 2020 research and innovation programme.
36
+ Further development was supported by project GEMIMEG II and PTB.
37
+ Finally, thanks to all developers from PTB and our partners around the world for fruitful exchange on requirements
38
+ and updates.
39
+ </xs:documentation>
40
+ </xs:annotation>
41
+
42
+ <!-- Importing used namespaces -->
43
+ <xs:import namespace="http://qudt.org/vocab/" schemaLocation="../qudt/v2.2.1.xsd"/>
44
+
45
+
46
+
47
+
48
+ <!-- ############## D-SI XML ELEMENT DEFINITIONS FOR MEASUREMETN DATA EXCHANGE #################### -->
49
+
50
+ <xs:element name="real" type="si:realQuantityType">
51
+ <xs:annotation>
52
+ <xs:documentation xml:lang="en">
53
+ Metadata element definition for a real measurement quantity.
54
+ </xs:documentation>
55
+ <xs:documentation xml:lang="en">
56
+ <![CDATA[
57
+ The following statements of a real quantity are possible.
58
+ [(m)-mandatory, (o)-optional]
59
+
60
+ 1. Basic measured quantity
61
+ (o) - element label (string)
62
+ (o) - element quantityTypeQUDT (qudt:quantitykind Type)
63
+ (m) - element value (decimal value type)
64
+ (m) - element unit (string - SI format)
65
+ (o) - element significantDigit (integer)
66
+ (o) - element dateTime (xs:dateTime)
67
+
68
+ 2. Measured quantity with univariate measurement uncertainty
69
+ (o) - element label (string)
70
+ (o) - element quantityTypeQUDT (qudt:quantitykind Type)
71
+ (m) - element value (decimal value type)
72
+ (m) - element unit (string - SI format)
73
+ (o) - element significantDigit (integer)
74
+ (o) - element dateTime (xs:dateTime)
75
+ (m) - element measurementUncertaintyUnivariate (si:measurementUncertaintyUnivaraiteType)
76
+ # with choice si:standardMU
77
+ or si:expandedMU
78
+ or si:coverageIntervalMU
79
+ # or [deprecated] si:expandedUnc
80
+ # or [deprecated] si:coverageInterval
81
+
82
+ ]]>
83
+ </xs:documentation>
84
+ <xs:documentation xml:lang="en">
85
+ <![CDATA[
86
+ Integration into external XML:
87
+ <myXML xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:si="https://ptb.de/si">
88
+ <xs:element name="individualElement">
89
+ <xs:complexType>
90
+ <xs:sequence>
91
+ <xs:element ref="si:real"/>
92
+ </xs:sequence>
93
+ </xs:complexType>
94
+ </xs:element>
95
+ </myXML>
96
+ ]]>
97
+ </xs:documentation>
98
+ </xs:annotation>
99
+ </xs:element>
100
+
101
+ <xs:complexType name="realQuantityType">
102
+ <xs:sequence>
103
+ <!-- optional label and quantity type-->
104
+ <xs:element name="label" type="xs:string" minOccurs="0"/>
105
+ <xs:element ref="si:quantityType" minOccurs="0"/>
106
+
107
+ <!-- mandatory information -->
108
+ <xs:element name="value" type="si:decimalType"/>
109
+ <xs:element name="unit" type="si:unitType"/>
110
+
111
+ <!-- optional time stamp and significant digit -->
112
+ <xs:element name="significantDigit" type="si:significantDigitType" minOccurs="0"/>
113
+ <xs:element name="dateTime" type="xs:dateTime" minOccurs="0"/>
114
+
115
+ <!-- optional choice of uncertainty statements -->
116
+ <xs:choice minOccurs="0">
117
+ <xs:annotation>
118
+ <xs:documentation xml:lang="en">
119
+ univariate measurement uncertainty
120
+ </xs:documentation>
121
+ </xs:annotation>
122
+ <xs:element name="measurementUncertaintyUnivariate" type="si:measurementUncertaintyUnivariateType"/>
123
+ <!-- deprecated types -->
124
+ <xs:element name="expandedUnc" type="si:expandedUncType"/>
125
+ <xs:element name="coverageInterval" type="si:coverageIntervalType"/>
126
+ </xs:choice>
127
+
128
+ </xs:sequence>
129
+ </xs:complexType>
130
+
131
+
132
+ <xs:complexType name="measurementUncertaintyUnivariateType">
133
+ <xs:choice>
134
+ <xs:annotation>
135
+ <xs:documentation xml:lang="en">univariate measurement uncertainty</xs:documentation>
136
+ </xs:annotation>
137
+ <xs:element name="standardMU" type="si:standardMUType"/>
138
+ <xs:element name="expandedMU" type="si:expandedMUType"/>
139
+ <xs:element name="coverageIntervalMU" type="si:coverageIntervalMUType"/>
140
+ </xs:choice>
141
+ </xs:complexType>
142
+
143
+
144
+ <xs:complexType name="standardMUType">
145
+ <xs:annotation>
146
+ <xs:documentation xml:lang="en">Definition of standard measurement uncertainty data.</xs:documentation>
147
+ </xs:annotation>
148
+ <xs:sequence>
149
+ <xs:element name="valueStandardMU" type="si:valueStandardMUType"/>
150
+ <xs:element name="distribution" type="si:distributionType" minOccurs="0"/>
151
+ </xs:sequence>
152
+ </xs:complexType>
153
+
154
+ <xs:complexType name="expandedMUType">
155
+ <xs:annotation>
156
+ <xs:documentation xml:lang="en">Definition of expanded measurement uncertainty data.</xs:documentation>
157
+ </xs:annotation>
158
+ <xs:sequence>
159
+ <xs:element name="valueExpandedMU" type="si:valueExpandedMUType"/>
160
+ <xs:element name="coverageFactor" type="si:kValueType"/>
161
+ <xs:element name="coverageProbability" type="si:probabilityValueType"/>
162
+ <xs:element name="distribution" type="si:distributionType" minOccurs="0"/>
163
+ </xs:sequence>
164
+ </xs:complexType>
165
+
166
+ <xs:complexType name="coverageIntervalMUType">
167
+ <xs:annotation>
168
+ <xs:documentation xml:lang="en">Definition of coverage interval measurement uncertainty data.</xs:documentation>
169
+ </xs:annotation>
170
+ <xs:sequence>
171
+ <xs:element name="valueStandardMU" type="si:valueStandardMUType"/>
172
+ <xs:element name="intervalMin" type="si:intervalMinType"/>
173
+ <xs:element name="intervalMax" type="si:intervalMaxType"/>
174
+ <xs:element name="coverageProbability" type="si:probabilityValueType"/>
175
+ <xs:element name="distribution" type="si:distributionType" minOccurs="0"/>
176
+ </xs:sequence>
177
+ </xs:complexType>
178
+
179
+ <xs:complexType name="expandedUncType">
180
+ <xs:annotation>
181
+ <xs:documentation xml:lang="en">[deprecated element] use si:expandedMU</xs:documentation>
182
+ </xs:annotation>
183
+ <xs:sequence>
184
+ <xs:element name="uncertainty" type="si:uncertaintyValueType"/>
185
+ <xs:element name="coverageFactor" type="si:kValueType"/>
186
+ <xs:element name="coverageProbability" type="si:probabilityValueType"/>
187
+ <xs:element name="distribution" type="xs:string" minOccurs="0"/>
188
+ </xs:sequence>
189
+ </xs:complexType>
190
+
191
+
192
+ <xs:complexType name="coverageIntervalType">
193
+ <xs:annotation>
194
+ <xs:documentation xml:lang="en">[deprecated element] use si:coverageIntervalMU</xs:documentation>
195
+ </xs:annotation>
196
+ <xs:sequence>
197
+ <xs:element name="standardUnc" type="si:uncertaintyValueType"/>
198
+ <xs:element name="intervalMin" type="si:decimalType"/>
199
+ <xs:element name="intervalMax" type="si:decimalType"/>
200
+ <xs:element name="coverageProbability" type="si:probabilityValueType"/>
201
+ <xs:element name="distribution" type="xs:string" minOccurs="0"/>
202
+ </xs:sequence>
203
+ </xs:complexType>
204
+
205
+
206
+ <xs:element name="constant" type="si:constantQuantityType">
207
+ <xs:annotation>
208
+ <xs:documentation xml:lang="en">
209
+ Definition of a structure for real numbers, that represent for fundamental
210
+ physical constants and mathematical constants.
211
+ </xs:documentation>
212
+ <xs:documentation xml:lang="en">
213
+ <![CDATA[
214
+ The element has the following components [(m)-mandatory, (o)-optional]:
215
+
216
+ (o) - element label (string)
217
+ (o) - element quantityTypeQUDT (qudt:quantitykind Type)
218
+ (m) - element value (decimal value type)
219
+ (m) - element unit (string - SI unit)
220
+ (o) - element significantDigit (integer)
221
+ (o) - element dateTime (xs:dateTime)
222
+ (o) - element valueStandardMU (decimal value >= 0)
223
+ (o) - element distribution (string)
224
+
225
+ The value and the uncertainty have the unit specified by the element unit.
226
+ For fundamental physical constants, that are defined experimentally, the
227
+ uncertainty is the standard deviation.
228
+
229
+ For rounded mathematical constants, the uncertainty is the standard deviation
230
+ of a rectangular distribution (element value defines center point), that
231
+ contains the exact value of the constant with 100 percent probability.
232
+ ]]>
233
+ </xs:documentation>
234
+ </xs:annotation>
235
+ </xs:element>
236
+
237
+
238
+ <xs:complexType name="constantQuantityType">
239
+ <xs:sequence>
240
+ <!-- optional label and quantity type-->
241
+ <xs:element name="label" type="xs:string" minOccurs="0"/>
242
+ <xs:element ref="si:quantityType" minOccurs="0"/>
243
+
244
+ <!-- mandatory information -->
245
+ <xs:element name="value" type="si:decimalType"/>
246
+ <xs:element name="unit" type="si:unitType"/>
247
+
248
+ <!-- optional time stamp and significatn digit -->
249
+ <xs:element name="significantDigit" type="si:significantDigitType" minOccurs="0"/>
250
+ <xs:element name="dateTime" type="xs:dateTime" minOccurs="0"/>
251
+
252
+ <!-- optional uncertainty -->
253
+ <xs:element name="valueStandardMU" type="si:valueStandardMUType" minOccurs="0"/>
254
+
255
+ <!-- deprecated element standardUnc: use valueStandardMU instead -->
256
+ <xs:element name="uncertainty" type="si:uncertaintyValueType" minOccurs="0">
257
+ <xs:annotation>
258
+ <xs:documentation xml:lang="en">
259
+ [deprecated element] Use si:valueStandardMU instead.
260
+ </xs:documentation>
261
+ </xs:annotation>
262
+ </xs:element>
263
+
264
+ <!-- optional distribution -->
265
+ <xs:element name="distribution" type="xs:string" minOccurs="0"/>
266
+ </xs:sequence>
267
+ </xs:complexType>
268
+
269
+
270
+ <xs:element name="complex" type="si:complexQuantityType">
271
+ <xs:annotation>
272
+ <xs:documentation xml:lang="en">
273
+ The definition of complex quantities in the D-SI metadata model.
274
+ Complex quantities allow two representations of complex numerical values:
275
+ One is the Cartesian coordinate form, the other representation is the
276
+ polar coordinate form.
277
+ </xs:documentation>
278
+ <xs:documentation xml:lang="en">
279
+ <![CDATA[
280
+ The following statements of a complex quantity are possible.
281
+ [(m)-mandatory, (o)-optional]
282
+
283
+ 1. Basic measured quantity in Cartesian form
284
+ (o) - element label (string)
285
+ (o) - element quantityTypeQUDT (qudt:quantitykind Type)
286
+ (m) - element valueReal (decimal value type)
287
+ (m) - element valueImag (decimal value type)
288
+ (m) - element unit (string - SI unit)
289
+ (o) - element dateTime (xs:dateTime)
290
+
291
+
292
+ 2. Basic measured quantity in polar form
293
+ (o) - element label (string)
294
+ (o) - element quantityTypeQUDT (qudt:quantitykind Type)
295
+ (m) - element valueMagnitude (decimal value type)
296
+ (m) - element valuePhase (decimal value type)
297
+ (m) - element unit (string - SI unit)
298
+ (m) - element unitPhase (string - SI unit for an angular quantity)
299
+ (o) - element dateTime (xs:dateTime)
300
+
301
+
302
+ 3. Basic measured quantity in Cartesian form with bivariate uncertainty
303
+ (o) - element label (string)
304
+ (o) - element quantityTypeQUDT (qudt:quantitykind Type)
305
+ (m) - element valueReal (decimal value type)
306
+ (m) - element valueImag (decimal value type)
307
+ (m) - element unit (string - SI unit)
308
+ (o) - element dateTime (xs:dateTime)
309
+ (m) - choice si:ellipsoidalRegion or si:rectangularRegion for the bivariate uncertainty
310
+
311
+
312
+ 4. Basic measured quantity in polar form with bivariate uncertainty
313
+ (o) - element label (string)
314
+ (o) - element quantityTypeQUDT (qudt:quantitykind Type)
315
+ (m) - element valueMagnitude (decimal value type)
316
+ (m) - element valuePhase (decimal value type)
317
+ (m) - element unit (string - SI unit)
318
+ (m) - element unitPhase (string - SI unit for an angular quantity)
319
+ (o) - element dateTime (xs:dateTime)
320
+ (m) - choice si:ellipsoidalRegion or si:rectangularRegion for the bivariate uncertainty
321
+ ]]>
322
+ </xs:documentation>
323
+ </xs:annotation>
324
+ </xs:element>
325
+
326
+
327
+ <xs:complexType name="complexQuantityType">
328
+ <xs:sequence>
329
+ <!-- optional label and quantity type-->
330
+ <xs:element name="label" type="xs:string" minOccurs="0"/>
331
+ <xs:element ref="si:quantityType" minOccurs="0"/>
332
+
333
+ <!-- choice of Cartesian coordinate form or polar coordinate form -->
334
+ <xs:choice>
335
+ <xs:sequence>
336
+ <!-- mandatory components of Cartesian coordinate form -->
337
+ <xs:element name="valueReal" type="si:decimalType"/>
338
+ <xs:element name="valueImag" type="si:decimalType"/>
339
+ <xs:element name="unit" type="si:unitType"/>
340
+ </xs:sequence>
341
+ <xs:sequence>
342
+ <!-- mandatory components of polar coordinate form -->
343
+ <xs:element name="valueMagnitude" type="si:decimalType"/>
344
+ <xs:element name="valuePhase" type="si:decimalType"/>
345
+ <xs:element name="unit" type="si:unitType"/>
346
+ <xs:element name="unitPhase" type="si:unitPhaseType"/>
347
+ </xs:sequence>
348
+ </xs:choice>
349
+ <!-- optional time stamp -->
350
+ <xs:element name="dateTime" type="xs:dateTime" minOccurs="0"/>
351
+
352
+ <!-- optional uncertainty statement: either ellipsoidal or rectangular coverage region -->
353
+ <xs:choice minOccurs="0">
354
+ <xs:annotation>
355
+ <xs:documentation xml:lang="en">
356
+ bivariate measurement uncertainty
357
+ </xs:documentation>
358
+ </xs:annotation>
359
+ <xs:element name="ellipsoidalRegion" type="si:ellipsoidalRegionType"/>
360
+ <xs:element name="rectangularRegion" type="si:rectangularRegionType"/>
361
+ </xs:choice>
362
+
363
+ </xs:sequence>
364
+ </xs:complexType>
365
+
366
+
367
+ <xs:complexType name="ellipsoidalRegionType">
368
+ <xs:sequence>
369
+ <!-- covariance matrix data -->
370
+ <xs:element name="covarianceMatrix" type="si:covarianceMatrixType"/>
371
+ <!-- coverage properties of region -->
372
+ <xs:element name="coverageFactor" type="si:kValueType"/>
373
+ <xs:element name="coverageProbability" type="si:probabilityValueType"/>
374
+ <!-- optional information about distribution -->
375
+ <xs:element name="distribution" type="xs:string" minOccurs="0"/>
376
+ </xs:sequence>
377
+ </xs:complexType>
378
+
379
+
380
+ <xs:complexType name="rectangularRegionType">
381
+ <xs:sequence>
382
+ <!-- covariance matrix data -->
383
+ <xs:element name="covarianceMatrix" type="si:covarianceMatrixType"/>
384
+ <!-- coverage properties of region -->
385
+ <xs:element name="coverageFactor" type="si:kValueType"/>
386
+ <xs:element name="coverageProbability" type="si:probabilityValueType"/>
387
+ <!-- optional information about distribution -->
388
+ <xs:element name="distribution" type="xs:string" minOccurs="0"/>
389
+ </xs:sequence>
390
+ </xs:complexType>
391
+
392
+
393
+ <xs:complexType name="covarianceMatrixType">
394
+ <xs:sequence>
395
+ <xs:element name="column" minOccurs="1" maxOccurs="unbounded">
396
+ <xs:annotation>
397
+ <xs:documentation xml:lang="en">
398
+ Definition of a column in the covariance matrix.
399
+ </xs:documentation>
400
+ <xs:documentation xml:lang="en">
401
+ <![CDATA[
402
+ The column has n covariance elements, where
403
+ n is the amount of columns in the covariance matrix.
404
+
405
+ The covariance elements are ordered as in the covariance matrix, started
406
+ at the element in the first row of the matrix and going to the
407
+ last row of the matrix.
408
+ ]]>
409
+ </xs:documentation>
410
+ </xs:annotation>
411
+ <xs:complexType>
412
+ <xs:sequence>
413
+ <xs:element name="covariance" minOccurs="1" maxOccurs="unbounded">
414
+ <xs:annotation>
415
+ <xs:documentation xml:lang="en">
416
+ Each covariance component is defined by
417
+ - element value (decimal value type)
418
+ - element unit (string - SI format)
419
+ </xs:documentation>
420
+ </xs:annotation>
421
+ <xs:complexType>
422
+ <xs:sequence>
423
+ <xs:element name="value" type="si:decimalType"/>
424
+ <xs:element name="unit" type="si:unitType"/>
425
+ </xs:sequence>
426
+ </xs:complexType>
427
+ </xs:element>
428
+ </xs:sequence>
429
+ </xs:complexType>
430
+ </xs:element>
431
+ </xs:sequence>
432
+ </xs:complexType>
433
+
434
+
435
+ <xs:element name="realList" type="si:realListType">
436
+ <xs:annotation>
437
+ <xs:documentation xml:lang="en">
438
+ Meta data element definition for a list of real measurement quantities.
439
+ The list can represent independent measurement or multivariate vector quantities.
440
+ </xs:documentation>
441
+ <xs:documentation xml:lang="en">
442
+ <![CDATA[
443
+ A list can provide the following structures:
444
+ - list of one ore more si:real elements
445
+ - optional list timestamp, list label, list quantityType and/or list unit
446
+ - optional list univariate uncertainty statement with list unit
447
+ - optional multivariate hyper-elliptical or hyper-rectangular coverage region
448
+ ]]>
449
+ </xs:documentation>
450
+ </xs:annotation>
451
+ </xs:element>
452
+
453
+
454
+ <xs:complexType name="realListType">
455
+ <xs:sequence>
456
+ <!-- optional label of the list-->
457
+ <xs:element name="label" type="xs:string" minOccurs="0"/>
458
+ <!-- optional list time stamp -->
459
+ <xs:element name="dateTime" type="xs:dateTime" minOccurs="0"/>
460
+ <!-- optional list quantityType -->
461
+ <xs:element ref="si:listQuantityType" minOccurs="0"/>
462
+ <!-- optional list unit -->
463
+ <xs:element name="listUnit" type="si:unitType" minOccurs="0"/>
464
+ <!-- optional list significant digits -->
465
+ <xs:element name="listsignificantDigit" type="si:significantDigitType" minOccurs="0"/>
466
+ <!-- optional list uncertainty -->
467
+
468
+ <xs:element name="listMeasurementUncertaintyUnivariate" type="si:listMeasurementUncertaintyUnivariateType" minOccurs="0">
469
+ <xs:annotation>
470
+ <xs:documentation xml:lang="en">
471
+ Definition of a structure, for a global univariate uncertainty, that
472
+ is used within the list structure with a list of real quantities.
473
+ The global univariate uncertainty can either be given as an expanded
474
+ measurement uncertainty or as a coverage interval.
475
+ </xs:documentation>
476
+ </xs:annotation>
477
+ </xs:element>
478
+
479
+ <xs:element name="listUnivariateUnc" type="si:listUnivariateUncType" minOccurs="0">
480
+ <xs:annotation>
481
+ <xs:documentation xml:lang="en">[deprecated element] use listMeasurementUncertaintyUnivariate instead</xs:documentation>
482
+ </xs:annotation>
483
+ </xs:element>
484
+
485
+ <!-- mandatory list of real elements -->
486
+ <xs:element name="real" type="si:realInListType" maxOccurs="unbounded">
487
+ <xs:annotation>
488
+ <xs:documentation xml:lang="en">
489
+ Meta data element definition for a real measurement quantity in list.
490
+ This implementation differs from the pure real quantity in the way that
491
+ the unit component is optional in order to allow a combination with
492
+ a global unit in the list of real quantities.
493
+ </xs:documentation>
494
+ </xs:annotation>
495
+ </xs:element>
496
+ <!-- optional multivariate uncertainty statement -->
497
+ <xs:choice minOccurs="0">
498
+ <xs:annotation>
499
+ <xs:documentation xml:lang="en">
500
+ multivariate measurement uncertainty
501
+ </xs:documentation>
502
+ </xs:annotation>
503
+ <xs:element name="ellipsoidalRegion" type="si:ellipsoidalRegionType"/>
504
+ <xs:element name="rectangularRegion" type="si:rectangularRegionType"/>
505
+ </xs:choice>
506
+ </xs:sequence>
507
+ </xs:complexType>
508
+
509
+ <xs:complexType name="realInListType">
510
+ <xs:sequence>
511
+ <!-- optional local label and local quantity type-->
512
+ <xs:element name="label" type="xs:string" minOccurs="0"/>
513
+ <xs:element ref="si:quantityType" minOccurs="0"/>
514
+
515
+ <!-- mandatory information -->
516
+ <xs:element name="value" type="si:decimalType"/>
517
+ <!-- if list unit, then do not write this local unit -->
518
+ <xs:element name="unit" type="si:unitType" minOccurs="0"/>
519
+ <!-- optional local time stamp and significatn digit -->
520
+ <xs:element name="significantDigit" type="si:significantDigitType" minOccurs="0"/>
521
+ <xs:element name="dateTime" type="xs:dateTime" minOccurs="0"/>
522
+ <!-- optional choice of local uncertainty statements -->
523
+ <xs:choice minOccurs="0">
524
+ <xs:annotation>
525
+ <xs:documentation xml:lang="en">univariate measurement uncertainty</xs:documentation>
526
+ </xs:annotation>
527
+ <xs:element name="measurementUncertaintyUnivaraite" type="si:measurementUncertaintyUnivariateType"/>
528
+ <!-- deprecated types -->
529
+ <xs:element name="expandedUnc" type="si:expandedUncType"/>
530
+ <xs:element name="coverageInterval" type="si:coverageIntervalType"/>
531
+ </xs:choice>
532
+ </xs:sequence>
533
+ </xs:complexType>
534
+
535
+
536
+ <xs:complexType name="listMeasurementUncertaintyUnivariateType">
537
+ <xs:choice>
538
+ <xs:annotation>
539
+ <xs:documentation xml:lang="en">univariate measurement uncertainty</xs:documentation>
540
+ </xs:annotation>
541
+ <xs:element name="standardMU" type="si:standardMUType"/>
542
+ <xs:element name="expandedMU" type="si:expandedMUType"/>
543
+ <xs:element name="coverageIntervalMU" type="si:coverageIntervalType"/>
544
+ <!-- deprecated types -->
545
+ <xs:element name="expandedUnc" type="si:expandedUncType"/>
546
+ <xs:element name="coverageInterval" type="si:coverageIntervalType"/>
547
+ </xs:choice>
548
+ </xs:complexType>
549
+
550
+
551
+ <xs:complexType name="listUnivariateUncType">
552
+ <xs:annotation>
553
+ <xs:documentation xml:lang="en">[deprecated type] use listMeasurementUncertaintyUnivariateType instead</xs:documentation>
554
+ </xs:annotation>
555
+ <xs:choice>
556
+ <xs:element name="expandedUnc" type="si:expandedUncType"/>
557
+ <xs:element name="coverageInterval" type="si:coverageIntervalType"/>
558
+ </xs:choice>
559
+ </xs:complexType>
560
+
561
+
562
+ <xs:element name="realListXMLList" type="si:realListXMLListType">
563
+ <xs:annotation>
564
+ <xs:documentation xml:lang="en">
565
+ Meta data element definition for a list of real measurement quantities based on
566
+ the XML type xsd:list. The list can represent independent measurement or multivariate
567
+ vector quantities. The listed data is separated by blank spaces allowing a memory
568
+ saving implementation of large data sets.
569
+ </xs:documentation>
570
+ <xs:documentation xml:lang="en">
571
+ <![CDATA[
572
+ A list can provide the following structures:
573
+ - list of one ore more si:value elements separated by blank spaces
574
+ - optional list timestamp, list label, and/or list unit
575
+ - optional list univariate uncertainty statement with list unit
576
+ - optional multivariate hyper-elliptical or hyper-rectangular coverage region
577
+ ]]>
578
+ </xs:documentation>
579
+ </xs:annotation>
580
+ </xs:element>
581
+
582
+
583
+ <xs:complexType name="realListXMLListType">
584
+ <xs:sequence>
585
+ <!-- optional label and quantity type-->
586
+ <xs:element name="labelXMLList" type="si:stringXMLListType" minOccurs="0"/>
587
+ <xs:element ref="si:quantityTypeXMLList" minOccurs="0"/>
588
+
589
+ <!-- mandatory information -->
590
+ <xs:element name="valueXMLList" type="si:decimalXMLListType"/>
591
+ <xs:element name="unitXMLList" type="si:unitXMLListType"/>
592
+
593
+ <!-- optional time stamp & significant digit -->
594
+ <xs:element name="significantDigitXMLList" type="si:significantDigitXMLListType" minOccurs="0"/>
595
+ <xs:element name="dateTimeXMLList" type="si:dateTimeXMLListType" minOccurs="0"/>
596
+
597
+ <!-- optional choice of uncertainty statements -->
598
+ <xs:choice minOccurs="0">
599
+ <xs:annotation>
600
+ <xs:documentation xml:lang="en">univariate measurement uncertainty</xs:documentation>
601
+ </xs:annotation>
602
+ <xs:element name="measurementUncertaintyUnivariateXMLList" type="si:measurementUncertaintyUnivariateXMLListType"/>
603
+ <!-- deprecated types -->
604
+ <xs:element name="expandedUncXMLList" type="si:expandedUncXMLListType"/>
605
+ <xs:element name="coverageIntervalXMLList" type="si:coverageIntervalXMLListType"/>
606
+ </xs:choice>
607
+
608
+ <xs:choice minOccurs="0">
609
+ <xs:annotation>
610
+ <xs:documentation xml:lang="en">multivariate measurement uncertainty</xs:documentation>
611
+ </xs:annotation>
612
+
613
+ <xs:element name="measurementUncertaintyMultivariateXMLList" type="si:measurementUncertaintyMultivariateXMLListType"/>
614
+
615
+ <!-- [deprecated elements] use mUncMultivarEllipsoidalXMLList or mUncMultivarRectangularXMLList instead -->
616
+ <xs:element name="ellipsoidalRegionXMLList" type="si:ellipsoidalRegionType"/>
617
+ <xs:element name="rectangularRegionXMLList" type="si:rectangularRegionType"/>
618
+ </xs:choice>
619
+ </xs:sequence>
620
+ </xs:complexType>
621
+
622
+
623
+ <xs:complexType name="measurementUncertaintyUnivariateXMLListType">
624
+ <xs:choice>
625
+ <xs:annotation>
626
+ <xs:documentation xml:lang="en">univariate measurement uncertainty as XML List</xs:documentation>
627
+ </xs:annotation>
628
+ <xs:element name="standardMUXMLList" type="si:standardMUXMLListType"/>
629
+ <xs:element name="expandedMUXMLList" type="si:expandedMUXMLListType"/>
630
+ <xs:element name="coverageIntervalMUXMLList" type="si:coverageIntervalMUXMLListType"/>
631
+ </xs:choice>
632
+ </xs:complexType>
633
+
634
+
635
+ <xs:complexType name="standardMUXMLListType">
636
+ <xs:annotation>
637
+ <xs:documentation xml:lang="en">Definition of standard measurement uncertainty data.</xs:documentation>
638
+ </xs:annotation>
639
+ <xs:sequence>
640
+ <xs:element name="valueStandardMUXMLList" type="si:valueStandardMUXMLListType"/>
641
+ <xs:element name="distributionXMLList" type="si:distributionXMLListType" minOccurs="0"/>
642
+ </xs:sequence>
643
+ </xs:complexType>
644
+
645
+ <xs:complexType name="expandedMUXMLListType">
646
+ <xs:annotation>
647
+ <xs:documentation xml:lang="en">Definition of expanded measurement uncertainty data.</xs:documentation>
648
+ </xs:annotation>
649
+ <xs:sequence>
650
+ <xs:element name="valueExpandedMUXMLList" type="si:valueExpandedMUXMLListType"/>
651
+ <xs:element name="coverageFactorXMLList" type="si:kValueXMLListType"/>
652
+ <xs:element name="coverageProbabilityXMLList" type="si:probabilityValueXMLListType"/>
653
+ <xs:element name="distributionXMLList" type="si:distributionXMLListType" minOccurs="0"/>
654
+ </xs:sequence>
655
+ </xs:complexType>
656
+
657
+ <xs:complexType name="coverageIntervalMUXMLListType">
658
+ <xs:annotation>
659
+ <xs:documentation xml:lang="en">Definition of coverage interval measurement uncertainty data.</xs:documentation>
660
+ </xs:annotation>
661
+ <xs:sequence>
662
+ <xs:element name="valueStandardMUXMLList" type="si:valueStandardMUXMLListType"/>
663
+ <xs:element name="intervalMinXMLList" type="si:intervalMinXMLListType"/>
664
+ <xs:element name="intervalMaxXMLList" type="si:intervalMaxXMLListType"/>
665
+ <xs:element name="coverageProbabilityXMLList" type="si:probabilityValueXMLListType"/>
666
+ <xs:element name="distributionXMLList" type="si:distributionXMLListType" minOccurs="0"/>
667
+ </xs:sequence>
668
+ </xs:complexType>
669
+
670
+ <xs:complexType name="expandedUncXMLListType">
671
+ <xs:annotation>
672
+ <xs:documentation xml:lang="en">[deprecated type] use si:expandedMUXMLListType </xs:documentation>
673
+ </xs:annotation>
674
+ <xs:sequence>
675
+ <xs:element name="uncertaintyXMLList" type="si:uncertaintyValueXMLListType"/>
676
+ <xs:element name="coverageFactorXMLList" type="si:kValueXMLListType"/>
677
+ <xs:element name="coverageProbabilityXMLList" type="si:probabilityValueXMLListType"/>
678
+ <xs:element name="distributionXMLList" type="si:stringXMLListType" minOccurs="0"/>
679
+ </xs:sequence>
680
+ </xs:complexType>
681
+
682
+
683
+ <xs:complexType name="coverageIntervalXMLListType">
684
+ <xs:annotation>
685
+ <xs:documentation xml:lang="en">[deprecated type] use si:coverageIntervalMUXMLListType</xs:documentation>
686
+ </xs:annotation>
687
+ <xs:sequence>
688
+ <xs:element name="standardUncXMLList" type="si:uncertaintyValueXMLListType"/>
689
+ <xs:element name="intervalMinXMLList" type="si:decimalXMLListType"/>
690
+ <xs:element name="intervalMaxXMLList" type="si:decimalXMLListType"/>
691
+ <xs:element name="coverageProbabilityXMLList" type="si:probabilityValueXMLListType"/>
692
+ <xs:element name="distributionXMLList" type="si:stringXMLListType" minOccurs="0"/>
693
+ </xs:sequence>
694
+ </xs:complexType>
695
+
696
+
697
+ <xs:complexType name="measurementUncertaintyMultivariateXMLListType">
698
+ <xs:choice minOccurs="0">
699
+ <xs:annotation>
700
+ <xs:documentation xml:lang="en">
701
+ multivariate measurement uncertainty in XML list.
702
+ </xs:documentation>
703
+ </xs:annotation>
704
+ <xs:element name="ellipsoidalRegionMUXMLList" type="si:ellipsoidalRegionMUXMLListType"/>
705
+ <xs:element name="rectangularRegionMUXMLList" type="si:rectangularRegionMUXMLListType"/>
706
+ </xs:choice>
707
+ </xs:complexType>
708
+
709
+
710
+ <xs:complexType name="ellipsoidalRegionMUXMLListType">
711
+ <xs:sequence>
712
+ <!-- covariance matrix data -->
713
+ <xs:element name="covarianceMatrixXMLList" type="si:covarianceMatrixXMLListType"/>
714
+ <!-- coverage properties of region -->
715
+ <xs:element name="coverageFactorXMLList" type="si:kValueXMLListType"/>
716
+ <xs:element name="coverageProbabilityXMLList" type="si:probabilityValueXMLListType"/>
717
+ <!-- optional information about distribution -->
718
+ <xs:element name="distributionXMLList" type="si:distributionXMLListType" minOccurs="0"/>
719
+ </xs:sequence>
720
+ </xs:complexType>
721
+
722
+
723
+ <xs:complexType name="rectangularRegionMUXMLListType">
724
+ <xs:sequence>
725
+ <!-- covariance matrix data -->
726
+ <xs:element name="covarianceMatrixXMLList" type="si:covarianceMatrixXMLListType"/>
727
+ <!-- coverage properties of region -->
728
+ <xs:element name="coverageFactorXMLList" type="si:kValueXMLListType"/>
729
+ <xs:element name="coverageProbabilityXMLList" type="si:probabilityValueXMLListType"/>
730
+ <!-- optional information about distribution -->
731
+ <xs:element name="distributionXMLList" type="si:distributionXMLListType" minOccurs="0"/>
732
+ </xs:sequence>
733
+ </xs:complexType>
734
+
735
+
736
+ <xs:complexType name="covarianceMatrixXMLListType">
737
+ <xs:sequence>
738
+ <xs:element name="columnXMLList" minOccurs="1" maxOccurs="unbounded">
739
+ <xs:annotation>
740
+ <xs:documentation xml:lang="en">
741
+ Definition of a column in the covariance matrix.
742
+ </xs:documentation>
743
+ <xs:documentation xml:lang="en">
744
+ <![CDATA[
745
+ The column has n covariance elements, where
746
+ n is the amount of columns in the covariance matrix.
747
+
748
+ The covariance elements are ordered as in the covariance matrix, started
749
+ at the element in the first row of the matrix and going to the
750
+ last row of the matrix.
751
+ ]]>
752
+ </xs:documentation>
753
+ </xs:annotation>
754
+ <xs:complexType>
755
+ <xs:sequence>
756
+ <xs:element name="covarianceXMLList" type="si:covarianceXMLListType" minOccurs="1" maxOccurs="unbounded">
757
+ <xs:annotation>
758
+ <xs:documentation xml:lang="en">
759
+ Each covariance component is defined by
760
+ - element value (decimal value type)
761
+ - element unit (string - SI format)
762
+ </xs:documentation>
763
+ </xs:annotation>
764
+ </xs:element>
765
+ </xs:sequence>
766
+ </xs:complexType>
767
+ </xs:element>
768
+ </xs:sequence>
769
+ </xs:complexType>
770
+
771
+
772
+ <xs:complexType name="covarianceXMLListType">
773
+ <xs:sequence>
774
+ <xs:element name="valueXMLList" type="si:decimalXMLListType"/>
775
+ <xs:element name="unitXMLList" type="si:unitXMLListType"/>
776
+ </xs:sequence>
777
+ </xs:complexType>
778
+
779
+
780
+ <xs:element name="complexList" type="si:complexListType">
781
+ <xs:annotation>
782
+ <xs:documentation xml:lang="en">
783
+ Meta data element definition for a list of complex measurement quantities.
784
+ The list can represent independent measurement or multivariate vector quantities.
785
+ </xs:documentation>
786
+ <xs:documentation xml:lang="en">
787
+ <![CDATA[
788
+ This list can provide the following structures:
789
+ - list of one ore more si:complex elements
790
+ - optional list timestamp, list label, and/or list unit(s)
791
+ - optional list bivariate uncertainty statement with list unit(s)
792
+ - optional multivariate hyper-elliptical or hyper-rectangular coverage region
793
+ ]]>
794
+ </xs:documentation>
795
+ </xs:annotation>
796
+ </xs:element>
797
+
798
+
799
+ <xs:complexType name="complexListType">
800
+ <xs:sequence>
801
+ <!-- optional label of the list -->
802
+ <xs:element name="label" type="xs:string" minOccurs="0"/>
803
+
804
+ <!-- optional list time stamp -->
805
+ <xs:element name="dateTime" type="xs:dateTime" minOccurs="0"/>
806
+ <!-- optional list quantityType -->
807
+ <xs:element ref="si:listQuantityType" minOccurs="0"/>
808
+ <!-- optional list unit -->
809
+ <xs:element name="listUnit" type="si:unitType" minOccurs="0"/>
810
+ <xs:element name="listUnitPhase" type="xs:string" minOccurs="0"/>
811
+ <!-- optional list bivariate uncertainty -->
812
+
813
+ <xs:element name="listBivariateUnc" type="si:listBivariateUncType" minOccurs="0">
814
+ <xs:annotation>
815
+ <xs:documentation xml:lang="en">
816
+ Definition of a structure, for a global bivariate uncertainty, that
817
+ is used within the list structure with a list of complex quantities.
818
+ The global bivariate uncertainty can either be given as a hyper-ellipsoidal
819
+ coverage region or a hyper-rectangular coverage region. Both
820
+ coverage regions must provide a covariance matrix of dimension 2.
821
+ </xs:documentation>
822
+ </xs:annotation>
823
+ </xs:element>
824
+ <!-- mandatory list of complex elements -->
825
+ <xs:element name="complex" type="si:complexInListType" maxOccurs="unbounded">
826
+ <xs:annotation>
827
+ <xs:documentation xml:lang="en">
828
+ Meta data element definition for a complex measurement quantity in list.
829
+ This implementation differs from the pure complex quantity, in the way that
830
+ the unit components are optional in order to allow a combination with
831
+ a global unit in the list of complex quantities.
832
+ </xs:documentation>
833
+ </xs:annotation>
834
+ </xs:element>
835
+ <!-- optional multivariate uncertainty statement -->
836
+ <xs:choice minOccurs="0">
837
+ <xs:annotation>
838
+ <xs:documentation xml:lang="en">
839
+ multivariate measurement uncertainty
840
+ </xs:documentation>
841
+ </xs:annotation>
842
+ <xs:element name="ellipsoidalRegion" type="si:ellipsoidalRegionType"/>
843
+ <xs:element name="rectangularRegion" type="si:rectangularRegionType"/>
844
+ </xs:choice>
845
+ </xs:sequence>
846
+ </xs:complexType>
847
+
848
+
849
+ <xs:complexType name="complexInListType">
850
+ <xs:sequence>
851
+ <!-- optional local label and local quantity type-->
852
+ <xs:element name="label" type="xs:string" minOccurs="0"/>
853
+ <xs:element ref="si:quantityType" minOccurs="0"/>
854
+
855
+ <!-- choice of Cartesian coordinate form or polar coordinate form -->
856
+ <xs:choice>
857
+ <xs:sequence>
858
+ <!-- mandatory components of Cartesian coordinate form -->
859
+ <xs:element name="valueReal" type="si:decimalType"/>
860
+ <xs:element name="valueImag" type="si:decimalType"/>
861
+ <!-- if list unit, then do not write this local unit -->
862
+ <xs:element name="unit" type="si:unitType" minOccurs="0"/>
863
+ </xs:sequence>
864
+ <xs:sequence>
865
+ <!-- mandatory components of polar coordinate form -->
866
+ <xs:element name="valueMagnitude" type="si:decimalType"/>
867
+ <xs:element name="valuePhase" type="si:decimalType"/>
868
+ <!-- if list unit, then do not write this local unit -->
869
+ <xs:element name="unit" type="si:unitType" minOccurs="0"/>
870
+ <!-- if list unit, then do not write this local unit -->
871
+ <xs:element name="unitPhase" type="si:unitPhaseType" minOccurs="0"/>
872
+ </xs:sequence>
873
+ </xs:choice>
874
+ <!-- optional local time stamp -->
875
+ <xs:element name="dateTime" type="xs:dateTime" minOccurs="0"/>
876
+
877
+ <!-- optional local uncertainty statement: either ellipsoidal or rectangular coverage region -->
878
+ <xs:choice minOccurs="0">
879
+ <xs:annotation>
880
+ <xs:documentation xml:lang="en">
881
+ bivariate measurement uncertainty
882
+ </xs:documentation>
883
+ </xs:annotation>
884
+ <xs:element name="ellipsoidalRegion" type="si:ellipsoidalRegionType"/>
885
+ <xs:element name="rectangularRegion" type="si:rectangularRegionType"/>
886
+ </xs:choice>
887
+ </xs:sequence>
888
+ </xs:complexType>
889
+
890
+
891
+ <xs:complexType name="listBivariateUncType">
892
+ <xs:choice minOccurs="0">
893
+ <xs:annotation>
894
+ <xs:documentation xml:lang="en">
895
+ bivariate measurement uncertainty
896
+ </xs:documentation>
897
+ </xs:annotation>
898
+ <xs:element name="ellipsoidalRegion" type="si:ellipsoidalRegionType"/>
899
+ <xs:element name="rectangularRegion" type="si:rectangularRegionType"/>
900
+ </xs:choice>
901
+ </xs:complexType>
902
+
903
+
904
+ <xs:element name="complexListXMLList" type="si:complexListXMLListType">
905
+ <xs:annotation>
906
+ <xs:documentation xml:lang="en">
907
+ Meta data element definition for a list of complex measurement quantities.
908
+ The list can represent independent measurement or multivariate vector quantities.
909
+ The list support blank space sepetrated values.
910
+ </xs:documentation>
911
+ <xs:documentation xml:lang="en">
912
+ <![CDATA[
913
+ This list can provide the following structures:
914
+ - list of one ore more si:complex elements
915
+ - optional list timestamp, list label, and/or list unit(s)
916
+ - optional list bivariate uncertainty statement with list unit(s)
917
+ - optional multivariate hyper-elliptical or hyper-rectangular coverage region
918
+ ]]>
919
+ </xs:documentation>
920
+ </xs:annotation>
921
+ </xs:element>
922
+
923
+
924
+ <xs:complexType name="complexListXMLListType">
925
+ <xs:sequence>
926
+ <!-- optional label and quantity type-->
927
+ <xs:element name="labelXMLList" type="si:stringXMLListType" minOccurs="0"/>
928
+ <xs:element ref="si:quantityTypeXMLList" minOccurs="0"/>
929
+
930
+ <!-- choice of Cartesian coordinate form or polar coordinate form -->
931
+ <xs:choice>
932
+ <xs:sequence>
933
+ <!-- mandatory components of Cartesian coordinate form -->
934
+ <xs:element name="valueRealXMLList" type="si:decimalXMLListType"/>
935
+ <xs:element name="valueImagXMLList" type="si:decimalXMLListType"/>
936
+ <xs:element name="unitXMLList" type="si:unitXMLListType"/>
937
+ </xs:sequence>
938
+ <xs:sequence>
939
+ <!-- mandatory components of polar coordinate form -->
940
+ <xs:element name="valueMagnitudeXMLList" type="si:decimalXMLListType"/>
941
+ <xs:element name="valuePhaseXMLList" type="si:decimalXMLListType"/>
942
+ <xs:element name="unitXMLList" type="si:unitXMLListType"/>
943
+ <xs:element name="unitPhaseXMLList" type="si:unitPhaseXMLListType"/>
944
+ </xs:sequence>
945
+ </xs:choice>
946
+ <!-- optional time stamp -->
947
+ <xs:element name="dateTimeXMLList" type="si:dateTimeXMLListType" minOccurs="0"/>
948
+
949
+ <!-- optional uncertainty statement: either ellipsoidal or rectangular coverage region -->
950
+ <xs:element name="measurementUncertaintyBivariateXMLList" type="si:measurementUncertaintyBivariateXMLListType" minOccurs="0">
951
+ <xs:annotation>
952
+ <xs:documentation xml:lang="en">
953
+ bivariate measurement uncertainty
954
+ </xs:documentation>
955
+ </xs:annotation>
956
+ </xs:element>
957
+
958
+ <!-- optional multivariate uncertainty statement -->
959
+ <xs:element name="measurementUncertaintyMultivariateXMLList" type="si:measurementUncertaintyMultivariateXMLListType" minOccurs="0">
960
+ <xs:annotation>
961
+ <xs:documentation xml:lang="en">
962
+ multivariate measurement uncertainty
963
+ </xs:documentation>
964
+ </xs:annotation>
965
+ </xs:element>
966
+
967
+ </xs:sequence>
968
+ </xs:complexType>
969
+
970
+
971
+ <xs:complexType name="measurementUncertaintyBivariateXMLListType">
972
+ <xs:choice minOccurs="0">
973
+ <xs:annotation>
974
+ <xs:documentation xml:lang="en">
975
+ bivariate measurement uncertainty in XML list for complex quantities.
976
+ </xs:documentation>
977
+ </xs:annotation>
978
+ <xs:element name="ellipsoidalRegionMUXMLList" type="si:ellipsoidalRegionMUXMLListType"/>
979
+ <xs:element name="rectangularRegionMUXMLList" type="si:rectangularRegionMUXMLListType"/>
980
+ </xs:choice>
981
+ </xs:complexType>
982
+
983
+
984
+
985
+
986
+
987
+ <xs:element name="list" type="si:listType">
988
+ <xs:annotation>
989
+ <xs:documentation xml:lang="en">
990
+ Meta data element definition for a list of basic measurement quantities.
991
+ The list can represent independent measurement or multivariate vector quantities.
992
+ </xs:documentation>
993
+ <xs:documentation xml:lang="en">
994
+ <![CDATA[
995
+ This list can provide the following nested structures:
996
+ - si:list elements and
997
+ - si:realList elements and
998
+ - si:complexList elements
999
+ ]]>
1000
+ </xs:documentation>
1001
+ </xs:annotation>
1002
+ </xs:element>
1003
+
1004
+
1005
+ <xs:complexType name="listType">
1006
+ <xs:sequence>
1007
+ <!-- optional label of the list -->
1008
+ <xs:element name="label" type="xs:string" minOccurs="0"/>
1009
+ <!-- optional list time stamp -->
1010
+ <xs:element name="dateTime" type="xs:dateTime" minOccurs="0"/>
1011
+
1012
+ <!-- selection between list of lists and list of real or complex -->
1013
+ <xs:choice maxOccurs="unbounded">
1014
+ <!-- either list of real -->
1015
+ <xs:element name="realList" type="si:realListType"/>
1016
+ <xs:element name="realListXMLList" type="si:realListXMLListType"/>
1017
+ <!-- or list of complex -->
1018
+ <xs:element name="complexList" type="si:complexListType"/>
1019
+ <xs:element name="complexListXMLList" type="si:complexListXMLListType"/>
1020
+ <!-- or list of lists -->
1021
+ <xs:element name="list" type="si:listType"/>
1022
+ </xs:choice>
1023
+ </xs:sequence>
1024
+ </xs:complexType>
1025
+
1026
+
1027
+ <xs:element name="hybrid" type="si:hybridType">
1028
+ <xs:annotation>
1029
+ <xs:documentation xml:lang="en">
1030
+ The hybrid elements allows to add quantities to the
1031
+ machine readable D-SI format, with other units, than those allowed
1032
+ to be used with the SI by means of the BIPM SI brochure.
1033
+ </xs:documentation>
1034
+ <xs:documentation xml:lang="en">
1035
+ <![CDATA[
1036
+ The hybrid element can contain the following information
1037
+
1038
+ 1. A set of real quantities
1039
+ - all real elements provide a quantity value for one and the same measured quantity
1040
+ - each real element provides this quantity with a different unit
1041
+ - at least one real element provides the quantity with a machine readable SI unit
1042
+ - the other real quantities can use any SI or non-SI unit
1043
+
1044
+ 2. A set of complex quantities
1045
+ - all complex elements provide a quantity value for one and the same measured quantity
1046
+ - each complex element provides this quantity with a different unit(s)
1047
+ - at least one complex element provides the quantity with a machine readable SI unit(s)
1048
+ - the other complex quantities can use any SI or non-SI unit
1049
+
1050
+ 3. A set of list elements
1051
+ - all list elements must provide the same quantity information and hence, must have
1052
+ an identical structure.
1053
+ - the lists do only differ by using different units for each of the quantities
1054
+ - at least one list provides all quantities only with machine readable SI units
1055
+ - the other lists can use any other units for the quantities
1056
+ - Applicable list types are si:list, si:realList, si:complexList and si:realListXMLList.
1057
+
1058
+ 4. A set of constant quantities
1059
+ - all constant elements provide a quantity value for one and the same quantity
1060
+ - each constant element provides this quantity with a different unit
1061
+ - at least one constant element provides the quantity with a machine readable SI unit
1062
+ - the other constant quantities can use any SI or non-SI unit
1063
+ ]]>
1064
+ </xs:documentation>
1065
+ </xs:annotation>
1066
+ </xs:element>
1067
+
1068
+
1069
+ <xs:complexType name="hybridType">
1070
+ <xs:sequence>
1071
+ <!-- mandatory adapter for at least one SI quantity and additional (non-) SI quantities -->
1072
+ <xs:choice>
1073
+ <xs:element name="real" type="si:realQuantityType" minOccurs="1" maxOccurs="unbounded"/>
1074
+ <xs:element name="complex" type="si:complexQuantityType" minOccurs="1" maxOccurs="unbounded"/>
1075
+ <xs:element name="list" type="si:listType" minOccurs="1" maxOccurs="unbounded"/>
1076
+ <xs:element name="realList" type="si:realListType" minOccurs="1" maxOccurs="unbounded"/>
1077
+ <xs:element name="realListXMLList" type="si:realListXMLListType" minOccurs="1" maxOccurs="unbounded"/>
1078
+ <xs:element name="complexList" type="si:complexListType" minOccurs="1" maxOccurs="unbounded"/>
1079
+ <xs:element name="complexListXMLList" type="si:complexListXMLListType" minOccurs="1" maxOccurs="unbounded"/>
1080
+ <xs:element name="constant" type="si:constantQuantityType" minOccurs="1" maxOccurs="unbounded"/>
1081
+ </xs:choice>
1082
+ </xs:sequence>
1083
+ </xs:complexType>
1084
+
1085
+
1086
+
1087
+ <!-- ############## D-SI XML INTERNALLY USED SIMPLE TYPE DEFINITIONS #################### -->
1088
+
1089
+ <xs:element name="quantityType" type="xs:string" abstract="true">
1090
+ <xs:annotation>
1091
+ <xs:documentation xml:lang="en">
1092
+ Definition of placeholder element for providing different quantity types.
1093
+ </xs:documentation>
1094
+ </xs:annotation>
1095
+ </xs:element>
1096
+
1097
+ <xs:element name="quantityTypeQUDT" substitutionGroup="si:quantityType" type="qudt:quantitykind">
1098
+ <xs:annotation>
1099
+ <xs:documentation xml:lang="en">
1100
+ Definition of a quantity element that links to the QUDT
1101
+ ontology IDs for qauntities.
1102
+ </xs:documentation>
1103
+ </xs:annotation>
1104
+ </xs:element>
1105
+ <!--<xs:element name="quantityTypeIEC" substitutionGroup="si:quantityType"/>-->
1106
+
1107
+ <xs:element name="listQuantityType" type="xs:string" abstract="true">
1108
+ <xs:annotation>
1109
+ <xs:documentation xml:lang="en">
1110
+ Definition of placeholder element for providing different quantity types.
1111
+ </xs:documentation>
1112
+ </xs:annotation>
1113
+ </xs:element>
1114
+
1115
+ <xs:element name="listQuantityTypeQUDT" substitutionGroup="si:listQuantityType" type="qudt:quantitykind">
1116
+ <xs:annotation>
1117
+ <xs:documentation xml:lang="en">
1118
+ Definition of a quantity element that links to the QUDT
1119
+ ontology IDs for qauntities.
1120
+ </xs:documentation>
1121
+ </xs:annotation>
1122
+ </xs:element>
1123
+
1124
+ <xs:element name="quantityTypeXMLList" type="xs:string" abstract="true">
1125
+ <xs:annotation>
1126
+ <xs:documentation xml:lang="en">
1127
+ Definition of placeholder element for providing different quantity types.
1128
+ </xs:documentation>
1129
+ </xs:annotation>
1130
+ </xs:element>
1131
+
1132
+ <xs:element name="quantityTypeQUDTXMLList" substitutionGroup="si:quantityTypeXMLList" type="qudt:quantitykind">
1133
+ <xs:annotation>
1134
+ <xs:documentation xml:lang="en">
1135
+ Definition of a quantity element that links to the QUDT
1136
+ ontology IDs for qauntities.
1137
+ </xs:documentation>
1138
+ </xs:annotation>
1139
+ </xs:element>
1140
+
1141
+ <xs:simpleType name="unitType">
1142
+ <xs:annotation>
1143
+ <xs:documentation xml:lang="en">
1144
+ BIPM SI brochure unit (9th edition).
1145
+ Based on xs:string.
1146
+ </xs:documentation>
1147
+ </xs:annotation>
1148
+ <xs:restriction base="xs:string">
1149
+ </xs:restriction>
1150
+ </xs:simpleType>
1151
+
1152
+
1153
+ <xs:simpleType name="unitXMLListType">
1154
+ <xs:annotation>
1155
+ <xs:documentation xml:lang="en">
1156
+ Type providing listing of units (si:unitType)
1157
+ with separation by blank spaces.
1158
+ </xs:documentation>
1159
+ </xs:annotation>
1160
+ <xs:list itemType="si:unitType" />
1161
+ </xs:simpleType>
1162
+
1163
+
1164
+ <xs:simpleType name="unitPhaseType">
1165
+ <xs:annotation>
1166
+ <xs:documentation xml:lang="en">
1167
+ Unit of angular quantity in SI.
1168
+ Based on xs:string.
1169
+ </xs:documentation>
1170
+ </xs:annotation>
1171
+ <xs:restriction base="xs:string">
1172
+ </xs:restriction>
1173
+ </xs:simpleType>
1174
+
1175
+
1176
+ <xs:simpleType name="unitPhaseXMLListType">
1177
+ <xs:annotation>
1178
+ <xs:documentation xml:lang="en">
1179
+ Type providing listing of phase angle units (si:unitPhase Type)
1180
+ with separation by blank spaces.
1181
+ </xs:documentation>
1182
+ </xs:annotation>
1183
+ <xs:list itemType="si:unitPhaseType" />
1184
+ </xs:simpleType>
1185
+
1186
+
1187
+ <xs:simpleType name="decimalType">
1188
+ <xs:annotation>
1189
+ <xs:documentation xml:lang="en">
1190
+ Scientific decimal format for numerical values.
1191
+ Based on type xs:double.
1192
+ </xs:documentation>
1193
+ </xs:annotation>
1194
+ <xs:restriction base="xs:double">
1195
+ <xs:pattern value="[-+]?((\d*\.\d+)|(\d+\.\d*)|(\d+\.?))([Ee][-+]?\d+)?|NaN"/>
1196
+ </xs:restriction>
1197
+ </xs:simpleType>
1198
+
1199
+
1200
+ <xs:simpleType name="decimalXMLListType">
1201
+ <xs:annotation>
1202
+ <xs:documentation xml:lang="en">
1203
+ Type providing listing of values (si:decimalType)
1204
+ with separation by blank spaces.
1205
+ </xs:documentation>
1206
+ </xs:annotation>
1207
+ <xs:list itemType="si:decimalType" />
1208
+ </xs:simpleType>
1209
+
1210
+
1211
+ <xs:simpleType name="valueStandardMUType">
1212
+ <xs:annotation>
1213
+ <xs:documentation xml:lang="en">
1214
+ Scientific decimal format for numerical values of standard
1215
+ measurement uncertainty that must be positive
1216
+ (greater than zero or equal to zero).
1217
+ Based on type xs:double.
1218
+ </xs:documentation>
1219
+ </xs:annotation>
1220
+ <xs:restriction base="xs:double">
1221
+ <xs:pattern value="\+?((\d*\.\d+)|(\d+\.\d*)|(\d+\.?))([Ee][-+]?\d+)?|NaN"/>
1222
+ </xs:restriction>
1223
+ </xs:simpleType>
1224
+
1225
+
1226
+ <xs:simpleType name="valueStandardMUXMLListType">
1227
+ <xs:annotation>
1228
+ <xs:documentation xml:lang="en">
1229
+ Type providing listing of values (si:valueStandardMUType)
1230
+ with separation by blank spaces.
1231
+ </xs:documentation>
1232
+ </xs:annotation>
1233
+ <xs:list itemType="si:valueStandardMUType" />
1234
+ </xs:simpleType>
1235
+
1236
+
1237
+ <xs:simpleType name="valueExpandedMUType">
1238
+ <xs:annotation>
1239
+ <xs:documentation xml:lang="en">
1240
+ Scientific decimal format for numerical values of expanded
1241
+ measurement uncertainty that must be positive
1242
+ (greater than zero or equal to zero).
1243
+ Based on type xs:double.
1244
+ </xs:documentation>
1245
+ </xs:annotation>
1246
+ <xs:restriction base="xs:double">
1247
+ <xs:pattern value="\+?((\d*\.\d+)|(\d+\.\d*)|(\d+\.?))([Ee][-+]?\d+)?|NaN"/>
1248
+ </xs:restriction>
1249
+ </xs:simpleType>
1250
+
1251
+
1252
+ <xs:simpleType name="valueExpandedMUXMLListType">
1253
+ <xs:annotation>
1254
+ <xs:documentation xml:lang="en">
1255
+ Type providing listing of values (si:valueStandardMUType)
1256
+ with separation by blank spaces.
1257
+ </xs:documentation>
1258
+ </xs:annotation>
1259
+ <xs:list itemType="si:valueExpandedMUType" />
1260
+ </xs:simpleType>
1261
+
1262
+
1263
+ <xs:simpleType name="uncertaintyValueType">
1264
+ <xs:annotation>
1265
+ <xs:documentation xml:lang="en">
1266
+ [deprecated element] use
1267
+ si:valueExpandedMUType
1268
+ or si:valueStandardMUType
1269
+ </xs:documentation>
1270
+ </xs:annotation>
1271
+ <xs:restriction base="xs:double">
1272
+ <xs:pattern value="\+?((\d*\.\d+)|(\d+\.\d*)|(\d+\.?))([Ee][-+]?\d+)?|NaN"/>
1273
+ </xs:restriction>
1274
+ </xs:simpleType>
1275
+
1276
+
1277
+ <xs:simpleType name="uncertaintyValueXMLListType">
1278
+ <xs:annotation>
1279
+ <xs:documentation xml:lang="en">
1280
+ [deprecated element] use
1281
+ si:valueExpandedMUXMLListType
1282
+ or si:valueStandardMUXMLListType
1283
+ </xs:documentation>
1284
+ </xs:annotation>
1285
+ <xs:list itemType="si:uncertaintyValueType"/>
1286
+ </xs:simpleType>
1287
+
1288
+
1289
+ <xs:simpleType name="intervalMinType">
1290
+ <xs:annotation>
1291
+ <xs:documentation xml:lang="en">
1292
+ Scientific decimal format for numerical values.
1293
+ Based on type xs:double.
1294
+ </xs:documentation>
1295
+ </xs:annotation>
1296
+ <xs:restriction base="xs:double">
1297
+ <xs:pattern value="[-+]?((\d*\.\d+)|(\d+\.\d*)|(\d+\.?))([Ee][-+]?\d+)?|NaN"/>
1298
+ </xs:restriction>
1299
+ </xs:simpleType>
1300
+
1301
+
1302
+ <xs:simpleType name="intervalMinXMLListType">
1303
+ <xs:annotation>
1304
+ <xs:documentation xml:lang="en">
1305
+ Type providing listing of values (si:intervalMinType)
1306
+ with separation by blank spaces.
1307
+ </xs:documentation>
1308
+ </xs:annotation>
1309
+ <xs:list itemType="si:intervalMinType" />
1310
+ </xs:simpleType>
1311
+
1312
+
1313
+ <xs:simpleType name="intervalMaxType">
1314
+ <xs:annotation>
1315
+ <xs:documentation xml:lang="en">
1316
+ Scientific decimal format for numerical values.
1317
+ Based on type xs:double.
1318
+ </xs:documentation>
1319
+ </xs:annotation>
1320
+ <xs:restriction base="xs:double">
1321
+ <xs:pattern value="[-+]?((\d*\.\d+)|(\d+\.\d*)|(\d+\.?))([Ee][-+]?\d+)?|NaN"/>
1322
+ </xs:restriction>
1323
+ </xs:simpleType>
1324
+
1325
+
1326
+ <xs:simpleType name="intervalMaxXMLListType">
1327
+ <xs:annotation>
1328
+ <xs:documentation xml:lang="en">
1329
+ Type providing listing of values (si:intervalMaxType)
1330
+ with separation by blank spaces.
1331
+ </xs:documentation>
1332
+ </xs:annotation>
1333
+ <xs:list itemType="si:intervalMaxType" />
1334
+ </xs:simpleType>
1335
+
1336
+
1337
+ <xs:simpleType name="kValueType">
1338
+ <xs:annotation>
1339
+ <xs:documentation xml:lang="en">
1340
+ Scientific decimal format for coverage factor values for uncertainties
1341
+ that must be greater than one or equal to one.
1342
+ Based on type xs:double.
1343
+ </xs:documentation>
1344
+ </xs:annotation>
1345
+ <xs:restriction base="xs:double">
1346
+ <xs:pattern value="\+?(([1-9]\d*\.\d*)|([1-9]\d*))|NaN"/>
1347
+ </xs:restriction>
1348
+ </xs:simpleType>
1349
+
1350
+
1351
+ <xs:simpleType name="kValueXMLListType">
1352
+ <xs:annotation>
1353
+ <xs:documentation xml:lang="en">
1354
+ Type providing listing of coverage factor values (si:kValueType)
1355
+ with separation by blank spaces.
1356
+ </xs:documentation>
1357
+ </xs:annotation>
1358
+ <xs:list itemType="si:kValueType" />
1359
+ </xs:simpleType>
1360
+
1361
+
1362
+ <xs:simpleType name="probabilityValueType">
1363
+ <xs:annotation>
1364
+ <xs:documentation xml:lang="en">
1365
+ Decimal format for coverage probability values for uncertainties.
1366
+ The value must be within the interval [0,1]. The scientific exponent
1367
+ "e" (or "E") is not allowed.
1368
+ Based on type xs:double.
1369
+ </xs:documentation>
1370
+ </xs:annotation>
1371
+ <xs:restriction base="xs:double">
1372
+ <xs:pattern value="\+?((0(\.\d*)?)|(1(\.0*)?))|NaN"/>
1373
+ </xs:restriction>
1374
+ </xs:simpleType>
1375
+
1376
+
1377
+ <xs:simpleType name="probabilityValueXMLListType">
1378
+ <xs:annotation>
1379
+ <xs:documentation xml:lang="en">
1380
+ Type providing listing of coverage probability values (si:probabilityValueType)
1381
+ with separation by blank spaces.
1382
+ </xs:documentation>
1383
+ </xs:annotation>
1384
+ <xs:list itemType="si:probabilityValueType" />
1385
+ </xs:simpleType>
1386
+
1387
+
1388
+ <xs:simpleType name="significantDigitType">
1389
+ <xs:annotation>
1390
+ <xs:documentation xml:lang="en">
1391
+ Type providing information on the significat digit of si:value.
1392
+ This integer number represents the exponent of a power of 10
1393
+ which identifies the ISO 80000 rounding range of the significant
1394
+ digit. .
1395
+ </xs:documentation>
1396
+ </xs:annotation>
1397
+ <xs:restriction base="xs:integer"/>
1398
+ </xs:simpleType>
1399
+
1400
+
1401
+ <xs:simpleType name="significantDigitXMLListType">
1402
+ <xs:annotation>
1403
+ <xs:documentation xml:lang="en">
1404
+ Type for identification of significant digiti for XML list style elements.
1405
+ The significant digit numbers are seperated by blank spaces.
1406
+ </xs:documentation>
1407
+ </xs:annotation>
1408
+ <xs:list itemType="si:significantDigitType"/>
1409
+ </xs:simpleType>
1410
+
1411
+
1412
+ <xs:simpleType name="dateTimeXMLListType">
1413
+ <xs:annotation>
1414
+ <xs:documentation xml:lang="en">
1415
+ Type providing listing of time values (xs:dateTime)
1416
+ with separation by blank spaces.
1417
+ </xs:documentation>
1418
+ </xs:annotation>
1419
+ <xs:list itemType="xs:dateTime" />
1420
+ </xs:simpleType>
1421
+
1422
+
1423
+ <xs:simpleType name="distributionType">
1424
+ <xs:annotation>
1425
+ <xs:documentation xml:lang="en">
1426
+ String providing a distribution (statistical distribution of measurement values).
1427
+ </xs:documentation>
1428
+ </xs:annotation>
1429
+ <xs:restriction base="xs:string"/>
1430
+ </xs:simpleType>
1431
+
1432
+
1433
+ <xs:simpleType name="distributionXMLListType">
1434
+ <xs:annotation>
1435
+ <xs:documentation xml:lang="en">
1436
+ Type providing listing of distributions (si:distributionType)
1437
+ with separation by blank spaces.
1438
+ </xs:documentation>
1439
+ </xs:annotation>
1440
+ <xs:list itemType="si:distributionType" />
1441
+ </xs:simpleType>
1442
+
1443
+
1444
+ <xs:simpleType name="stringXMLListType">
1445
+ <xs:annotation>
1446
+ <xs:documentation xml:lang="en">
1447
+ Type providing listing of strings (xs:string)
1448
+ with separation by blank spaces.
1449
+ </xs:documentation>
1450
+ </xs:annotation>
1451
+ <xs:list itemType="xs:string" />
1452
+ </xs:simpleType>
1453
+
1454
+
1455
+
1456
+
1457
+ <!-- ############## D-SI SUPPLEMENTAL XML ELEMENT DEFINITIONS #################### -->
1458
+
1459
+
1460
+ <xs:element name="expandedUnc" type="si:expandedUncType">
1461
+ <xs:annotation>
1462
+ <xs:documentation xml:lang="en">
1463
+ [deprectated element] Definition of the structure, that gives the necessary components for stating
1464
+ an expanded measurement uncertainty. This element must always be used in the
1465
+ context of a real quantity, which is an application within si:real and/or
1466
+ si:globalUnivariateUnc.
1467
+ </xs:documentation>
1468
+ <xs:documentation xml:lang="en">
1469
+ <![CDATA[
1470
+ The element has the following components [(m)-mandatory, (o)-optional]:
1471
+
1472
+ (m) - element valueExpandedMU (decimal value >= 0, THE EXPANDED UNCERTAINTY VALUE!)
1473
+ (m) - element coverageFactor (decimal value >= 1)
1474
+ (m) - element coverageProbability (decimal value in [0,1])
1475
+ (o) - element distribution (string)
1476
+
1477
+ The unit of component uncertainty is the unit used in the context of
1478
+ si:real and/or si:globalUnivariateUnc.
1479
+ ]]>
1480
+ </xs:documentation>
1481
+ </xs:annotation>
1482
+ </xs:element>
1483
+
1484
+
1485
+ <xs:element name="coverageInterval" type="si:coverageIntervalType">
1486
+ <xs:annotation>
1487
+ <xs:documentation xml:lang="en">
1488
+ [deprectated element] Definition of the structure, that gives the necessary components for stating
1489
+ a probabilistic-symmetric coverage interval for a real uncertainty. This element
1490
+ must always be used in the context of a real quantity.
1491
+ </xs:documentation>
1492
+ <xs:documentation xml:lang="en">
1493
+ <![CDATA[
1494
+ The element has the following components [(m)-mandatory, (o)-optional]:
1495
+
1496
+ (m) - element valueStandardMU (decimal value >= 0)
1497
+ (m) - element intervalMin (decimal value type)
1498
+ (m) - element intervalMax (decimal value type)
1499
+ (m) - element coverageProbability (decimal value in [0,1])
1500
+ (o) - element distribution (string)
1501
+
1502
+ The unit of components stdUncertainty, intervalMin and intervalMax is the unit
1503
+ used in the context of si:real.
1504
+ ]]>
1505
+ </xs:documentation>
1506
+ </xs:annotation>
1507
+ </xs:element>
1508
+
1509
+
1510
+ <!-- D-SI XML ELEMENT DEFINITIONS FOR COVARIANCE MATRIX ELEMENT -->
1511
+ <xs:element name="covarianceMatrix" type="si:covarianceMatrixType">
1512
+ <xs:annotation>
1513
+ <xs:documentation xml:lang="en">
1514
+ Definition of a covariance matrix element that is used for
1515
+ multidimensional uncertainty statements in the D-SI format.
1516
+ </xs:documentation>
1517
+ <xs:documentation xml:lang="en">
1518
+ <![CDATA[
1519
+ A covariance matrix has n column elements.
1520
+ The dimension of the covariance matrix is the amount of columns.
1521
+ Each column contains the covariance values of one column of the
1522
+ covariance matrix.
1523
+ The order of the columns is from left to right column in the
1524
+ covariance matrix.
1525
+ ]]>
1526
+ </xs:documentation>
1527
+ </xs:annotation>
1528
+ </xs:element>
1529
+
1530
+
1531
+ <xs:element name="ellipsoidalRegion" type="si:ellipsoidalRegionType">
1532
+ <xs:annotation>
1533
+ <xs:documentation xml:lang="en">
1534
+ [deprectated element] Definition of the structure, that provides a hyper-ellipsoidal coverage
1535
+ region for stating the uncertainty of multivariate quantities. It is
1536
+ used in the context of uncertainty for complex quantities and
1537
+ lists of real or complex quantities.
1538
+ </xs:documentation>
1539
+ <xs:documentation xml:lang="en">
1540
+ <![CDATA[
1541
+ The element has the following components [(m)-mandatory, (o)-optional]:
1542
+
1543
+ (m) - element covarianceMatrix (sub structure covarianceMatrix)
1544
+ (m) - element coverageFactor (decimal value >= 1)
1545
+ (m) - element coverageProbability (decimal value in [0,1])
1546
+ (o) - element distribution (string)
1547
+ ]]>
1548
+ </xs:documentation>
1549
+ </xs:annotation>
1550
+ </xs:element>
1551
+
1552
+
1553
+ <xs:element name="rectangularRegion" type="si:rectangularRegionType">
1554
+ <xs:annotation>
1555
+ <xs:documentation xml:lang="en">
1556
+ [deprectated element] Definition of the structure that provides a hyper-rectangular coverage
1557
+ region for stating the uncertainty of multivariate quantities. It is
1558
+ used in the context of uncertainty for complex quantities and
1559
+ lists of real or complex quantities.
1560
+ </xs:documentation>
1561
+ <xs:documentation xml:lang="en">
1562
+ <![CDATA[
1563
+ The element has the following components [(m)-mandatory, (o)-optional]:
1564
+
1565
+ (m) - element covarianceMatrix (sub structure covarianceMatrix)
1566
+ (m) - element coverageFactor (decimal value >= 1)
1567
+ (m) - element coverageProbability (decimal value in [0,1])
1568
+ (o) - element distribution (string)
1569
+ ]]>
1570
+ </xs:documentation>
1571
+ </xs:annotation>
1572
+ </xs:element>
1573
+
1574
+ </xs:schema>