This is the second in a series of blog posts aimed at documenting the development of an XCRI-CAP 1.2 validator.  The entire series can be found by visiting the validator blog post list.  My aim is to post a new blog post every week until the development is complete, then at least once every month to document both the usage of the validator as well as any community-highlighted modifications or issues.

In this blog post I have decided to concentrate on the top-level structure of the validation routine with the aim for users to understand the basic terminology used and how it fits within the project as a whole.  The validator library is built as a .NET 4 library using C# and builds upon the base validation functionality exposed by the .NET library itself.

Validation of an XCRI-CAP 1.2 feed is done in three separate ways: by ensuring the document is a valid XML document, that the XML document is valid according to the XML schemas involved, and that the XML document passes some additional rule-based validation.  At each level, each exception captured by the document is presented back to the user along with guidance on how to resolve the issue.

The rule base used in the validation is fed in from both the official XCRI-CAP 1.2 standard, through guidance issued via associated JISC-funded projects, and through the wider XCRI-CAP community.

The XCRI-CAP 1.2 validation library and an online tool to validate feeds are expected to be completed by the end of February 2012.