Skip to content

Changing the .xsd schematron file

Daniel Silhavy edited this page Feb 1, 2023 · 1 revision

The DASH Conformance Validator uses a .xsd file for the validation of the DASH MPD.

What is an XSD file

An XSD file is a file used to define what elements and attributes may appear in an XML document. It also defines the relationship of the elements and what data may be stored in them. XSD files are written in the W3C XML Schema language.

Source: https://fileinfo.com/extension/xsd

Configuration

The default schema is located in DASH/mpdvalidator/schemas/DASH-MPD.xsd. Based on the enabled module the validator switches to a different schema:

if ($dvbEnabled) {
    if ($dvbVersion == "2019") {
        $schemaLocation = 'schemas/DASH-MPD-4th-amd1.xsd';
    } else {
      //Default to 2018 xsd
        $schemaLocation = 'schemas/DASH-MPD-2nd.xsd';
    }
} elseif ($llEnabled) {
    $schemaLocation = 'schemas/DASH-MPD-4th-amd1.xsd';
}

It is also possible to enable the useLatestXsd flag via the REST interface or the CLI. In this case, the validator uses the following URL: https://raw.githubusercontent.com/MPEGGroup/DASHSchema/5th-Ed/DASH-MPD.xsd

By changing the logic in Utils/impl/MPDHandler/findOrDownloadSchema.php the existing logic can be overwritten and adjusted.