From d01d0a3bd16bbf6a27d2c31462cb965bfa91f519 Mon Sep 17 00:00:00 2001 From: Muhammed-Ali Demir <muhammed.demir@ptb.de> Date: Thu, 8 Jun 2023 08:50:59 +0000 Subject: [PATCH] Adaptations for new DCC V3.2.1 --- src/DCC.ts | 24 +- ...strativeData.CalibrationLaboratory.test.ts | 2 +- .../AdministrativeData.CoreDataType.test.ts | 2 +- .../AdministrativeData.Customer.test.ts | 2 +- .../AdministrativeData.Items.test.ts | 2 +- ...ministrativeData.RefTypeDefinitons.test.ts | 2 +- .../AdministrativeData.RespPersons.test.ts | 2 +- ...dministrativeData.SoftwareListType.test.ts | 2 +- .../AdministrativeData.Statements.test.ts | 2 +- .../DigitalCalibrationCertificateType.test.ts | 2 +- ...surementResult.InfluenceConditions.test.ts | 2 +- ...surementResult.MeasuringEquipments.test.ts | 2 +- ...mentResults.MeasurementResult.Name.test.ts | 2 +- ...tResults.MeasurementResult.Results.test.ts | 2 +- ...ults.MeasurementResult.UsedMethods.test.ts | 2 +- .../AdministrativeData.CoreDataType.test.ts | 36 ++ .../AdministrativeData.Items.test.ts | 35 ++ tests/resources/GP_Temperature_v3.2.0_DCC.xml | 12 +- tests/resources/GP_Temperature_v3.2.1_DCC.xml | 552 ++++++++++++++++++ 19 files changed, 668 insertions(+), 19 deletions(-) create mode 100644 tests/DCC/GP_Temperatur_v3.2.1_DCC/AdministrativeData.CoreDataType.test.ts create mode 100644 tests/DCC/GP_Temperatur_v3.2.1_DCC/AdministrativeData.Items.test.ts create mode 100644 tests/resources/GP_Temperature_v3.2.1_DCC.xml diff --git a/src/DCC.ts b/src/DCC.ts index 046e1f1..3996357 100644 --- a/src/DCC.ts +++ b/src/DCC.ts @@ -2,7 +2,7 @@ import * as si from "./DSI"; import { XMLDate, XMLElement, XMLNumber, XMLBoolean, XMLList, INamespaced, ISchemaInformation, IAttributes } from "./BaseTypes"; import { ensureArray } from "./Util"; -const schemaVersion = "3.2.0"; +const schemaVersion = "3.2.1"; const namespace = "dcc"; const namespaceUrl = `https://ptb.de/${namespace}`; const schemaLocation = `${namespaceUrl}/v${schemaVersion}/dcc.xsd`; @@ -146,6 +146,20 @@ export class RefTypeDefinitionType extends DCCXMLElement { } } +/* This type contains the information about amended/ substituted DCCs. */ +export class ReportAmendedSubstitutedType extends DCCXMLElement { + _attr: IIdAndRefTypeAttributes; + + typeOfChange: TextType; + replacedUniqueIdentifier: DCCXMLElement; + + constructor(el: Partial<ReportAmendedSubstitutedType> = {}) { + super(el); + this.typeOfChange = new TextType(el.typeOfChange); + this.replacedUniqueIdentifier = new DCCXMLElement(el.replacedUniqueIdentifier); + } +} + /** List of measurement results that are part of a DCC. */ export class MeasurementResultListType extends DCCXMLElement { measurementResult: MeasurementResultType[]; @@ -199,6 +213,7 @@ export class CoreDataType extends DCCXMLElement { endPerformanceDate: DCCXMLDate; performanceLocation: PerformanceLocationType; issueDate?: DCCXMLDate; + reportAmendedSubstituted?: ReportAmendedSubstitutedType; previousReport?: HashType; constructor(el: Partial<CoreDataType> = {}) { @@ -213,6 +228,7 @@ export class CoreDataType extends DCCXMLElement { this.endPerformanceDate = new DCCXMLDate(el.endPerformanceDate); this.performanceLocation = new PerformanceLocationType(el.performanceLocation); if (el.issueDate) this.issueDate = new DCCXMLDate(el.issueDate); + if (el.reportAmendedSubstituted) this.reportAmendedSubstituted = new ReportAmendedSubstitutedType(el.reportAmendedSubstituted); if (el.previousReport) this.previousReport = new HashType(el.previousReport); } } @@ -232,6 +248,7 @@ export class ItemListType extends DCCXMLElement { equipmentClass?: EquipmentClassType[]; description?: RichContentType; owner?: ContactType; + manufacturer?: ContactNotStrictType; identifications?: IdentificationListType; item: ItemType[]; @@ -241,6 +258,7 @@ export class ItemListType extends DCCXMLElement { if (el.equipmentClass) this.equipmentClass = ensureArray(el.equipmentClass).map((x) => new EquipmentClassType(x)); if (el.description) this.description = new RichContentType(el.description); if (el.owner) this.owner = new ContactType(el.owner); + if (el.manufacturer) this.manufacturer = new ContactNotStrictType(el.manufacturer); if (el.identifications) this.identifications = new IdentificationListType(el.identifications); this.item = ensureArray(el.item).map((x) => new ItemType(x)); } @@ -710,7 +728,7 @@ export class ItemType extends DCCXMLElement { equipmentClass?: EquipmentClassType[]; description?: RichContentType; installedSoftwares?: SoftwareListType; - manufacturer: ContactNotStrictType; + manufacturer?: ContactNotStrictType; model?: DCCXMLElement; identifications: IdentificationListType; itemQuantities: ItemQuantityListType; @@ -721,7 +739,7 @@ export class ItemType extends DCCXMLElement { if (el.equipmentClass) this.equipmentClass = ensureArray(el.equipmentClass).map((x) => new EquipmentClassType(x)); if (el.description) this.description = new RichContentType(el.description); if (el.installedSoftwares) this.installedSoftwares = new SoftwareListType(el.installedSoftwares); - this.manufacturer = new ContactNotStrictType(el.manufacturer); + if (el.manufacturer) this.manufacturer = new ContactNotStrictType(el.manufacturer); if (el.model) this.model = new DCCXMLElement(el.model); this.identifications = new IdentificationListType(el.identifications); if (el.itemQuantities) this.itemQuantities = new ItemQuantityListType(el.itemQuantities); diff --git a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.CalibrationLaboratory.test.ts b/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.CalibrationLaboratory.test.ts index 9372426..2e618ce 100644 --- a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.CalibrationLaboratory.test.ts +++ b/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.CalibrationLaboratory.test.ts @@ -22,7 +22,7 @@ const xpath = { }, }; -describe("GP_Temperature_Complete_DCC: CalibrationLaboratoryType", () => { +describe("GP_Temperature_v3.2.0_DCC: CalibrationLaboratoryType", () => { let dcc: DCCDocument, calibrationLaboratory: CalibrationLaboratoryType, dom; beforeEach(() => { diff --git a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.CoreDataType.test.ts b/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.CoreDataType.test.ts index 9682017..4affcd1 100644 --- a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.CoreDataType.test.ts +++ b/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.CoreDataType.test.ts @@ -32,7 +32,7 @@ const xpath = { }, }; -describe("GP_Temperature_Complete_DCC: CoreDataType", () => { +describe("GP_Temperature_v3.2.0_DCC: CoreDataType", () => { let dcc: DCCDocument, coreData: CoreDataType, dom; beforeEach(() => { diff --git a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.Customer.test.ts b/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.Customer.test.ts index a11d2d1..af5a456 100644 --- a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.Customer.test.ts +++ b/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.Customer.test.ts @@ -24,7 +24,7 @@ const xpath = { }, }; -describe("GP_Temperature_Complete_DCC: ContactType", () => { +describe("GP_Temperature_v3.2.0_DCC: ContactType", () => { let dcc: DCCDocument, customer: ContactType, location: LocationType, dom; beforeEach(() => { diff --git a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.Items.test.ts b/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.Items.test.ts index 062bf5b..f1d47d2 100644 --- a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.Items.test.ts +++ b/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.Items.test.ts @@ -58,7 +58,7 @@ const xpath = { }, }; -describe("GP_Temperature_Complete_DCC: ItemType", () => { +describe("GP_Temperature_v3.2.0_DCC: ItemType", () => { let dcc: DCCDocument, item: ItemType, identification1, identification2, identification3: IdentificationType, dom; beforeEach(() => { diff --git a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.RefTypeDefinitons.test.ts b/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.RefTypeDefinitons.test.ts index 0400f0b..55167b5 100644 --- a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.RefTypeDefinitons.test.ts +++ b/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.RefTypeDefinitons.test.ts @@ -24,7 +24,7 @@ const xpath = { procedure: `string(${base}/dcc:procedure)`, }; -describe("GP_Temperature_Complete_DCC: RefTypeDefinitionType", () => { +describe("GP_Temperature_v3.2.0_DCC: RefTypeDefinitionType", () => { let dcc: DCCDocument, refTypeDefinition: RefTypeDefinitionType, dom; beforeEach(() => { diff --git a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.RespPersons.test.ts b/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.RespPersons.test.ts index 768e9e2..a2ac963 100644 --- a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.RespPersons.test.ts +++ b/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.RespPersons.test.ts @@ -27,7 +27,7 @@ const xpath = { }, }; -describe("GP_Temperature_Complete_DCC: RespPersonType", () => { +describe("GP_Temperature_v3.2.0_DCC: RespPersonType", () => { let dcc: DCCDocument, respPerson1, respPerson2: RespPersonType, dom; beforeEach(() => { diff --git a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.SoftwareListType.test.ts b/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.SoftwareListType.test.ts index 39aadae..fd5381e 100644 --- a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.SoftwareListType.test.ts +++ b/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.SoftwareListType.test.ts @@ -23,7 +23,7 @@ const xpath = { }, }; -describe("GP_Temperature_Complete_DCC: DccSoftwareType", () => { +describe("GP_Temperature_v3.2.0_DCC: DccSoftwareType", () => { let dcc: DCCDocument, dccSoftware: SoftwareListType, software: SoftwareType, dom; beforeEach(() => { diff --git a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.Statements.test.ts b/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.Statements.test.ts index 10288f8..9cf4423 100644 --- a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.Statements.test.ts +++ b/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.Statements.test.ts @@ -48,7 +48,7 @@ const xpath = { }, }; -describe("GP_Temperature_Complete_DCC: StatementMetaDataType", () => { +describe("GP_Temperature_v3.2.0_DCC: StatementMetaDataType", () => { let dcc: DCCDocument, statement1, statement2: StatementMetaDataType, dom; beforeEach(() => { diff --git a/tests/DCC/GP_Temperatur_v3.2.0_DCC/DigitalCalibrationCertificateType.test.ts b/tests/DCC/GP_Temperatur_v3.2.0_DCC/DigitalCalibrationCertificateType.test.ts index ae1ad14..c279ef1 100644 --- a/tests/DCC/GP_Temperatur_v3.2.0_DCC/DigitalCalibrationCertificateType.test.ts +++ b/tests/DCC/GP_Temperatur_v3.2.0_DCC/DigitalCalibrationCertificateType.test.ts @@ -7,7 +7,7 @@ import { select } from "../../util"; const VERSION_XPATH = "string(/dcc:digitalCalibrationCertificate/@schemaVersion)"; -describe("GP_Temperature_Complete_DCC: DigitalCalibrationCertificateType", () => { +describe("GP_Temperature_v3.2.0_DCC: DigitalCalibrationCertificateType", () => { let xml, dcc, dom; beforeEach(() => { diff --git a/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.InfluenceConditions.test.ts b/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.InfluenceConditions.test.ts index 6d8fbac..d40fa27 100644 --- a/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.InfluenceConditions.test.ts +++ b/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.InfluenceConditions.test.ts @@ -80,7 +80,7 @@ const xpath = { }, }; -describe("GP_Temperature_Complete_DCC: InfluenceConditionListType", () => { +describe("GP_Temperature_v3.2.0_DCC: InfluenceConditionListType", () => { let dcc: DCCDocument, influenceConditions: InfluenceConditionListType, dom; beforeEach(() => { diff --git a/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.MeasuringEquipments.test.ts b/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.MeasuringEquipments.test.ts index 86b8a4d..9a03c23 100644 --- a/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.MeasuringEquipments.test.ts +++ b/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.MeasuringEquipments.test.ts @@ -24,7 +24,7 @@ const xpath = { }, }; -describe("GP_Temperature_Complete_DCC: MeasuringEquipmentType", () => { +describe("GP_Temperature_v3.2.0_DCC: MeasuringEquipmentType", () => { let dcc: DCCDocument, measuringEquipment: MeasuringEquipmentType, dom; beforeEach(() => { diff --git a/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.Name.test.ts b/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.Name.test.ts index f5f95f7..903a524 100644 --- a/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.Name.test.ts +++ b/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.Name.test.ts @@ -17,7 +17,7 @@ const xpath = { }, }; -describe("GP_Temperature_Complete_DCC: MeasurementResultType", () => { +describe("GP_Temperature_v3.2.0_DCC: MeasurementResultType", () => { let dcc: DCCDocument, measurementResult: MeasurementResultType, dom; beforeEach(() => { diff --git a/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.Results.test.ts b/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.Results.test.ts index 7b01f47..0198891 100644 --- a/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.Results.test.ts +++ b/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.Results.test.ts @@ -202,7 +202,7 @@ const xpath = { }, }; -describe("GP_Temperature_Complete_DCC: ResultType", () => { +describe("GP_Temperature_v3.2.0_DCC: ResultType", () => { let dcc: DCCDocument, result: ResultType, dom; beforeEach(() => { diff --git a/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.UsedMethods.test.ts b/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.UsedMethods.test.ts index d16b268..1651c10 100644 --- a/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.UsedMethods.test.ts +++ b/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.UsedMethods.test.ts @@ -22,7 +22,7 @@ const xpath = { }, }; -describe("GP_Temperature_Complete_DCC: UsedMethodListType", () => { +describe("GP_Temperature_v3.2.0_DCC: UsedMethodListType", () => { let dcc: DCCDocument, usedMethods: UsedMethodListType, dom; beforeEach(() => { diff --git a/tests/DCC/GP_Temperatur_v3.2.1_DCC/AdministrativeData.CoreDataType.test.ts b/tests/DCC/GP_Temperatur_v3.2.1_DCC/AdministrativeData.CoreDataType.test.ts new file mode 100644 index 0000000..e271495 --- /dev/null +++ b/tests/DCC/GP_Temperatur_v3.2.1_DCC/AdministrativeData.CoreDataType.test.ts @@ -0,0 +1,36 @@ +/** + * @jest-environment ./tests/XMLEnvironment.ts + * @xml ./tests/resources/GP_Temperature_v3.2.1_DCC.xml + */ + +import { select } from "../../util"; +import { CoreDataType, DCCDocument } from "../../../src"; + +const base = "/dcc:digitalCalibrationCertificate/dcc:administrativeData/dcc:coreData"; +const xpath = { + coreData: { + reportAmendedSubstituted: { + typeOfChange: `string(${base}/dcc:reportAmendedSubstituted/dcc:typeOfChange)`, + replacedUniqueIdentifier: `string(${base}/dcc:reportAmendedSubstituted/dcc:replacedUniqueIdentifier)`, + }, + }, +}; + +describe("GP_Temperature_v3.2.1_DCC: CoreDataType", () => { + let dcc: DCCDocument, coreData: CoreDataType, dom; + + beforeEach(() => { + ({ dcc, dom } = xmlEnv.recreateEnv()); + coreData = dcc.digitalCalibrationCertificate.administrativeData.coreData; + }); + + test("should get correct reportAmendedSubstituted typeOfChange from XML", () => { + expect(coreData.reportAmendedSubstituted.typeOfChange._text).toBe(select(xpath.coreData.reportAmendedSubstituted.typeOfChange, dom)); + }); + + test("should get correct reportAmendedSubstituted replacedUniqueIdentifier from XML", () => { + expect(coreData.reportAmendedSubstituted.replacedUniqueIdentifier._text).toBe( + select(xpath.coreData.reportAmendedSubstituted.replacedUniqueIdentifier, dom), + ); + }); +}); diff --git a/tests/DCC/GP_Temperatur_v3.2.1_DCC/AdministrativeData.Items.test.ts b/tests/DCC/GP_Temperatur_v3.2.1_DCC/AdministrativeData.Items.test.ts new file mode 100644 index 0000000..632535f --- /dev/null +++ b/tests/DCC/GP_Temperatur_v3.2.1_DCC/AdministrativeData.Items.test.ts @@ -0,0 +1,35 @@ +/** + * @jest-environment ./tests/XMLEnvironment.ts + * @xml ./tests/resources/GP_Temperature_v3.2.1_DCC.xml + */ + +import { select, toTextArr, toTextContentArr } from "../../util"; +import { DCCDocument, ItemListType } from "../../../src"; + +const base = "/dcc:digitalCalibrationCertificate/dcc:administrativeData/dcc:items"; +const xpath = { + items: { + manufacturer: { + name: { + content: `${base}/dcc:manufacturer/dcc:name/dcc:content`, + }, + }, + }, +}; + +describe("GP_Temperature_v3.2.1_DCC: ItemListType", () => { + let dcc: DCCDocument, items: ItemListType, dom; + + beforeEach(() => { + ({ dcc, dom } = xmlEnv.recreateEnv()); + items = dcc.digitalCalibrationCertificate.administrativeData.items; + }); + + test("should get correct items manufacturer name from XML", () => { + // get expected list from example xml + const expected = <Element[]>select(xpath.items.manufacturer.name.content, dom); + expect(toTextArr(items.manufacturer.name.content)).toEqual(toTextContentArr(expected)); + }); + + /* TODO: setters */ +}); diff --git a/tests/resources/GP_Temperature_v3.2.0_DCC.xml b/tests/resources/GP_Temperature_v3.2.0_DCC.xml index 6cf833b..203838f 100644 --- a/tests/resources/GP_Temperature_v3.2.0_DCC.xml +++ b/tests/resources/GP_Temperature_v3.2.0_DCC.xml @@ -39,7 +39,7 @@ <dcc:usedLangCodeISO639_1>en</dcc:usedLangCodeISO639_1> <dcc:usedLangCodeISO639_1>de</dcc:usedLangCodeISO639_1> <dcc:mandatoryLangCodeISO639_1>en</dcc:mandatoryLangCodeISO639_1> - <dcc:uniqueIdentifier>GP_DCC_temperature_minimal_1.1_Complete</dcc:uniqueIdentifier> + <dcc:uniqueIdentifier>GP_DCC_temperature_minimal_3.2.0_Complete</dcc:uniqueIdentifier> <dcc:identifications> <dcc:identification> <dcc:issuer>calibrationLaboratory</dcc:issuer> @@ -206,7 +206,7 @@ <dcc:quantity> <dcc:name> <dcc:content lang="de">Übertragungskoeffizient Phasenverschiebung</dcc:content> - <dcc:content lang="en">en</dcc:content> + <dcc:content lang="en">Transmission coefficient phase shift</dcc:content> </dcc:name> <si:realListXMLList> <si:valueXMLList>-0.02 -0.03 -0.02 -0.02 -0.01</si:valueXMLList> @@ -219,9 +219,17 @@ </si:expandedUncXMLList> </si:realListXMLList> <dcc:measurementMetaData> + <dcc:metaData> + <dcc:declaration> + <dcc:content lang="de">Kommentar ist gültig für den dritten und fünften Eintrag.</dcc:content> + <dcc:content lang="en">Comment is valid for the 3rd and 5th entry.</dcc:content> + </dcc:declaration> + <dcc:validXMLList>false false true false true</dcc:validXMLList> + </dcc:metaData> <dcc:metaData> <dcc:declaration> <dcc:content lang="de">Kommentar ist gültig für den dritten Eintrag.</dcc:content> + <dcc:content lang="en">Comment is valid for the 3rd entry.</dcc:content> </dcc:declaration> <dcc:validXMLList>false false true false false</dcc:validXMLList> </dcc:metaData> diff --git a/tests/resources/GP_Temperature_v3.2.1_DCC.xml b/tests/resources/GP_Temperature_v3.2.1_DCC.xml new file mode 100644 index 0000000..6e46ec6 --- /dev/null +++ b/tests/resources/GP_Temperature_v3.2.1_DCC.xml @@ -0,0 +1,552 @@ +<?xml version="1.0" encoding="UTF-8"?> +<dcc:digitalCalibrationCertificate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dcc="https://ptb.de/dcc" xmlns:si="https://ptb.de/si" xsi:schemaLocation="https://ptb.de/dcc https://ptb.de/dcc/v3.2.1/dcc.xsd" schemaVersion="3.2.1"> + <dcc:administrativeData> + <dcc:dccSoftware> + <dcc:software> + <dcc:name> + <dcc:content>Notepad++ (32-bit)</dcc:content> + </dcc:name> + <dcc:release>v 8.2</dcc:release> + <dcc:type>application</dcc:type> + <dcc:description> + <dcc:name> + <dcc:content>Open source text editor</dcc:content> + </dcc:name> + <dcc:content>https://notepad-plus-plus.org/downloads/</dcc:content> + </dcc:description> + </dcc:software> + </dcc:dccSoftware> + <dcc:refTypeDefinitions> + <dcc:refTypeDefinition> + <dcc:name> + <dcc:content>Cross-Community refType Definition</dcc:content> + </dcc:name> + <dcc:description> + <dcc:name> + <dcc:content>Description name ABC</dcc:content> + </dcc:name> + <dcc:content>Description ABC</dcc:content> + </dcc:description> + <dcc:namespace>basic</dcc:namespace> + <dcc:link>https://www.ptb.de/dcc/refType/basic/draft_basic.xml</dcc:link> + <dcc:release>0.1</dcc:release> + <dcc:value>Value ABC</dcc:value> + <dcc:procedure>Procedure ABC</dcc:procedure> + </dcc:refTypeDefinition> + </dcc:refTypeDefinitions> + <dcc:coreData> + <dcc:countryCodeISO3166_1>DE</dcc:countryCodeISO3166_1> + <dcc:usedLangCodeISO639_1>en</dcc:usedLangCodeISO639_1> + <dcc:usedLangCodeISO639_1>de</dcc:usedLangCodeISO639_1> + <dcc:mandatoryLangCodeISO639_1>en</dcc:mandatoryLangCodeISO639_1> + <dcc:uniqueIdentifier>GP_DCC_temperature_minimal_1.1_Complete</dcc:uniqueIdentifier> + <dcc:identifications> + <dcc:identification> + <dcc:issuer>calibrationLaboratory</dcc:issuer> + <dcc:value>string-calibrationLaboratory-coreData</dcc:value> + <dcc:name> + <dcc:content lang="de">Auftrags Nr.</dcc:content> + <dcc:content lang="en">Order no.</dcc:content> + </dcc:name> + </dcc:identification> + </dcc:identifications> + <dcc:receiptDate>1957-08-13</dcc:receiptDate> + <dcc:beginPerformanceDate>1957-08-13</dcc:beginPerformanceDate> + <dcc:endPerformanceDate>1957-08-13</dcc:endPerformanceDate> + <dcc:performanceLocation>laboratory</dcc:performanceLocation> + <dcc:issueDate>2022-12-31</dcc:issueDate> + <dcc:reportAmendedSubstituted> + <dcc:typeOfChange>amended</dcc:typeOfChange> + <dcc:replacedUniqueIdentifier>GP_DCC_temperature_minimal_3.2.0_Complete</dcc:replacedUniqueIdentifier> + </dcc:reportAmendedSubstituted> + <!-- TODO: dcc:previousReport --> + </dcc:coreData> + <dcc:items> + <dcc:manufacturer> + <dcc:name> + <dcc:content>Cyberdyne Systems</dcc:content> + </dcc:name> + </dcc:manufacturer> + <dcc:item refType="test_items"> + <dcc:name> + <dcc:content lang="de">Temperatur-Fühler</dcc:content> + <dcc:content lang="en">Temperature sensor</dcc:content> + </dcc:name> + <dcc:model>String</dcc:model> + <dcc:identifications> + <dcc:identification> + <dcc:issuer>manufacturer</dcc:issuer> + <dcc:value>string-manufacturer-item</dcc:value> + <dcc:name> + <dcc:content lang="de">Serien Nr.</dcc:content> + <dcc:content lang="en">Serial no.</dcc:content> + </dcc:name> + </dcc:identification> + <dcc:identification> + <dcc:issuer>customer</dcc:issuer> + <dcc:value>string-customer-item</dcc:value> + <dcc:name> + <dcc:content lang="de">Messmittel Nr.</dcc:content> + <dcc:content lang="en">Measurement equipment no.</dcc:content> + </dcc:name> + </dcc:identification> + <dcc:identification> + <dcc:issuer>calibrationLaboratory</dcc:issuer> + <dcc:value>string-calibrationLaboratory-item</dcc:value> + <dcc:name> + <dcc:content lang="de">Equipment Nr.</dcc:content> + <dcc:content lang="en">Equipment no.</dcc:content> + </dcc:name> + </dcc:identification> + </dcc:identifications> + <dcc:itemQuantities> + <dcc:itemQuantity> + <dcc:name> + <dcc:content lang="de">Name der ItemQuantity</dcc:content> + <dcc:content lang="en">Name of the item quantity</dcc:content> + </dcc:name> + <dcc:description> + <dcc:content>Membrandurchmesser</dcc:content> + </dcc:description> + <si:real> + <si:value>0.05</si:value> + <si:unit>\metre</si:unit> + </si:real> + </dcc:itemQuantity> + <dcc:itemQuantity> + <dcc:description> + <dcc:content>Membranstärke</dcc:content> + </dcc:description> + <si:real> + <si:value>0.0003</si:value> + <si:unit>\metre</si:unit> + </si:real> + </dcc:itemQuantity> + </dcc:itemQuantities> + </dcc:item> + </dcc:items> + <dcc:calibrationLaboratory> + <dcc:contact> + <dcc:name> + <dcc:content>Kalibrierfirma GmbH</dcc:content> + </dcc:name> + <dcc:eMail>info@kalibrierfirma.xx</dcc:eMail> + <dcc:phone>+49 123 4567-89</dcc:phone> + <dcc:fax>+49 123 4567-90</dcc:fax> + <dcc:location> + <dcc:city>Musterstadt</dcc:city> + <dcc:countryCode>DE</dcc:countryCode> + <dcc:postCode>00900</dcc:postCode> + <dcc:street>Musterstraße</dcc:street> + <dcc:streetNo>1</dcc:streetNo> + <dcc:further> + <dcc:content>www.kalibrierfirma.xx</dcc:content> + </dcc:further> + </dcc:location> + </dcc:contact> + <dcc:cryptElectronicSeal>true</dcc:cryptElectronicSeal> + <dcc:cryptElectronicSignature>false</dcc:cryptElectronicSignature> + <dcc:cryptElectronicTimeStamp>true</dcc:cryptElectronicTimeStamp> + </dcc:calibrationLaboratory> + <dcc:respPersons> + <dcc:respPerson refType="test_respPerson"> + <dcc:person> + <dcc:name> + <dcc:content>Michaela Musterfrau</dcc:content> + </dcc:name> + </dcc:person> + <dcc:mainSigner>true</dcc:mainSigner> + </dcc:respPerson> + <dcc:respPerson> + <dcc:person> + <dcc:name> + <dcc:content>Michael Mustermann</dcc:content> + </dcc:name> + </dcc:person> + </dcc:respPerson> + </dcc:respPersons> + <dcc:customer> + <dcc:name> + <dcc:content>Kunde GmbH</dcc:content> + </dcc:name> + <dcc:eMail>info@kunde.xx</dcc:eMail> + <dcc:location> + <dcc:city>Musterstadt</dcc:city> + <dcc:countryCode>DE</dcc:countryCode> + <dcc:postCode>00900</dcc:postCode> + <dcc:further> + <dcc:content lang="de">Kunden Nr. 1024418</dcc:content> + <dcc:content lang="en">Customer ID no. 1024418</dcc:content> + </dcc:further> + </dcc:location> + </dcc:customer> + <dcc:statements> + <dcc:statement refType="basic_conformity"> + <dcc:name> + <dcc:content lang="de">Name der Konformitätsaussage</dcc:content> + <dcc:content lang="en">Name of conformity statement</dcc:content> + </dcc:name> + <dcc:description> + <dcc:content lang="de">Beschreibung der Konformitätsaussage</dcc:content> + <dcc:content lang="en">Description of conformity statement</dcc:content> + </dcc:description> + <dcc:declaration> + <dcc:content lang="de">Die Konformitätsaussage erfolgt anhand der Vorgaben des Kunden. Sie sind im DCC mit aufgeführt.</dcc:content> + <dcc:content lang="en">The conformity statement is made on the basis of the customer's specifications. They are listed in the DCC.</dcc:content> + </dcc:declaration> + <dcc:respAuthority> + <dcc:name> + <dcc:content>Kunde GmbH</dcc:content> + </dcc:name> + <dcc:eMail>info@kunde.xx</dcc:eMail> + <dcc:location> + <dcc:city>Musterstadt</dcc:city> + <dcc:countryCode>DE</dcc:countryCode> + <dcc:postCode>00900</dcc:postCode> + </dcc:location> + </dcc:respAuthority> + <dcc:conformity>pass</dcc:conformity> + <dcc:data> + <dcc:quantity> + <dcc:name> + <dcc:content lang="de">Übertragungskoeffizient Phasenverschiebung</dcc:content> + <dcc:content lang="en">Transmission coefficient phase shift</dcc:content> + </dcc:name> + <si:realListXMLList> + <si:valueXMLList>-0.02 -0.03 -0.02 -0.02 -0.01</si:valueXMLList> + <si:unitXMLList>\degree</si:unitXMLList> + <si:expandedUncXMLList> + <si:uncertaintyXMLList>0.3 0.3 0.3 0.3 0.3</si:uncertaintyXMLList> + <si:coverageFactorXMLList>2</si:coverageFactorXMLList> + <si:coverageProbabilityXMLList>0.95</si:coverageProbabilityXMLList> + <si:distributionXMLList>normal</si:distributionXMLList> + </si:expandedUncXMLList> + </si:realListXMLList> + <dcc:measurementMetaData> + <dcc:metaData> + <dcc:declaration> + <dcc:content lang="de">Kommentar ist gültig für den dritten und fünften Eintrag.</dcc:content> + <dcc:content lang="en">Comment is valid for the 3rd and 5th entry.</dcc:content> + </dcc:declaration> + <dcc:validXMLList>false false true false true</dcc:validXMLList> + </dcc:metaData> + <dcc:metaData> + <dcc:declaration> + <dcc:content lang="de">Kommentar ist gültig für den dritten Eintrag.</dcc:content> + <dcc:content lang="en">Comment is valid for the 3rd entry.</dcc:content> + </dcc:declaration> + <dcc:validXMLList>false false true false false</dcc:validXMLList> + </dcc:metaData> + </dcc:measurementMetaData> + </dcc:quantity> + </dcc:data> + </dcc:statement> + <dcc:statement refType="basic_recalibration"> + <dcc:declaration> + <dcc:content lang="de">Datum, wann nach der Festlegung durch den Kunden spätestens der Kalibriergegenstand rekalibriert werden soll:</dcc:content> + <dcc:content lang="en">Date when the calibration item is to be recalibrated at the latest according to the customer's specification:</dcc:content> + </dcc:declaration> + <dcc:date>1959-10-22</dcc:date> + <dcc:respAuthority> + <dcc:name> + <dcc:content>Kunde GmbH</dcc:content> + </dcc:name> + <dcc:eMail>info@kunde.xx</dcc:eMail> + <dcc:location> + <dcc:city>Musterstadt</dcc:city> + <dcc:countryCode>DE</dcc:countryCode> + <dcc:postCode>00900</dcc:postCode> + </dcc:location> + </dcc:respAuthority> + </dcc:statement> + </dcc:statements> + </dcc:administrativeData> + <dcc:measurementResults> + <dcc:measurementResult> + <dcc:name> + <dcc:content lang="de">Messergebnisse</dcc:content> + <dcc:content lang="en">Measurement results</dcc:content> + </dcc:name> + <dcc:usedMethods> + <dcc:usedMethod refType="gp_temperatureSensor"> + <dcc:name> + <dcc:content lang="de">Kalibrierung von Temperaturmessfühlern</dcc:content> + <dcc:content lang="en">Calibration of temperature sensors</dcc:content> + </dcc:name> + </dcc:usedMethod> + </dcc:usedMethods> + <dcc:measuringEquipments> + <dcc:measuringEquipment refType="basic_normalUsed"> + <dcc:name> + <dcc:content lang="de">Pt 100 Widerstandsthermometer</dcc:content> + <dcc:content lang="en">Pt 100 thermometer</dcc:content> + </dcc:name> + <dcc:identifications> + <dcc:identification> + <dcc:issuer>manufacturer</dcc:issuer> + <dcc:value>string-manufacturer-measuringEquipment-1</dcc:value> + </dcc:identification> + </dcc:identifications> + </dcc:measuringEquipment> + </dcc:measuringEquipments> + <dcc:influenceConditions> + <dcc:influenceCondition refType="basic_temperature"> + <dcc:name> + <dcc:content lang="de">Umgebungsbedingung Temperatur</dcc:content> + <dcc:content lang="en">Ambient condition temperature</dcc:content> + </dcc:name> + <dcc:description> + <dcc:content lang="de">Diese Werte wurden nicht gemessen, sondern wurden anhand der typischen Wetterbedingungen zu einer Jahreszeit angegeben. [^1]</dcc:content> + <dcc:content lang="en">These values were not measured, but were given based on typical weather conditions at a time of year. [^1]</dcc:content> + </dcc:description> + <dcc:data> + <dcc:quantity refType="basic_temperatureMin"> + <dcc:name> + <dcc:content lang="de">Temperatur min</dcc:content> + <dcc:content lang="en">temperature min</dcc:content> + </dcc:name> + <si:real> + <si:value>293</si:value> + <si:unit>\kelvin</si:unit> + </si:real> + </dcc:quantity> + <dcc:quantity refType="basic_temperatureMax"> + <dcc:name> + <dcc:content lang="de">Temperatur max</dcc:content> + <dcc:content lang="en">temperature max</dcc:content> + </dcc:name> + <si:real> + <si:value>299</si:value> + <si:unit>\kelvin</si:unit> + </si:real> + </dcc:quantity> + </dcc:data> + </dcc:influenceCondition> + <dcc:influenceCondition refType="basic_humidityRelative"> + <dcc:name> + <dcc:content lang="de">Umgebungsbedingung relative Luftfeuchte</dcc:content> + <dcc:content lang="en">Ambient condition relative humidity</dcc:content> + </dcc:name> + <dcc:description> + <dcc:content lang="de">Diese Werte wurden nicht gemessen, sondern wurden anhand der typischen Wetterbedingungen zu einer Jahreszeit angegeben. [^1]</dcc:content> + <dcc:content lang="en">These values were not measured, but were given based on typical weather conditions at a time of year. [^1]</dcc:content> + </dcc:description> + <dcc:data> + <dcc:quantity refType="basic_humidityRelativeMin"> + <dcc:name> + <dcc:content lang="de">Feuchte min</dcc:content> + <dcc:content lang="en">humidity min</dcc:content> + </dcc:name> + <si:real> + <si:value>0.20</si:value> + <si:unit>\one</si:unit> + </si:real> + </dcc:quantity> + <dcc:quantity refType="basic_humidityRelativeMax"> + <dcc:name> + <dcc:content lang="de">Feuchte max</dcc:content> + <dcc:content lang="en">humidity max</dcc:content> + </dcc:name> + <si:real> + <si:value>0.70</si:value> + <si:unit>\one</si:unit> + </si:real> + </dcc:quantity> + </dcc:data> + </dcc:influenceCondition> + </dcc:influenceConditions> + <dcc:results> + <dcc:result refType="gp_measuringResult1"> + <dcc:name> + <dcc:content lang="de">Messergebnisse</dcc:content> + <dcc:content lang="en">Measuring results</dcc:content> + </dcc:name> + <dcc:data> + <dcc:list refType="gp_table1"> + <dcc:quantity refType="basic_referenceValue"> + <dcc:name> + <dcc:content lang="de">Bezugswert</dcc:content> + <dcc:content lang="en">Reference value</dcc:content> + </dcc:name> + <si:hybrid> + <si:realListXMLList> + <si:valueXMLList>306.248 373.121 448.253 523.319 593.154</si:valueXMLList> + <si:unitXMLList>\kelvin</si:unitXMLList> + </si:realListXMLList> + <si:realListXMLList> + <si:valueXMLList>33.098 99.971 175.103 250.169 320.004</si:valueXMLList> + <si:unitXMLList>\degreecelsius</si:unitXMLList> + </si:realListXMLList> + </si:hybrid> + </dcc:quantity> + <dcc:quantity refType="basic_measuredValue"> + <dcc:name> + <dcc:content lang="de">Angezeigter Messwert Kalibriergegenstand</dcc:content> + <dcc:content lang="en">Indicated measured value probe</dcc:content> + </dcc:name> + <si:hybrid> + <si:realListXMLList> + <si:valueXMLList>306.32 373.21 448.36 523.31 593.07</si:valueXMLList> + <si:unitXMLList>\kelvin</si:unitXMLList> + </si:realListXMLList> + <si:realListXMLList> + <si:valueXMLList>33.17 100.06 175.21 250.16 319.92</si:valueXMLList> + <si:unitXMLList>\degreecelsius</si:unitXMLList> + </si:realListXMLList> + </si:hybrid> + </dcc:quantity> + <dcc:quantity refType="basic_measurementError"> + <dcc:name> + <dcc:content lang="de">Messabweichung</dcc:content> + <dcc:content lang="en">Measurement error</dcc:content> + </dcc:name> + <si:realListXMLList> + <si:valueXMLList>0.072 0.089 0.107 -0.009 -0.084</si:valueXMLList> + <si:unitXMLList>\kelvin</si:unitXMLList> + <si:expandedUncXMLList> + <si:uncertaintyXMLList>0.061</si:uncertaintyXMLList> + <si:coverageFactorXMLList>2</si:coverageFactorXMLList> + <si:coverageProbabilityXMLList>0.95</si:coverageProbabilityXMLList> + <si:distributionXMLList>normal</si:distributionXMLList> + </si:expandedUncXMLList> + </si:realListXMLList> + <dcc:measurementMetaData> + <dcc:metaData refType="basic_conformity"> + <dcc:name> + <dcc:content lang="de">Metadaten 1</dcc:content> + <dcc:content lang="en">Meta data 1</dcc:content> + </dcc:name> + <dcc:description> + <dcc:content lang="de">Beschreibung der Metadaten 1</dcc:content> + <dcc:content lang="en">Description of Meta data 1</dcc:content> + </dcc:description> + <dcc:declaration> + <dcc:name> + <dcc:content lang="de">Konformität</dcc:content> + <dcc:content lang="en">Conformity</dcc:content> + </dcc:name> + </dcc:declaration> + <dcc:conformityXMLList>pass</dcc:conformityXMLList> + <dcc:data> + <dcc:quantity refType="basic_acceptanceLimitLower"> + <dcc:name> + <dcc:content lang="de">Unteres Akzeptanzlimit</dcc:content> + <dcc:content lang="en">Lower acceptance limit</dcc:content> + </dcc:name> + <si:realListXMLList> + <si:valueXMLList>-0.23 -0.23 -0.23 -0.30 -0.30</si:valueXMLList> + <si:unitXMLList>\kelvin</si:unitXMLList> + </si:realListXMLList> + </dcc:quantity> + <dcc:quantity refType="basic_acceptanceLimitUpper"> + <dcc:name> + <dcc:content lang="de">Oberes Akzeptanzlimit</dcc:content> + <dcc:content lang="en">Upper acceptance limit</dcc:content> + </dcc:name> + <si:realListXMLList> + <si:valueXMLList>0.23 0.23 0.23 0.30 0.30</si:valueXMLList> + <si:unitXMLList>\kelvin</si:unitXMLList> + </si:realListXMLList> + </dcc:quantity> + </dcc:data> + </dcc:metaData> + </dcc:measurementMetaData> + </dcc:quantity> + </dcc:list> + <dcc:quantity refType="test_noQuantity"> + <dcc:noQuantity> + <dcc:name> + <dcc:content>Example name</dcc:content> + </dcc:name> + <dcc:content>Example text</dcc:content> + <dcc:file refType="examplePicture"> + <dcc:fileName>examplePicture.png</dcc:fileName> + <dcc:mimeType>image/png</dcc:mimeType> + <dcc:dataBase64>iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAEDmlDQ1BrQ0dDb2xvclNwYWNlR2VuZXJpY1JHQgAAOI2NVV1oHFUUPpu5syskzoPUpqaSDv41lLRsUtGE2uj+ZbNt3CyTbLRBkMns3Z1pJjPj/KRpKT4UQRDBqOCT4P9bwSchaqvtiy2itFCiBIMo+ND6R6HSFwnruTOzu5O4a73L3PnmnO9+595z7t4LkLgsW5beJQIsGq4t5dPis8fmxMQ6dMF90A190C0rjpUqlSYBG+PCv9rt7yDG3tf2t/f/Z+uuUEcBiN2F2Kw4yiLiZQD+FcWyXYAEQfvICddi+AnEO2ycIOISw7UAVxieD/Cyz5mRMohfRSwoqoz+xNuIB+cj9loEB3Pw2448NaitKSLLRck2q5pOI9O9g/t/tkXda8Tbg0+PszB9FN8DuPaXKnKW4YcQn1Xk3HSIry5ps8UQ/2W5aQnxIwBdu7yFcgrxPsRjVXu8HOh0qao30cArp9SZZxDfg3h1wTzKxu5E/LUxX5wKdX5SnAzmDx4A4OIqLbB69yMesE1pKojLjVdoNsfyiPi45hZmAn3uLWdpOtfQOaVmikEs7ovj8hFWpz7EV6mel0L9Xy23FMYlPYZenAx0yDB1/PX6dledmQjikjkXCxqMJS9WtfFCyH9XtSekEF+2dH+P4tzITduTygGfv58a5VCTH5PtXD7EFZiNyUDBhHnsFTBgE0SQIA9pfFtgo6cKGuhooeilaKH41eDs38Ip+f4At1Rq/sjr6NEwQqb/I/DQqsLvaFUjvAx+eWirddAJZnAj1DFJL0mSg/gcIpPkMBkhoyCSJ8lTZIxk0TpKDjXHliJzZPO50dR5ASNSnzeLvIvod0HG/mdkmOC0z8VKnzcQ2M/Yz2vKldduXjp9bleLu0ZWn7vWc+l0JGcaai10yNrUnXLP/8Jf59ewX+c3Wgz+B34Df+vbVrc16zTMVgp9um9bxEfzPU5kPqUtVWxhs6OiWTVW+gIfywB9uXi7CGcGW/zk98k/kmvJ95IfJn/j3uQ+4c5zn3Kfcd+AyF3gLnJfcl9xH3OfR2rUee80a+6vo7EK5mmXUdyfQlrYLTwoZIU9wsPCZEtP6BWGhAlhL3p2N6sTjRdduwbHsG9kq32sgBepc+xurLPW4T9URpYGJ3ym4+8zA05u44QjST8ZIoVtu3qE7fWmdn5LPdqvgcZz8Ww8BWJ8X3w0PhQ/wnCDGd+LvlHs8dRy6bLLDuKMaZ20tZrqisPJ5ONiCq8yKhYM5cCgKOu66Lsc0aYOtZdo5QCwezI4wm9J/v0X23mlZXOfBjj8Jzv3WrY5D+CsA9D7aMs2gGfjve8ArD6mePZSeCfEYt8CONWDw8FXTxrPqx/r9Vt4biXeANh8vV7/+/16ffMD1N8AuKD/A/8leAvFY9bLAAAAOGVYSWZNTQAqAAAACAABh2kABAAAAAEAAAAaAAAAAAACoAIABAAAAAEAAAAUoAMABAAAAAEAAAAUAAAAAJEV0scAAAAtSURBVDgRY2RgYPgPxFQDTFQzCWrQqIGUh+hoGI6GIRkhMJpsyAg0NC0jMAwBzu4BJ2FWhpgAAAAASUVORK5CYII=</dcc:dataBase64> + </dcc:file> + <dcc:formula> + <dcc:latex>E = mc^2</dcc:latex> + </dcc:formula> + </dcc:noQuantity> + </dcc:quantity> + <dcc:quantity refType="test_charsXMLList"> + <dcc:charsXMLList>A B C D E F</dcc:charsXMLList> + </dcc:quantity> + <dcc:quantity refType="test_constant"> + <si:constant> + <si:label>exampleLabel</si:label> + <si:value>306.248</si:value> + <si:unit>\kelvin</si:unit> + <si:dateTime>1111-11-11T11:11:11</si:dateTime> + </si:constant> + </dcc:quantity> + <dcc:quantity refType="test_real"> + <si:real> + <si:label>exampleLabel</si:label> + <si:value>306.248</si:value> + <si:unit>\kelvin</si:unit> + <si:dateTime>1111-11-11T11:11:11</si:dateTime> + </si:real> + </dcc:quantity> + <dcc:quantity refType="test_realListXMLList"> + <si:realListXMLList> + <si:labelXMLList>exampleLabel</si:labelXMLList> + <si:valueXMLList>306.248 373.121 448.253 523.319 593.154</si:valueXMLList> + <si:unitXMLList>\kelvin</si:unitXMLList> + <si:dateTimeXMLList>1111-11-11T11:11:11 1111-11-11T11:11:12 1111-11-11T11:11:13 1111-11-11T11:11:14 1111-11-11T11:11:15</si:dateTimeXMLList> + </si:realListXMLList> + </dcc:quantity> + <dcc:quantity refType="test_hybridConstant"> + <si:hybrid> + <si:constant> + <si:label>exampleLabel</si:label> + <si:value>306.248</si:value> + <si:unit>\kelvin</si:unit> + <si:dateTime>1111-11-11T11:11:11</si:dateTime> + </si:constant> + <si:constant> + <si:label>exampleLabel</si:label> + <si:value>33.098</si:value> + <si:unit>\degreecelsius</si:unit> + <si:dateTime>1111-11-11T11:11:11</si:dateTime> + </si:constant> + </si:hybrid> + </dcc:quantity> + <dcc:quantity refType="test_hybridReal"> + <si:hybrid> + <si:real> + <si:label>exampleLabel</si:label> + <si:value>306.248</si:value> + <si:unit>\kelvin</si:unit> + <si:dateTime>1111-11-11T11:11:11</si:dateTime> + </si:real> + <si:real> + <si:label>exampleLabel</si:label> + <si:value>33.098</si:value> + <si:unit>\degreecelsius</si:unit> + <si:dateTime>1111-11-11T11:11:11</si:dateTime> + </si:real> + </si:hybrid> + </dcc:quantity> + <dcc:quantity refType="test_hybridRealListXMLList"> + <si:hybrid> + <si:realListXMLList> + <si:labelXMLList>exampleLabel</si:labelXMLList> + <si:valueXMLList>306.248 373.121 448.253 523.319 593.154</si:valueXMLList> + <si:unitXMLList>\kelvin</si:unitXMLList> + <si:dateTimeXMLList>1111-11-11T11:11:11 1111-11-11T11:11:12 1111-11-11T11:11:13 1111-11-11T11:11:14 1111-11-11T11:11:15</si:dateTimeXMLList> + </si:realListXMLList> + <si:realListXMLList> + <si:labelXMLList>exampleLabel</si:labelXMLList> + <si:valueXMLList>33.098 99.971 175.103 250.169 320.004</si:valueXMLList> + <si:unitXMLList>\degreecelsius</si:unitXMLList> + <si:dateTimeXMLList>1111-11-11T11:11:11 1111-11-11T11:11:12 1111-11-11T11:11:13 1111-11-11T11:11:14 1111-11-11T11:11:15</si:dateTimeXMLList> + </si:realListXMLList> + </si:hybrid> + </dcc:quantity> + </dcc:data> + </dcc:result> + </dcc:results> + </dcc:measurementResult> + </dcc:measurementResults> +</dcc:digitalCalibrationCertificate> \ No newline at end of file -- GitLab