XSLT : Transformation of CDISC-ODM files
CDISC has recently (April 2002) published the final
version of the ODM version 1.1 standard. Before, already a "draft"
version was published which was used by several CRO's and pharma companies to
learn working with the ODM.
The final version has seen some considerable changes relative to the
"draft" version: many attributes have undergone a name change, e.g. all
"xxxID" attributes have been changed to "xxxOID" attributes (for a very good
reason), some elements were transformed in attributes and vice versa, and
some disappeared or were replaced by others. Also a number of new attributes
and elements was introduced.
For CRO's and pharma companies this poses the problem that ODM files that
were generated under the version 1.1 "draft" have become unusable, as they do
not conform to the version 1.1 final specification.
Therefore, we at XML4Pharma, as XML-specialists, have constructed an
XSLT stylesheet, which
converts ODM XML-files that were generated under the version 1.1 "draft", to
ODM XML-files that conform mostly to the version 1.1 "final" version.
before the transformation ...
after the transformation ...
The stylesheet has to
be used together with an XSLT processor, such as Saxon (we used Saxon
7.0), to transform the "old" ODM XML-files into the new ones. XSLT processors
typically can be used from the line-command, or can be very simply
incorporated into Java programs (just a few lines of code).
The stylesheet is freely
available for download
Important Remarks:
- The stylesheet comes "as is". We do not guarantee that the use of the
stylesheet delivers ODM XML-files that fully conform to the final
specification in all cases.
- We have tested the stylesheet on a limited set of ODM XML-files only.
For these test cases, over 98% of the data was correctly transformed, and
only a few lines in the transformed XML-file had to be corrected manually
(see "Issues to be solved").
- Computer Chemistry Consultancy is not liable for any damage that may
occur, directly or indirectly, by the use of the stylesheet. The user of
the stylesheet uses it at its own risk and responsibility.
- We gently ask all users to mail
us their experiences with the stylesheet and to report us errors or
improvements.
Issues to be
solved:
- Encoding (first line) is changed into "utf-8" (should be
"ISO-8859-1")
- Pointer to the DTD (second line) has to be included (FIXED 7 May
2002)
- In the final version the attribute values for the ODM TransferType
attribute can only be "Snapshot" or "Transactional". The draft version
had three possibilities: "Archive", "Incremental", "Snapshot". If
"Archive" or "Incremental" is found in the old version, this is just
copied to the new version. The user then has to decide whether he/she
want to change that manually into "Snapshot" or "Transactional"
- A similar problem arises for the "Granularity" attribute. In the draft
there were three possibilities. In the final version there are seven. It
is not clear what the relations between the old and new values are. The
user has to change the values in the new version manually.
- "CreationDateTime" was not a required attribute in the draft version,
but it is required in the final version. If the file conforming to the
draft version does not contain a "CreationDateTime" attribute, a
"CreationDateTime" attribute is created by the transformation, but with
an empty value (CreationDateTime="")
XML4Pharma, Katzelbachweg 18, 8052 Thal, Austria