Skip to main content

%XML.Utils.SchemaResult

class %XML.Utils.SchemaResult extends %Library.RegisteredObject

This class manages and contains the list of class defintions that are created from an XML Schema. This class is intended for internal use by the Caché XML Schema Wizard. This class is used internally by Caché. You should not make direct use of it within your applications. There is no guarantee made about either the behavior or future operation of this class.

Property Inventory

Method Inventory

Parameters

parameter DOMAIN = %TemplateMessages;
Messages for localization of XML Schema Wizard result.

Properties

property Classes as %String [ MultiDimensional ];
A multi-dimensional array of class names
Classes(name) = key (in original ClassTree)
Property methods: ClassesDisplayToLogical(), ClassesGet(), ClassesIsValid(), ClassesLogicalToDisplay(), ClassesLogicalToOdbc(), ClassesNormalize(), ClassesSet()
property Features as %String [ MultiDimensional ];
Array of feature codes for generated classes: The possible nodes are as follows:
Features("DEFAULTSEQUENCE") If this node exists, the wizard does not set the XMLSEQUENCE parameter in the generated classes.
Features("JAVA") If this node exists, each class includes a Java projection.
Features("NOSEQUENCE") If this node exists, the wizard sets the XMLSEQUENCE parameter to 0 in the generated classes.
Features("POPULATE") If this node exists, each class extends %Populate in addition to %XML.Adaptor.
Features("SQLCOLUMNS") If this node exists, each class property specifies a value for the SqlColumnNumber keyword, so that the properties have the same order in SQL that they have in the schema.
Features("IGNORENULL") If this node is set, the XMLIGNORENULL parameter is set to this value for each class. Features("BINARYASSTREAM") If this node exists, then use %Stream.GlobalBinary for base64Binary type
Property methods: FeaturesDisplayToLogical(), FeaturesGet(), FeaturesIsValid(), FeaturesLogicalToDisplay(), FeaturesLogicalToOdbc(), FeaturesNormalize(), FeaturesSet()
property PrefixIndex as %Integer [ InitialExpression = 0 ];
Index for creating namespace prefixes.
Property methods: PrefixIndexDisplayToLogical(), PrefixIndexGet(), PrefixIndexIsValid(), PrefixIndexLogicalToDisplay(), PrefixIndexNormalize(), PrefixIndexSet()
property Reader as SchemaReader;
SchemaReader that created this result
Property methods: ReaderGet(), ReaderGetSwizzled(), ReaderIsValid(), ReaderNewObject(), ReaderSet()
property Tree as %Integer;
Integer tree id within ^CacheTemp
Property methods: TreeDisplayToLogical(), TreeGet(), TreeIsValid(), TreeLogicalToDisplay(), TreeNormalize(), TreeSet()

Methods

method AddToXSchema(classname As %String) as %Status
Create the XSchema data Structure for one class
method CompileClasses(verbose As %Boolean = 0, CompileFlags As %String = "dk") as %Status
Compile all the class definitions in this result
method CreateClassDef(pClassName As %String, test As %Boolean = 0, ByRef pCDef As %Dictionary.ClassDefinition) as %Status
Create a class definition for an entry in the class tree.
classmethod CreateResult(pReader As SchemaReader, pPackage As %String = "", ByRef pFeatures As %String) as SchemaResult
Create a Schema Result given a SchemaReader
classmethod DisplayClass(cdef As %Dictionary.ClassDefinition) as %Status
Write out a formatted version of a class definition
method DisplayClassHTML(row As %Integer, cdef As %Dictionary.ClassDefinition) as %Status
method DisplayClasses()
List all the classes in this Result.
method DisplayClassesHTML() as %Status
Provide an HTML list of classes (for Wizard)
method ElementsToXSchema() as %Status
Add top level elements to the XSchema data structure
method GetTypeRef(ns As %Integer, key As %Integer, ByRef nsno As %Integer, ByRef localname As %String) as %String
classmethod IsSQLWord(name As %String) as %Boolean
Test if name is an SQL reserved word
classmethod IsValidClassName(%val As %Binary) as %Boolean
!!!Test if name is a valid class name
method OutputXSchema(nsno As %Integer)
Output the XSchema data structure to a file
method SaveClass(cdef As %Dictionary.ClassDefinition, verbose As %Boolean = 0) as %Status
method SaveClasses(verbose As %Boolean = 0, test As %Boolean = 0) as %Status
Save all the class definitions in this result to the database.
method SetupResult(pReader As SchemaReader, pPackage As %String = "", ByRef pFeatures As %String) as SchemaResult
Setup a new Schema Result given a SchemaReader
method XSchemaToFile(filepath As %String) as %Status
Output an XSchema format file based on the parsed XML schema.

Inherited Members

Inherited Methods

FeedbackOpens in a new tab