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.
parameter ROOTCLASSES;
This is 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 XMLNAMESPACE;
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
classmethod GetSchemaForClasses(ByRef pClassList As %String, pNode)
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
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
classmethod loopGlobal(pStream As %Stream.Object, pNode As %String)
as %Status
Loop through the global to generate the output for the Studio.