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 |
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
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