Skip to main content
Jump to: navigation, search

COSMOS Design 205825

Revision as of 16:34, 8 January 2008 by (Talk | contribs) (New page: Note: Code sizing doesn’t include time required to understand the existing code in order to make required changes. It is assumed that somebody familiar with this code will do the changes...)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Note: Code sizing doesn’t include time required to understand the existing code in order to make required changes. It is assumed that somebody familiar with this code will do the changes. Requirement summary Update SML validator implementation based on changes to the SML latest draft. The SML and SML-IF specifications have been updated and a new published version will be made available on January 10, 2008. There are changes to the spec that needs to be reflected into the COSMOS implementation. This requirement deals with updating the following COSMOS code to match the new SML spec: 1. SML validator implementation 2. Exchanging SML documents between SML repositories. This is done by using the Import from/Export to SMLIF actions available under the Eclipse Import/Export main menu actions. 3. SML repository API; the COSMOS SML repository API may need to be updated to match the new specification. Based on these changes, some other components residing under Data Visualization or Data Collection project may need to be moved to this new version ( if this is required, I expect changes to the affected components to be fairly easy to do ) 4. SML-IF editor, which is based on the SML and SML-IF specifications All items above are contained under the Resource Modeling sub project.

Short summary of SML changes ( the spec should be used though to identify the exact set, this is just to help with getting a feeling on the wok effort ): SML changes : 1. sm:refType has been removed. It was used to identify an SML reference. Based on the new spec, any complex type can be an SML reference, the differentiation is done at the runtime by the presence of the sml:ref attribute. a. As a result, target* SML constraints can be defined on any xs:element b. Xs:acyclic can be used on any xs:complexType 2. smlerr namespace has been completely removed a. localizationid has been moved under the sml namespace and renamed to locid b. XML output section has been removed completely 3. SML reference scheme definition has been updated to include a crisp definition of the sml:uri scheme and prescribes what information other reference schemes should offer 4. sml:keybase refer attribute is marked optional 5. xpath1() XMLSchema scheme has been replaced by a new defined SML scheme, smlxpath1() 6. Introduced a new attribute, sml:nilref, used to identify references that are meant to be null a. Definition of null, unresolved and resolved references has been revised

Changes to SML-IF: 1. smlif:baseURI attribute has been removed and replaced with xml:base ( this will be revised in the next version and baseURI will be added back, in a modified form) 2. documents can be embedded in encoded format, in which case the base64 format will be used 3. empty data elements are allowed; maximum one document contained by a data element is allowed 4. the processContents for dataType is set to skip ( every other extension is lax ), so that the document contained by a data element can be skiped when validating the SML-IF document against the SML-IF schema 5. optional schemaComplete attribute added to the model element to define an IF documents where all required documents are being included inline. 6. MAJOR CHANGE : Optional schemaBinding element used to bind instances with definition documents included in IF. In the current implementation of the SML validator, binding of instances with required definition documents is done by namespace matching. Namespace matching is the default approach when a namespaceBinding is not specified User interactions User interface Some UI changes may be required to the SML-IF editor as a result of moving to the new spec. Minor changes only, most of them related to strings or label changes. Note: Not included in the 10/01/08 spec is the update referring to the SML-IF baseURI attribute. This change will require more consistent changes to the SML-IF editor. This is not covered by this enhancement request though so it will be done post i9. Prerequisites Legal approval is required to check into the COSMOS CVS the updated version of the SML and SML-IF specs.

Design summary Once the feature is approved for i9, this will be done during the i9 design week phase.

Back to the top