CDR Tickets

Issue Number 4254
Summary Spike Story: Prototype Python version of CDR Server Validation Module
Created 2017-04-06 06:01:31
Issue Type Task
Submitted By Kline, Bob (NIH/NCI) [C]
Assigned To Kline, Bob (NIH/NCI) [C]
Status Closed
Resolved 2017-04-11 11:40:45
Resolution Fixed
Path /home/bkline/backups/jira/ocecdr/issue.206162
Description

The Problem:
CDR schema validation is currently performed using a custom C++ implementation based on the draft XML Schema standard. When the standard was released in its final form, there were significantly more substantive changes from the draft than the committee had predicted. As a result, our schema documents are not compliant with the standard and are only usable by our own software.

The Question:
Is it possible to replace the existing validation module with a standards-compliant version, so that our schemas could be used outside the CDR (e.g., by the WCMS, the PDQ data partners, or the front-end editing package XMetaL)?

Objectives of this Spike Story:
Implement prototype software which can:

  • make the existing schema documents compliant with the XML Schema standard

  • produce correct DTDs from the modified schemas

  • validate CDR document from the modified schemas, producing the same results as the legacy server produces

  • run custom validation rules embedded in the schemas, producing the same results as the legacy server produces

  • embed validation error information in CDR documents sent back to XMetaL

Comment entered 2017-04-11 11:40:33 by Kline, Bob (NIH/NCI) [C]

I have completed the work for this ticket. I was able to confirm that it will be possible to provide the required validation module's functionality in a Python implementation using the lxml package.

Elapsed: 0:00:00.001208