This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.

For information on migrating to InterSystems IRIS, see Why Migrate to InterSystems IRIS?


abstract class %Studio.SASchemaClass extends %Studio.SASchema

This class is the base class for Studio Assist schema generators that are based on XML-enabled class definitions.

Method Inventory (Including Private)


parameter ROOTCLASSES;
This is a comma-separated list of the classes whose xml elements can be used as the root level element of a document separated with a ':' and the XML tag name to correlate this with e.g. "User.Person:person,User.Company:company".
parameter SACATEGORY;
Optional. This is a comma-separated list of category names. If specified, only classes that contain an SACATEGORY parameter included in the list will be added to the schema. This provides a way to create a subset of a larger set of components.
This is the namespace value used to identify this SA schema. This corresponds to the XMLNamespace keyword of a Studio XData block.


classmethod GetAttrsForClass(pClass As %String, Output pAttrList) as %Status
Given a class (and default namespace) find the list of XML attributes it can contain.
classmethod GetElementsForClass(pClass As %String, Output pElementList, Output pReferencedClasses) as %Status
Given a class (and default namespace) find the list of XML elements it can contain. This list of the form: ^List(el) = class
private classmethod GetSchemaForClasses(ByRef pClassList As %String) as %Status
Internal method. Given an array of class names, that correspond to the top-level elements within an XML document, find the simplified SASchema used by the Studio Assistant.
ppDefaultNS is the default XML namespace for the schema.
classmethod GetXMLElementsForClass(pClass As %String, Output pElements) as %Status
Return an array of XML element names that could be used within a document wherever pClass is expected.
classmethod GetXMLNameForClass(pClass As %String) as %String
Return the XML name for the given class (or "" if there is none). If the class is not in the default namespace, its namespace will be prepended to the XML name.
classmethod IsUpToDate(pChecksum As %String, pParameter As %String) as %Boolean
Inherited description: Subclass should override this method. Return a boolean to indicate whether the output associated with the pChecksum is still up-to-date or not.
classmethod OutputToStream(pStream As %Stream.Object, Output pChecksum As %String, pParameter As %String) as %Status
Output SASchema definition into a stream
classmethod SchemaToPrefix(pSchema As %String) as %String
Convert a schema name to a reasonable "prefix".
classmethod XMLName2DisplayName(pName As %String, pCurrentNS As %String) as %String
Take an element and make sure it has the correct namespace prefix to match the given local namespace context.
classmethod XMLName2NameSpace(pName) as %String
classmethod XMLName2ShortName(pName) as %String
private classmethod loopGlobal(pStream As %Stream.Object) as %Status
Loop through the global to generate the output for the Studio.

Inherited Members

Inherited Methods (Including Private)