Classification Metadata Sidecar
This feature is available from 25.2
For ‘Digitaal Archief Vlaanderen’, a ‘Classification’ in this document is synonymous with a ‘Series’
Introduction
This feature allows you to request a specific sidecar XSD for a classification. The generated XSD will have additional fields under the family Dynamic based upon the linked Profiles. This XSD can then be used to validate your XML before ingesting.
XSD
The classification XSD has the same purpose as the Metadata Sidecar with namespace “mhs” but contains also a specification for the dynamic fields by referring to another XSD with namespace “mhd”. The namespace “mhd” has the same purpose as the namespace “mh” which contains the definition for each standard metadata field, whereas the “mhd” contains the definition for each applicable dynamic metadata field and all fields of type enum. The enum fields are restricted in this XSD to their allowed values.
Examples
Requesting
There are 2 ways to request the XSD.
Classification is publicly accessible
Requesting the XSD can be done by sending a request to
https://<environment>/schemas/<schema version>/classifications/<classification or versioning id>/version/<version>/mhs.xsdhttps://<environment>/schemas/<schema version>/classifications/<classification or versioning id>/version/<version>/record-type/<record type>/mhs.xsd
Property | Description | Example |
|---|---|---|
Schema version | The schema version corresponds with Metadata Sidecar Versions |
|
Classification or versioning ID | Classification or versioning ID of the record for which you want to request the XSD |
|
Version | Version is 1 if the classification is not versioned or different if your classification has multiple versions For versioned classifications, the special version | 1 |
Record type | The record type is an optional property and can be added only to get the fields applicable for the specified record type. | Media |
Variant | Indicates whether to return the mhs or mhd variant. |
|
Classification is not publicly accessible
In this case, you can request the XSD via the API under classifications/<classification id>/schema. See the rest of the API documentation for additional properties and documentation.
Using the XSD for validation during ingest
Validation during ingest is only available from 25.3
It is possible to have the application automatically verify that the sidecar XML is valid according to the classification XSD during ingest.
To activate this feature, simply refer to the classification with it’s public URL as described here: Classification Metadata Sidecar | Classification is publicly accessible. Even if the classification is not publicly accessible, the ingest process can acces it via this way.
A basic example might look like this:
<mhs:Sidecar xmlns:mhs="https://dav-dev.digihaven.be/schemas/25.3/classifications/f9ec6236f1b241d5b7caab4f4bd60f3ed342cf4eff9d40a09590f4533ac6d7e2/version/2/record-type/Dossier/mhs"
xmlns:mh="https://zeticon.mediahaven.com/metadata/25.3/mh/"
xmlns:mhd="https://dav-dev.digihaven.be/schemas/25.3/classifications/f9ec6236f1b241d5b7caab4f4bd60f3ed342cf4eff9d40a09590f4533ac6d7e2/version/2/record-type/Dossier/mhd"
version="25.3">
<mhs:Descriptive>
<mh:Title>Demo Dossier (Valid)</mh:Title>
</mhs:Descriptive>
<mhs:Dynamic>
<mhd:DossierClosureDate>2025-01-30T23:00:00.000000Z</mhd:DossierClosureDate>
<mhd:DossierOpeningDate>2025-01-30T23:00:00.000000Z</mhd:DossierOpeningDate>
</mhs:Dynamic>
</mhs:Sidecar>Note the following:
Any field that is part of the Dynamic metadata family must use the
mhdnamespace.Other fields must use the
mhprefixThe above example uses XSD’s for specific record types. This is optional, see the previous section Classification Metadata Sidecar | Classification is publicly accessible for all possible options.
Troubleshooting
Cannot find the declaration of element 'mhs:Sidecar'
Verify that the namespace uri of mhsin your XML is identical to the targetNameSpaceattribute of the xs:schema element in the XSD. This is case sensitive!