Skip to main content

%XML.Utils.SchemaReader

Class %XML.Utils.SchemaReader Extends %RegisteredObject [ System = 3 ]

This class reads an XML schema and builds class definitions from it.
Schema reading works as follows:
First, the Parser class builds a tree structure representing the elements within the schema file, then this class processes the tree to build class definitions.
This class is used by the XML Schema Wizard; it is not for direct use within applications except through the Process and Reset methods. Properties which are not marked as internal may be used to control the Process method.

For details on using this class, see Generating Classes from XML Schemas.

Properties

MakePersistent

Property MakePersistent As %Boolean [ InitialExpression = 1 ];

Input property to control persistence of generated classes. If true(1) create persistent classes, else create registered classes. Default is true.

MakeSerial

Property MakeSerial As %Boolean [ InitialExpression = 0 ];

Input property to control if generated classes are serial. If true(1) and 'MakePersistent create serial classes, else create registered classes. Default is true.

MakeRelationships

Property MakeRelationships As %Boolean [ InitialExpression = 1 ];

Input property to control creation of relationships in generated classes. If true(1), convert list collections of persistent classes to relationships. Default is true.

ParentChildRelationship

Property ParentChildRelationship As %Boolean [ InitialExpression = 0 ];

Input property to control nature of relationships in generated classes. The ParentChildRelationship property is only meaningful if MakeRelationships is true(1). If ParentChildRelationship is true(1), the relationships that are created are parent-child relationsips. Otherwise the relationships are many-one.

IndexRelationship

Property IndexRelationship As %Boolean [ InitialExpression = 0 ];

