CMSIS-Pack  Version 1.7.2
Delivery Mechanism for Software Packs
 All Pages
XML Validation

XML validation is especially important when a pack should published using a pack index service. The pack importer will ignore all <vendor>.<name>.pdsc files that do fail when checking against the current PACK.xsd schema file and thus your pack will not be available for download.

Using an editor

Some text editors are capable of verifying XML code against a schema file. This is helpful to identify syntactical or structural problems in a PDSC or SVD file early in the development process. Useful editors are:

Usually, the XML file that is to be validated and its corresponding schema file need to reside in the same directory. The CMSIS-Pack schema file Pack.xsd and the CMSIS-SVD schema file CMSIS-SVD.xsd are available in the directory .\CMSIS\Utilities of the ARM::CMSIS Pack.

Using xmllint

The utility xmllint is a command line tool for XML validation against a schema file. It may be part of the Bash Script to verify the PDSC file during pack generation.

Installing on Linux

Use your package manager to install the libxml2-utils (which contain xmllint). On a Ubuntu machine, use:

$ sudo apt-get install libxml2-utils

Installing on Windows

For Windows libxml provides an XML processor that provides the functionality of xmllint.

The installation is optional but strongly recommended to be able to validate the XML file using

Download the following ZIP files:


Extract the /bin directory of each ZIP file to a directory, for example C:\xmllint and add this directory to the Windows PATH environment variable.

  • Restart the Git Bash after changing the PATH environment variable.
  • When xmllint is not installed, the XML schema verification is skipped by the script.

xmllint is also provided by the xsltproc package that can be installed via Chocolatey:

> choco install xsltproc

Using Pack Installer

Arm Keil MDK includes Pack Installer which tou can use to validate the schema of your PDSC file.

  • Right-click on the pack version number and select Schema Check:
  • The Output window shows the result. If errors are reported, please make sure to fix them before continuing.