IRISLIB database
SchemaReader Class Reference

This class reads an XML schema and builds class definitions from it. More...

Inheritance diagram for SchemaReader:
Collaboration diagram for SchemaReader:

Public Member Functions

 MakeNameUnique (_.Library.Integer cls, _.Library.Integer prop, _.Library.String name, namesUpper)
 Make property name different than the specified name.
 
_.Library.Status Process (_.Library.String LocationURL, _.Library.String Package, _.Library.String Features)
 Command line interface to Schema Wizard. More...
 
 RemoveClassFromList (_.Library.String key)
 Remove a class from the list of classes. More...
 
 Reset ()
 Reset this class instance for reuse.
 
_.Library.Status XSchema (_.Library.String locationURL, _.Library.String filepath)
 Command line interface to create an internal XSchema format file from an XML schema. More...
 
- Public Member Functions inherited from RegisteredObject
_.Library.Status OnAddToSaveSet (_.Library.Integer depth, _.Library.Integer insert, _.Library.Integer callcount)
 This callback method is invoked when the current object is added to the SaveSet,. More...
 
_.Library.Status OnClose ()
 This callback method is invoked by the <METHOD>Close</METHOD> method to. More...
 
_.Library.Status OnConstructClone (_.Library.RegisteredObject object, _.Library.Boolean deep, _.Library.String cloned)
 This callback method is invoked by the <METHOD>ConstructClone</METHOD> method to. More...
 
_.Library.Status OnNew ()
 This callback method is invoked by the <METHOD>New</METHOD> method to. More...
 
_.Library.Status OnValidateObject ()
 This callback method is invoked by the <METHOD>ValidateObject</METHOD> method to. More...
 

Public Attributes

 AddIdentity
 Input property to optionally add an identity property to persistent classes. More...
 
 CascadeDeletes
 Input property to control if a OnDelete method is generated for persistent classes. More...
 
 CompileClasses
 Input property to control compilation of created classes. More...
 
 CompileFlags
 Flags to be used for class compiles. More...
 
 Debug
 Control display of debugging info. More...
 
 EntityResolver
 This property should be set to an instance of XML.SAX.EntityResolver OR a user-defined. More...
 
 GenerateXMLNIL
 Input property to control the generation of the XMLNIL property parameter. More...
 
 GenerateXMLNILNOOBJECT
 Input property to control the generation of the XMLNILNOOBJECT property parameter. More...
 
 IndexRelationship
 Input property to control nature of relationships in generated classes. More...
 
 KeepEmptyClasses
 Input property to control removal of unused classes with no properties. More...
 
 MakeNamespace
 Input property to control generation of XML namespace information. More...
 
 MakePersistent
 Input property to control persistence of generated classes. More...
 
 MakeRelationships
 Input property to control creation of relationships in generated classes. More...
 
 MakeSerial
 Input property to control if generated classes are serial. More...
 
 NoArrayProperties
 Input property to control use of arrays in created classes. More...
 
 PackageMapping
 User supplied mapping of namespaces to package names which will override the default. More...
 
 ParentChildRelationship
 Input property to control nature of relationships in generated classes. More...
 
 SAXFlags
 This property should be set to a combination of flags (see occSAX.inc for details) if. More...
 
 SSLCheckServerIdentity
 When making an SSL connection check the server identity in the server certificate matches the name of the system we are connecting to. More...
 
 SSLConfiguration
 The name of the activated TLS/SSL configuration to use for https requests. More...
 
 TestFlag
 Control test mode. More...
 

Additional Inherited Members

- Static Public Attributes inherited from RegisteredObject
 CAPTION = None
 Optional name used by the Form Wizard for a class when generating forms. More...
 
 JAVATYPE = None
 The Java type to be used when exported.
 
 PROPERTYVALIDATION = None
 This parameter controls the default validation behavior for the object. More...
 

Detailed Description

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.

Member Function Documentation

◆ Process()

_.Library.Status Process ( _.Library.String  LocationURL,
_.Library.String  Package,
_.Library.String  Features 
)

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

◆ RemoveClassFromList()

RemoveClassFromList ( _.Library.String  key)

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.      

◆ XSchema()

_.Library.Status XSchema ( _.Library.String  locationURL,
_.Library.String  filepath 
)

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.

Member Data Documentation

◆ AddIdentity

AddIdentity

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".  

◆ CascadeDeletes

CascadeDeletes

Input property to control if a OnDelete method is generated for persistent classes.

in order to cascade deletes.  

◆ CompileClasses

CompileClasses

Input property to control compilation of created classes.

Default is to compile classes.  

◆ CompileFlags

CompileFlags

Flags to be used for class compiles.

 

◆ Debug

Debug

Control display of debugging info.

Debug level. Additional output for levels >0. Default is 0.  

◆ EntityResolver

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.  

◆ GenerateXMLNIL

GenerateXMLNIL

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

GenerateXMLNILNOOBJECT

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".  

◆ IndexRelationship

IndexRelationship

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.  

◆ KeepEmptyClasses

KeepEmptyClasses

Input property to control removal of unused classes with no properties.


If true(1), remove unused classes with no properties.
Default is false(0).  

◆ MakeNamespace

MakeNamespace

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).  

◆ MakePersistent

MakePersistent

Input property to control persistence of generated classes.

If true(1) create persistent classes, else create registered classes.
Default is true.  

◆ MakeRelationships

MakeRelationships

Input property to control creation of relationships in generated classes.

If true(1), convert list collections of persistent classes to relationships. Default is true.  

◆ MakeSerial

MakeSerial

Input property to control if generated classes are serial.

If true(1) and 'MakePersistent create serial classes, else create registered classes. Default is true.  

◆ NoArrayProperties

NoArrayProperties

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).  

◆ PackageMapping

PackageMapping

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.  

◆ ParentChildRelationship

ParentChildRelationship

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.  

◆ SAXFlags

SAXFlags

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.  

◆ SSLCheckServerIdentity

SSLCheckServerIdentity

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.  

◆ SSLConfiguration

SSLConfiguration

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

 

◆ TestFlag

TestFlag

Control test mode.

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