While each of the following URI schemes is optional according to the SML-IF spec, each implementation is required to implement at least one of them. This can be verified below, although the XSLT would generate a colored warning in the HTML if an implementation supported zero URI schemes.

The Microsoft implementation supports 1 URI schemes.

The Eclipse COSMOS implementation supports 2 URI schemes.

Defining Document Feature (short)Name Feature Description Feature Type Supported by Eclipse COSMOS Supported by Microsoft
SML smlref SML references Required yes yes
SML targetRequired Target required Required yes yes
SML targetType Target type Required yes yes
SML derefNV Deref outside of validator Required yes yes
SML acyclic Acyclic Required yes yes
SML targetElement Target element Required yes yes
SML rules Rules (embedded in schemas + rule documents) Required yes yes
SML idConstraint sml:key, keyref, unique Required yes yes
SML validation validation Required yes yes
SML-IF Base64 Base64 Required yes yes
SML-IF Embedded Embedded or By-Value Documents Required yes yes
SML-IF smlifBaseUri smlif:baseuri. Optional yes yes
SML-IF schemaComplete Schema complete Required yes yes
SML-IF aliases Aliases Required yes yes
SML-IF xmlBase xml:base Optional yes no
SML-IF ruleBindings Rule bindings Required yes yes
SML-IF smlifVersion Consumers must attempt to process regardless of document version contents Required yes yes
SML-IF baseUri Establish base URI if any relative references Required yes yes
SML locid Localization resource ID Optional yes no
SML dtdID DTD-defined IDs can be used as bare names in SML references Optional yes no
SML-IF locator Documents can be referred to instead of being embedded in-line Optional yes no
SML-IF schemaBindings Subsets of the model's definition section's schema documents can be used to assess instance validity Optional yes no