Class Reference
IRIS for UNIX 2019.2
InterSystems: The power behind what matters   
Documentation  Search
  [ENSLIB] >  [%XML] >  [Utils] >  [SchemaResult]
Private  Storage   

class %XML.Utils.SchemaResult extends %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 XML Schema Wizard. This class is used internally by InterSystems IRIS. 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.

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
1 5 19


Summary

Properties
Classes Features PrefixIndex Reader Tree

Methods
%AddToSaveSet %ClassIsLatestVersion %ClassName %ConstructClone
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Extends
%GetParameter %IsA %IsModified %New
%NormalizeObject %ObjectModified %OriginalNamespace %PackageName
%RemoveFromSaveSet %SerializeObject %SetModified %ValidateObject
AddToXSchema CompileClasses CreateClassDef CreateResult
DisplayClass DisplayClassHTML DisplayClasses DisplayClassesHTML
ElementsToXSchema GetTypeRef IsSQLWord IsValidClassName
OutputXSchema SaveClass SaveClasses SetupResult
XSchemaToFile


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 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 Features("XMLFORMAT") If this node is set, the XMLFORMAT parameter is set to this value for each class.
• property PrefixIndex as %Integer [ InitialExpression = 0 ];
Index for creating namespace prefixes.
• property Reader as SchemaReader;
SchemaReader that created this result
• property Tree as %Integer;
Integer tree id within ^IRIS.Temp

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.


Copyright (c) 2019 by InterSystems Corporation. Cambridge, Massachusetts, U.S.A. All rights reserved. Confidential property of InterSystems Corporation.