Usage Note 49813: SAS® Clinical Standards Toolkit 1.5 - Does not create the Schema Instance namespace in define.xml
SAS® Clinical Standards Toolkit 1.5 does not create the Schema Instance namespace in define.xml.
The SAS® Clinical Standards Toolkit follows the recommendation from the XML Schema Validation for define.xml White Paper (http://www.cdisc.org/define-xml).
Many tools enable linking the schema to the define.xml file at validation time. This method is generally considered as a robust option for referencing the schema. This approach is often preferred, because the consuming application is typically better suited to establishing the location of the local schema repository.
Another approach is to set the value of the xsi:schemaLocation attribute within the define.xml file itself. This attribute value enables users to tie the define.xml document to the define-1-0-0.xsd schema. This link is not mandatory, but with many validators, it does help the tool locate the schema. The W3C Schema Recommendation considers the xsi:schemaLocation value as a hint to the validating software on where to find the schema.
In general, validation tools will use a handful of possible strategies to identify and locate the define.xml schema for validation purposes:
-
Use the xsi:schemaLocation attribute value to find the schema. Not all tools use this hint.
-
Enable users to set the location of the schema within the validating software at the time of validation processing
-
The validating software can dereference the namespace to retrieve the schema
-
Use logic built-in to the application to determine the location of the define schema
Not all XML parsers use these strategies in the same way. For example, Xerxces uses the information in xsi:schemaLocation to locate the define.xml schema. On the other hand, the MSXML 4.0 parser does not. Xerxces is a broadly used XML parser maintained by the Apache Software Foundation.
Because SAS® Clinical Standards Toolkit does not use the xsi:schemaLocation, it does not define the xsi namespace. This namespace is not being used in the define.xml as created by SAS® Clinical Standards Toolkit.
We consider the OpenCDISC rule DD0002 (DD0002 Missing or invalid namespace reference) too restrictive, because the schema namespace reference has to be there in case it is used.
In the Define-XML version 2 this rule is more clearly defined. There it is clearly stated that the schema location is optional, and that the schema instance namespace is required when the schema location is provided.
Operating System and Release Information
| SAS System | SAS Clinical Standards Toolkit | Windows 7 Enterprise 32 bit | 1.5 | | 9.3 TS1M2 | |
| Microsoft Windows XP Professional | 1.5 | | 9.3 TS1M2 | |
| Windows 7 Professional 32 bit | 1.5 | | 9.3 TS1M2 | |
| Windows 7 Ultimate 32 bit | 1.5 | | 9.3 TS1M2 | |
| Windows Vista | 1.5 | | 9.3 TS1M2 | |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
SAS® Clinical Standards Toolkit 1.5 - Does not create the Schema Instance namespace in define.xml
| Date Modified: | 2013-05-03 19:34:16 |
| Date Created: | 2013-04-30 19:01:36 |