The element type dcc:hashType contains the unique identifier of a referred/referenced certificate and a hash value. In the dcc:description element the certificate can be attached ideally as an XML or a PDF encoded to Base64.
The dcc:hashType purposes to link to and ensure the integrity of external xml documents. The hashsum is generated by the content of the external xml documents and ensures that this document hadn't a modification since it is referred by the current xml document.
The hashsum can be taken over from a xml signature in an external xml document. In XML Signatures by XML-DSig in the W3C recommendation the hashsum can be found in the DigestValue Element. It is important to insert the canonicalization method used by the xml signature in the procedure element of the dcc:hashType.
For example, if the digest was generated using SHA-256 after XML canonicalization (C14N), the procedure value should be specified as c14n-sha256.
<ds:Signature> element, which contains the same hash value in <ds:DigestValue>, for the calculation of a hashsum before the canonicalization. This is standardized in xml signature verification.
The tree structure of the element type dcc:hashType has the following appearance:
<xs:complexType name="hashType">
<xs:sequence>
<xs:element name="referral" type="dcc:textType"/>
<xs:element name="referralID" type="dcc:notEmptyStringType"/>
<xs:element name="procedure" type="dcc:notEmptyStringType"/>
<xs:element name="value" type="dcc:notEmptyStringType"/>
<xs:element name="description" type="dcc:richContentType" minOccurs="0"/>
<xs:element name="inValidityRange" type="xs:boolean" minOccurs="0"/>
<xs:element name="traceable" type="xs:boolean" minOccurs="0"/>
<xs:element name="linkedReport" type="dcc:hashType" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="id" type="xs:ID" use="optional"/>
<xs:attribute name="refId" type="xs:IDREFS" use="optional"/>
<xs:attribute name="refType" type="dcc:refTypesType" use="optional"/>
</xs:complexType>
See the list of abbreviations here
| Element Element type |
Use | Description |
|---|---|---|
| dcc:referral dcc:textType) |
[M] | This field contains the referral/ reference name of the certificate, ideally already a digital certificate such as the DCC. |
| dcc:referralID dcc:notEmptyStringType |
[M] | The identifier (e.g. the calibration certificate number or unique identifier of a referred DCC) of the referred certificate is entered here. |
| dcc:procedure dcc:notEmptyStringType |
[M] | The integrity of the referred certificate is ensured with a hash value algorithm. This field contains the algorithm used to calculate the hash value stored in the element dcc:value. To avoid ambiguities, the canonicalization method used for XML files should be included as part of the procedure. The canonicalization method and the hash algorithm are seperated by a -. For example: c14n-sha256.Only sha256 should be considered a valid hash algorithm for calculating the hash value of the entire file. If it is an analogue certificate, the word "analogue" is entered in this mandatory element. |
| dcc:value dcc:notEmptyStringType |
[M] | The hash value is stored in this element. It was obtained by applying the hash value algorithm mentioned in the element dcc:procedure to the calibration certificate. If it is an analogue certificate, the word "analogue" is entered in this mandatory element. |
| dcc:description dccrichContentType |
[O] | Additional information can be entered here. Rich content Type can contain files and formulas beside the normal text content. |
| dcc:inValidityRange xs:boolean |
[O] | Indicates whether the equipment was found valid (results in validity range) when the the equipment was calibrated. |
| dcc:traceable xs:boolean |
[O] | Indicates that the linked certificate is traceable |
| dcc:linkedReport dcc:hashType (loop) |
[O] | The element dcc:linkedReport gives the possibility to refer to another certificate from this certificate. A chain of certificates can be specified. The structure of the element dcc:linkedReport also has an element with the element type dcc:hashType. |
| Attribute Attribute type |
Use | Description |
|---|---|---|
| id xs:ID |
[O] | This standard XML data type is used to represent a unique ID. It is used to uniquely identify the object in the DCC. The data type xs:ID is deliberately used here because it enables validation without any add-ons in various tools. |
| refId xs:IDREFS |
[O] | IDREF represents the IDREF attribute type from [XML 1.0 (Second Edition)]. The value space of IDREF is the set of all strings that match the NCName production in [Namespaces in XML]. The lexical space of IDREF is the set of strings that match the NCName production in [Namespaces in XML]. The base type of IDREF is NCName. |
| refType dcc:refTypesType |
[O] | A list of refTypes in XML. |
If the previous calibration certificate was a digital calibration certificate with dcc:uniqueIdentifier4914246</dcc:uniqueIdentifier>.
It has been hashed with the hash value algorithm SHA256. The hash value is
e14f080fcc4a8b2ut879add657d9e66f7896a.
<dcc:previousReport>
<dcc:referral>
<dcc:content lang="en">The predecessor calibration certificate is a DCC.</dcc:content>
</dcc:referral>
<dcc:referralID>4914246</dcc:referralID>
<dcc:procedure>c14n-sha256</dcc:procedure>
<dcc:value>e14f080fcc4a8b2ut879add657d9e66f7896a</dcc:value>
</dcc:previousReport>
If instead of dcc:uniqueIdentifier another dcc:identification of the previous certificate has to be referenced, than refTypes have to be used.
<dcc:identification refType="basic_orderNumber">
<dcc:issuer>calibrationLaboratory</dcc:issuer>
<dcc:value>abc123</dcc:value>
<dcc:name>
<dcc:content lang="de">Geschäftszeichen</dcc:content>
<dcc:content lang="en">Reference No.</dcc:content>
</dcc:name>
</dcc:identification>
It has been hashed with the hash value algorithm SHA256. The hash value is
e14f080fcc4a8b2ut879add657d9e66f7896a.
<dcc:previousReport refType="basic_orderNumber">
<dcc:referral>
<dcc:content lang="en">The predecessor calibration certificate is a DCC.</dcc:content>
</dcc:referral>
<dcc:referralID>abc123</dcc:referralID>
<dcc:procedure>c14n-sha256</dcc:procedure>
<dcc:value>e14f080fcc4a8b2ut879add657d9e66f7896a</dcc:value>
</dcc:previousReport>
Same as example 1, with an additional previous analogue calibration certificate with certificate number 5678.
<dcc:previousReport>
<dcc:referral>
<dcc:content lang="en">The predecessor calibration certificate is a DCC.</dcc:content>
</dcc:referral>
<dcc:referralID>4914246</dcc:referralID>
<dcc:procedure>c14n-sha256</dcc:procedure>
<dcc:value>e14f080fcc4a8b2ut879add657d9e66f7896a</dcc:value>
<dcc:linkedReport>
<dcc:referral>
<dcc:content lang="en">The predecessor calibration certificate is an analogous Calibration Certificate.</dcc:content>
</dcc:referral>
</dcc:referralID>5678</dcc:referralID>
<dcc:procedure>analogue</dcc:procedure>
<dcc:value>analogue</dcc:value>
</dcc:linkedReport>
</dcc:previousReport>