Learning
Documentation
Community
Open Exchange
Global Masters
Home / Class Reference / ENSLIB namespace / %XML.Utils.SchemaHandler
Private  Storage   

%XML.Utils.SchemaHandler


class %XML.Utils.SchemaHandler extends
%XML.SAX.ContentHandler

A SAX content handler that processes XML Schema files.
This class is used by the XML Schema Wizard; it is not for direct use within applications. 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
10 11


Summary


Properties
ElStack InSchema Included Level PrefixMap
Reader SourceName TargetNS 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
GetFullPath LocatePosition Mask OnPostParse
ParseFile ParseStream ParseURL PopHandler
PushHandler UnpackAttrs characters comment
endCDATA endDTD endDocument endElement
endEntity endPrefixMapping error fatalError
ignorableWhitespace processingInstruction skippedEntity startCDATA
startDTD startDocument startElement startEntity
startPrefixMapping warning


Properties


• property ElStack as %String [ MultiDimensional ];
Stack of parsed elements.
Each entry contains: $LB(local, elno)
• property InSchema as %Boolean [ InitialExpression = 0 ];
Are we in a schema?
• property Included as %Boolean;
included or imported schema being processed
• property Level as %Integer [ InitialExpression = 0 ];
Stack level
• property PrefixMap as %String [ MultiDimensional ];
List of namespace prefixes and their mappings
PrefixMap(prefix) = uri
PrefixMap(prefix,#) = uri (for "stacked" prefixes)
• property Reader as SchemaReader;
The SchemaReader that invoked us.
• property SourceName as %String;
The file we are parsing
• property TargetNS as %String;
current target namespace for this schema
• property Tree as %Integer;
Integer tree id within ^IRIS.Temp

Methods


• classmethod GetFullPath(base As %String, file As %String) as %String
• classmethod ParseFile(filename As %String, reader As SchemaReader, target As %String = "", bInclude As %Boolean = 0) as %Status
Parse an XML Schema file
• classmethod ParseStream(stream As %AbstractStream, reader As SchemaReader) as %Status
Parse an XML Schema stream
• classmethod ParseURL(url As %String, reader As SchemaReader, target As %String = "", bInclude As %Boolean = 0) as %Status
Parse an XML Schema from a URL
• method UnpackAttrs(attrs As %List, ByRef array As %String)
Converts list of attrs into an array keyed by attr name
• method characters(chars As %Library.String, length As %Library.Integer)
Receive notification of character data inside an element.

By default, do nothing. Application writers may override this method to take specific actions for each chunk of character data (such as adding the data to a node or buffer, or printing it to a file).

  • chars: The characters.
  • length: The number of characters to use from the character array.
• method endElement(uri As %Library.String, local As %Library.String, qname As %Library.String)
Receive notification of the end of an element.

By default, do nothing. Application writers may override this method in a subclass to take specific actions at the end of each element (such as finalising a tree node or writing output to a file).

  • uri: The URI of the associated namespace for this element
  • localname: The local part of the element name
  • qname: The QName of this element

• method endPrefixMapping(prefix As %Library.String)
Receive notification of the end of an namespace prefix mapping.

By default, do nothing. Application writers may override this method in a subclass to take specific actions at the end of each namespace prefix mapping.

  • prefix: The namespace prefix used

• method startDocument()
Receive notification of the beginning of the document.

By default, do nothing. Application writers may override this method in a subclass to take specific actions at the beginning of a document (such as allocating the root node of a tree or creating an output file)

• method startElement(uri As %Library.String, local As %Library.String, qname As %Library.String, attrs As %List)
Receive notification of the start of an element.

By default, do nothing. Application writers may override this method in a subclass to take specific actions at the start of each element (such as allocating a new tree node or writin output to a file).

  • uri: The URI of the associated namespace for this element
  • localname: the local part of the element name
  • qname: the QName of this element
  • attrs: a list in $List format consisting of a repeating group of attributes.

The format of the repeating group is as follows:

  • +0 - uri: The URI of the associated namespace for this attribute
  • +1 - localname: The local part of the name of this attribute
  • +2 - qname: The QName of this attribute
  • +3 - type: The type of this attribute ("CDATA", NMTOKEN", "ENTITY", etc.)
  • +4 - value: The value of this attribute

• method startPrefixMapping(prefix As %Library.String, uri As %Library.String)
Receive notification of the start of an namespace prefix mapping.

By default, do nothing. Application writers may override this method in a subclass to take specific actions at the start of each namespace prefix mapping.

  • prefix: The namespace prefix used
  • uri: The namespace URI used.