Input property to control nature of relationships in generated classes. The IndexRelationship property is only meaningful if MakeRelationships is true(1) and the relationship is many-one (ParentChildRelationship is false(0). If IndexRelationship is true(1), the many-one relationships that are created are indexed.

CascadeDeletes

Property CascadeDeletes As %Boolean [ InitialExpression = 0 ];

Input property to control if a %OnDelete method is generated for persistent classes in order to cascade deletes.

MakeNamespace

Property MakeNamespace As %Boolean;

Input property to control generation of XML namespace information. If true(1), add NAMESPACE parameter to generated classes. Default is false(0) unless there are multiple targetNamespaces in which case the default is true(1).

CompileClasses

Property CompileClasses As %Boolean [ InitialExpression = 1 ];

Input property to control compilation of created classes. Default is to compile classes.

CompileFlags

Property CompileFlags As %String [ InitialExpression = "dk" ];

Flags to be used for class compiles.

KeepEmptyClasses

Property KeepEmptyClasses As %Boolean [ InitialExpression = 0 ];

Input property to control removal of unused classes with no properties.
If true(1), remove unused classes with no properties.
Default is false(0).

KeepEmptyElements

Property KeepEmptyElements As %Boolean [ InitialExpression = 0, Internal ];

Input property to force creating classes for elements defined by referencing a type.
This property is only meant for internal usage by the SOAP wizard.

NoArrayProperties

Property NoArrayProperties As %Boolean [ InitialExpression = 0 ];

Input property to control use of arrays in created classes.
If true(1), do not reduce properties to use array of cnostruct.
Default is false(0).

GenerateXMLNIL

Property GenerateXMLNIL As %Boolean;

Input property to control the generation of the XMLNIL property parameter. If GenerateXMLNIL = 1, then generate property parameter XMLNIL=1 for elements with nillable="true".

GenerateXMLNILNOOBJECT

Property GenerateXMLNILNOOBJECT As %Boolean;

Input property to control the generation of the XMLNILNOOBJECT property parameter. If GenerateXMLNILNOOBJECT = 1, then generate property parameter XMLNILNOOBJECT=1 for elements with nillable="true".

AddIdentity

Property AddIdentity As %String;

Input property to optionally add an identity property to persistent classes that contains an ID, OID or GUID. Possible values for AddIdentity are "" (none), "ID", "OID" or "GUID".

PackageMapping

Property PackageMapping As %String [ MultiDimensional ];

User supplied mapping of namespaces to package names which will override the default package used for a specified namespace.
The format is PackageMapping(namespace)=package for each mapped namespace
If package="", then the client classes are put in the default package. If package begins with a period (.), then the package is appended to the default package. Otherwise the package is used as specified.
The PackageMapping property may only be used with the Process method.

SSLConfiguration

Property SSLConfiguration As %String;

The name of the activated TLS/SSL configuration to use for https requests.

SSLCheckServerIdentity

Property SSLCheckServerIdentity As %Boolean;

When making an SSL connection check the server identity in the server certificate matches the name of the system we are connecting to. This defaults to being on and matches based on the rules layed out in section 3.1 of RFC 2818.

SAXFlags

Property SAXFlags As %Integer [ InitialExpression = {$$$SAXFULLDEFAULT+$$$SAXVALIDATIONPROHIBITDTDS} ];

This property should be set to a combination of flags (see %occSAX.inc for details) if the default behavior of the parser is required to be modified. The $$$SAXVALIDATIONPROHIBITDTDS flag is added by default in order to not allow DTDs.

EntityResolver

Property EntityResolver As %XML.SAX.EntityResolver;

This property should be set to an instance of %XML.SAX.EntityResolver OR a user-defined subclass IF the default EntityResolver is not required.

HttpRequest

Property HttpRequest As %Net.HttpRequest [ Internal ];

The %Net.HttpRequest instance to be used for all web requests for schema documents. This property may optionally be set by the caller in order to specify %Net.HttpRequest properties Username, ProxyPort, etc.

Debug

Property Debug As %Integer [ InitialExpression = 0 ];

Control display of debugging info Debug level. Additional output for levels >0. Default is 0.

TestFlag

Property TestFlag As %Boolean [ InitialExpression = 0 ];

Control test mode. If true, make output repeatable for unit test, e.g. no dates. Default is false(0).

Tree

Property Tree As %Integer [ Internal ];

Integer tree id within ^IRIS.Temp This property is for internal use only. 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 property.

ElCount

Property ElCount As %Integer [ InitialExpression = 0, Internal ];

Number of elements in ElTree. This property is for internal use only. 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 property.

ElIndex

Property ElIndex As %String [ Internal, MultiDimensional ];

Index of named tags used to resolve refs:
ElIndex(name) = elno
This gets built by the Parser This property is for internal use only. 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 property.

TypeIndex

Property TypeIndex As %String [ Internal, MultiDimensional ];

Index of class XML type to # in class tree This property is for internal use only. 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 property.

ClassIndex

Property ClassIndex As %String [ Internal, MultiDimensional, Private ];

Index of class name to # in class tree This property is for internal use only. 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 property.

ClassCount

Property ClassCount As %Integer [ Internal, MultiDimensional, Private ];

Count of how many times we've found a given class name This property is for internal use only. 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 property.

ClassOrder

Property ClassOrder As %String [ Internal, MultiDimensional, Private ];

Index of class # in order of who-uses-who This property is for internal use only. 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 property.

ElementSrc

Property ElementSrc As %String [ Internal, MultiDimensional ];

List of element sources. The src field is index into this array. This property is for internal use only. 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 property.

Elements

Property Elements As %Integer [ Internal, MultiDimensional ];

Index into all top level elements. This property is for internal use only. 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 property.

CurrentPackage

Property CurrentPackage As %String [ Internal, Private ];

Name of current package, if any. This property is for internal use only. 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 property.

CurrentNamespace

Property CurrentNamespace As %String [ Internal, Private ];

The current namespace, if any. This property is for internal use only. 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 property.

DefaultPackage

Property DefaultPackage As %String [ Internal ];

Name of default package, if any. This property is for internal use only. 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 property.

Visits

Property Visits As %String [ Internal, MultiDimensional, Private ];

List of elements that have already been processed (used for cycle detection) This property is for internal use only. 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 property.

TraceFile

Property TraceFile As %String [ Internal, Private ];

The output trace file (if any) used for debugging. This property is for internal use only. 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 property.

SchemaId

Property SchemaId As %String [ Internal ];

The subscript used if this schema has been saved to disk. This property is for internal use only. 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 property.

NSInfo

Property NSInfo As %String [ Internal, MultiDimensional ];

Info on XML namespaces:
NSInfo(#,"uri")= uri
NSInfo(#,"Package")= package
NSInfo(#,"msdata")= 1, if Microsoft dataset in namespace
NSInfo(#,"ElementQualified")= 1, if elementFormDefault = true
NSInfo(#,"AttributeQualified")= 1, if attributeFormDefault = true
NSInfo(#,"Prefix") = fixedprefix NSInfo(#,"NoClassPrefix") = 1 if no prefix because default namespace This property is for internal use only. 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 property.

NSIndex

Property NSIndex As %String [ Internal, MultiDimensional ];

Index of Namespace uri to Namespace #:
NSIndex(uri) = num This property is for internal use only. 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 property.

TargetNS

Property TargetNS As %String [ Internal ];

Target namespace for the containing Schema This property is for internal use only. 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 property.

MultipleTargetNS

Property MultipleTargetNS As %Boolean [ Internal ];

True if multiple targetNamepsace's are defined. This property is for internal use only. 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 property.

Includes

Property Includes As %String [ Internal, MultiDimensional ];

List of include files: an array subscripted by filename and namespace; nodes are set to 1 when they are processed
On Windows, the filename subscript is always lower case. ..Includes(filename,ns) = "" or 1 for include This property is for internal use only. 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 property.

ClassPrefix

Property ClassPrefix As %String [ Internal ];

Optional prefix (first part of package name--sans dot-- for all generated classes) If we are reading a WSDL, this gets set from the content handler... This property is for internal use only. 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 property.

NoClassPrefix

Property NoClassPrefix As %Boolean [ Internal ];

Set NoClassPrefix=1 to prevent setting ClassPrefix from the WSDL.

NoNamespaceElementQualified

Property NoNamespaceElementQualified As %Boolean [ Internal ];

ElementQualified for no namespace

NoNamespaceAttributeQualified

Property NoNamespaceAttributeQualified As %Boolean [ Internal ];

AttributeQualified for no namespace

namesUpper

Property namesUpper As %Boolean [ Internal, MultiDimensional ];

Class names in upper case

names25

Property names25 As %Boolean [ Internal, MultiDimensional ];

Class names restricted to max unique length

Methods

GetElementQualified

Method GetElementQualified(namespace As %String) As %Boolean [ Internal ]

Get elementqualified for the specified namespace This method is for internal use only. 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 property.

GetAttributeQualified

Method GetAttributeQualified(namespace As %String) As %Boolean [ Internal ]

Get attributequalified for the specified namespace This method is for internal use only. 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 property.

AddNS

Method AddNS(uri As %String, prefix As %String, elementQualified As %Boolean, attributeQualified As %Boolean) [ Internal ]

Add a namespace to our list of known namespaces This method is for internal use only. 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 property.

%OnNew

Method %OnNew(initvalue As %RawString) As %Status [ Internal, Private ]

This method is for internal use only. 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 property.

Reset

Method Reset()

Reset this class instance for reuse.

%OnClose

Method %OnClose() As %Status [ Internal, Private ]

This method is for internal use only. 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 property.

HasSubElements

Method HasSubElements(elno As %Integer) As %Boolean [ Internal, Private ]

Test if element elno has any sub-elements This method is for internal use only. 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 property.

HasSingleSubElement

Method HasSingleSubElement(elno As %Integer) As %Boolean [ Internal, Private ]

Test if sequence elno contains exactly one element This method is for internal use only. 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 property.

ProcessSchema

ClassMethod ProcessSchema(LocationURL As %String, Package As %String, Debug As %Integer = 0, TestFlag As %Boolean = 0, MakeRelationships As %Boolean = 1, MakeNamespace As %Boolean = 0, Output Reader As SchemaReader, compileFlags As %String) As %Status [ Deprecated, Internal ]

Deprecated command line interface to Schema Wizard Use Process method This method is for internal use only. 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 property.

Process

Method Process(LocationURL As %String, Package As %String = "Test", ByRef Features As %String) As %Status

Command line interface to Schema Wizard LocationURL is the filename or the URL of an XML schema. Package is the name of the package in which the method should place the generated classes. Features is a Multidimensional Array to Store Additional Settings. 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

XSchema

Method XSchema(locationURL As %String, filepath As %String) As %Status

Command line interface to create an internal XSchema format file from an XML schema.
locationURL is the location of the input XML schema.
filepath is the file path for the new file containing the XSchema.

FixElementRefClassName

Method FixElementRefClassName() [ Internal, Private ]

Fix classname of element references Cannot set classname until this late to allow class to be created. This method is for internal use only. 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 property.

FixReferences

Method FixReferences() [ Internal, Private ]

Loop over the initial parsetree and fix up any refs This method is for internal use only. 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 property.

PreParseSchema

Method PreParseSchema(filename As %String, url As %String = "", ByRef multipleNamespace As %Boolean, ByRef noSchema As %Boolean) As %Status [ Internal ]

Invoked by the Wizard to find all referenced namespaces This method is for internal use only. 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 property.

PreParseLocation

Method PreParseLocation(location As %String) As %Status [ Internal ]

Invoked by the EnsLib.EDI.XML.SchemaXSD:Import() method... This method is for internal use only. 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 property.

ParseSchema

Method ParseSchema(filename As %String, url As %String = "") As %Status [ Internal ]

Invoked by the Wizard to actually create classes... This method is for internal use only. 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 property.

ProcessIncludes

Method ProcessIncludes() As %Status [ Internal, Private ]

Process the include and/or import files for this schema This method is for internal use only. 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 property.

Trace

Method Trace(method As %String, elno As %Integer = "", cls As %Integer = "", prop As %Integer = "") [ Internal, Private ]

This method is for internal use only. 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 property.

TraceMsg

Method TraceMsg(msg As %String, elno As %Integer = "") [ Internal, Private ]

This method is for internal use only. 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 property.

Save

Method Save() As %String [ Internal ]

Save the class tree to disk; Returns the SchemaId This method is for internal use only. 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 property.

Open

ClassMethod Open(id As %String) As SchemaReader [ Internal ]

Retreive a class tree from disk This method is for internal use only. 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 property.

OpenSetup

Method OpenSetup(id As %String) As SchemaReader [ Internal ]

Setup a class tree after open from disk This method is for internal use only. 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 property.

Delete

ClassMethod Delete(id As %String) [ Internal ]

Delete a class tree from disk This method is for internal use only. 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 property.

WizardSetClassType

Method WizardSetClassType(cls As %String, type As %String) [ Internal ]

Set class type for XML Schema Wizard This method is for internal use only. 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 property.

WizardAddIndex

Method WizardAddIndex(cls As %String, pname As %String) [ Internal ]

Add an index to a property for the XML Schema Wizard This method is for internal use only. 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 property.

RemoveClassFromList

Method RemoveClassFromList(key As %String)

Remove a class from the list of classes This method is for internal use only. 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 property.

GetCacheElement

Method GetCacheElement(pNamespace, pTypeName, ByRef pCacheType, ByRef pTypeNamespace As %String, Output elno) As %Status [ Internal ]

Get element given namespace and element name for WSDL reader This method is for internal use only. 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 property.

GetCacheType

Method GetCacheType(pNamespace, pTypeName, ByRef pCacheType, Output key) As %Status [ Internal ]

Get ObjectScript type given namespace and typename for WSDL reader This method is for internal use only. 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 property.

CheckDepth

Method CheckDepth() [ Internal, Private ]

Check the depth of the ELTree (for debugging) This method is for internal use only. 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 property.

RemoveDuplicateClasses

Method RemoveDuplicateClasses() As %Boolean [ Internal, Private ]

There may be duplicate class definitions; this method will remove the extras. This method is for internal use only. 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 property.

CorrectClassNames

Method CorrectClassNames() [ Internal, Private ]

Correct names of any potential duplicate classes who were created with a name containing a "/" This method is for internal use only. 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 property.

AreClassesDuplicate

Method AreClassesDuplicate(clsA As %Integer, clsB As %Integer) As %Boolean [ Internal, Private ]

Test if the two classes are duplicate This method is for internal use only. 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 property.

ProcessDatasets

Method ProcessDatasets() [ Internal, Private ]

Process Microsoft .Net datasets Compute Rowspec and remove classes. This method is for internal use only. 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 property.

RemoveTemporaryClasses

Method RemoveTemporaryClasses() [ Internal ]

Remove any empty classes created for elements defined by type reference. For use only by the SOAP wizard

ReduceClasses

Method ReduceClasses() [ Internal, Private ]

Loop over class tree and try to simplify it. This method is for internal use only. 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 property.

ReducePairClasses

Method ReducePairClasses() [ Internal, Private ]

Loop over class tree and try to simplify pair classes for arrays.

FixClassNames

Method FixClassNames(fixTemporary As %Boolean = 0) As %Status [ Internal, Private ]

Loop over potential classes: Fix any class or member names that are too long... This method is for internal use only. 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 property.

FixClassReferences

Method FixClassReferences(classKey As %Integer, newClassName As %String) [ Internal, Private ]

Fix references to a class This method is for internal use only. 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 property.

RemoveClassNamespace

Method RemoveClassNamespace() As %Status [ Internal, Private ]

Loop over potential classes: Remove NAMESPACE parameter from classes This method is for internal use only. 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 property.

HasSubClasses

Method HasSubClasses(cls As %Integer, tempTest As %Boolean = 0) As %Boolean [ Internal, Private ]

Test if a class has any subclasses This method is for internal use only. 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 property.

SetClassType

Method SetClassType(cls As %Integer) [ Internal ]

Set class type: persistent, serial or registered This method is for internal use only. 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 property.

MakeNameUnique

Method MakeNameUnique(cls As %Integer, prop As %Integer, ByRef name As %String, ByRef namesUpper)

Make property name different than the specified name

FixupClasses

Method FixupClasses() [ Internal, Private ]

Loop over classes for final fixups. This method is for internal use only. 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 property.

GetSuperDatatype

Method GetSuperDatatype(type As %String, Output hasXSDToLogical) As %String [ Internal ]

Determine ultimate super type of a datatype class

FixPropertyNames

Method FixPropertyNames() [ Internal, Private ]

Walk the class tree and make sure that all properties are less 32 characters long. This method is for internal use only. 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 property.

FindRelationships

Method FindRelationships(parentChildRelationship As %Boolean, indexRelationship As %Boolean) [ Internal ]

Walk the class tree and change collections into relationships where appropriate. This method is for internal use only. 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 property.

FindProperties

Method FindProperties(cls As %Integer, ByRef proplist, ByRef proporder, removeDuplicates As %Boolean = 0) [ Internal ]

Get a list of all the properties for this class and its super classes This method is for internal use only. 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 property.

FindCompileAfter

Method FindCompileAfter() [ Internal, Private ]

Mark classes with Compile After as required to have datatypes compile first. This method is for internal use only. 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 property.

BuildClassInfo

Method BuildClassInfo() [ Internal, Private ]

Decorate the class tree This method is for internal use only. 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 property.

ShowClasses

Method ShowClasses() [ Internal ]

Display classes to console This method is for internal use only. 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 property.

MakeSOAPHeader

Method MakeSOAPHeader(elementNamespace As %String, elementName As %String, isType As %Boolean, use As %String, ByRef parameterType As %String) As %Boolean [ Internal ]

Make the class associated with an top element or type be a SOAP header. This entry point is used by %SOAP.WSDL.Reader to build header classes. This method is for internal use only. 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 property.

GetElementProperties

Method GetElementProperties(elementNamespace As %String, elementName As %String, ByRef output, ByRef parameterType As %String, ByRef elno As %String, isType As %Boolean) As %Status [ Internal ]

Get a top element in the form that may be used to build an argument list in the form: output(i) = output(i,"type") = This entry point is used by %SOAP.WSDL.Reader to build document/literal methods. This method is for internal use only. 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 property.

AddNewClass

Method AddNewClass(elno As %Integer, name As %String, type As %String, ByRef uri As %String, target As %String = "") As %Boolean [ Internal, Private ]

Add a new class entry to the Class
target is optional target namespace (if not default). This method is for internal use only. 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 property.

MakeClassName

Method MakeClassName(name As %String) [ Internal, Private ]

Convert a schema name to a valid class name This method is for internal use only. 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 property.

MakePropName

ClassMethod MakePropName(name As %String, ByRef xmlname) [ Internal ]

Convert a schema name to a valid property name This method is for internal use only. 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 property.

FindClassType

Method FindClassType(key As %Integer, ByRef visits As %String) As %String [ Internal ]

Find the class type (persistent, etc.) for class with key key. This method is for internal use only. 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 property.

TypeToClass

Method TypeToClass(itype As %String, ByRef isdt As %Boolean, ByRef xmlname) As %String [ Internal ]

Convert an XML type to a class name This method is for internal use only. 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 property.

isAnyType

Method isAnyType(type As %String) As %Boolean [ Internal, Private ]

Test if this is type xsd:anyType

isString

Method isString(type As %String) As %Boolean [ Internal, Private ]

Test if this is type %String

IsXMLSchemaNS

ClassMethod IsXMLSchemaNS(uri As %String) As %Boolean [ Internal ]

Test if this uri is the XML Schema uri This method is for internal use only. 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 property.

XSTypeToClass

ClassMethod XSTypeToClass(type As %String) As %String [ Internal, Private ]

Convert an XSD datatype to an ObjectScript type. This method is for internal use only. 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 property.

ProcessTree

Method ProcessTree() [ Internal, Private ]

Loop over top level of schema This method is for internal use only. 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 property.

CycleCheck

Method CycleCheck(elno As %Integer, msg As %String = "") [ Internal, Private ]

Check for cycles in schema This method is for internal use only. 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 property.

ProcessTopElement

Method ProcessTopElement(elno As %Integer) [ Internal, Private ]

Process topmost elements (children of schema) This method is for internal use only. 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 property.

GetElementNamespace

Method GetElementNamespace(elno As %Integer) As %String [ Internal, Private ]

Get the namespace for a member based on the name This method is for internal use only. 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 property.

ProcessSequence

Method ProcessSequence(elno As %Integer, cls As %Integer, choice As %Boolean, containerMinOccurs As %Integer = 1, containerMaxOccurs As %String = 1, mixed As %Boolean = 0) [ Internal, Private ]

Process elements for a sequence This method is for internal use only. 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 property.

ProcessElement

Method ProcessElement(elno As %Integer, cls As %Integer, prop As %String = "", mixed As %Boolean = 0) [ Internal, Private ]

Process child elements for a suspected class This method is for internal use only. 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 property.

MakeSoapArray

Method MakeSoapArray(cls As %Integer, pno As %Integer, arraytype As %String) [ Internal, Private ]

Create dummy property and mark class as a SOAP array This method is for internal use only. 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 property.

ProcessAttributeGroup

Method ProcessAttributeGroup(elno As %Integer, cls As %Integer) [ Internal, Private ]

Process child elements of an attributeGroup This method is for internal use only. 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 property.

ProcessSimpleType

Method ProcessSimpleType(elno As %Integer, cls As %Integer, prop As %String = "") [ Internal, Private ]

Process child elements for a simpleType This method is for internal use only. 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 property.

ProcessAttribute

Method ProcessAttribute(elno As %Integer, cls As %Integer, prop As %String = "") [ Internal, Private ]

Process child elements for an attribute This method is for internal use only. 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 property.

ProcessSimpleContent

Method ProcessSimpleContent(elno As %Integer, cls As %Integer, prop As %String = "") [ Internal, Private ]

Process child elements for a simpleContent This method is for internal use only. 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 property.

ProcessComplexContent

Method ProcessComplexContent(elno As %Integer, cls As %Integer, prop As %String = "") [ Internal, Private ]

Process child elements for a complexContent This method is for internal use only. 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 property.

ProcessRestrictList

Method ProcessRestrictList(elno As %Integer, parentElno As %Integer, cls As %Integer, prop As %String = "", ByRef enumSep As %String) [ Internal, Private ]

Process elements for a restriction This method is for internal use only. 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 property.

DetermineEnumSeparator

Method DetermineEnumSeparator(elno As %Integer) As %String

ProcessAnnotation

Method ProcessAnnotation(elno As %Integer, cls As %Integer, prop As %String = "") [ Internal, Private ]

Process an annotation element This method is for internal use only. 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 property.

getPackage

Method getPackage(classname As %String) As %String [ CodeMode = expression, Internal, Private ]

Get package part of class name. This method is for internal use only. 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 property.