Skip to main content

%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 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

Properties

property ElStack as %String [ MultiDimensional ];
Stack of parsed elements.
Each entry contains: $LB(local, elno)
Property methods: ElStackDisplayToLogical(), ElStackGet(), ElStackIsValid(), ElStackLogicalToDisplay(), ElStackLogicalToOdbc(), ElStackNormalize(), ElStackSet()
property InSchema as %Boolean [ InitialExpression = 0 ];
Are we in a schema?
Property methods: InSchemaDisplayToLogical(), InSchemaGet(), InSchemaIsValid(), InSchemaLogicalToDisplay(), InSchemaNormalize(), InSchemaSet()
property Included as %Boolean;
included or imported schema being processed
Property methods: IncludedDisplayToLogical(), IncludedGet(), IncludedIsValid(), IncludedLogicalToDisplay(), IncludedNormalize(), IncludedSet()
property Level as %Integer [ InitialExpression = 0 ];
Stack level
Property methods: LevelDisplayToLogical(), LevelGet(), LevelIsValid(), LevelLogicalToDisplay(), LevelNormalize(), LevelSet()
property PrefixMap as %String [ MultiDimensional ];
List of namespace prefixes and their mappings
PrefixMap(prefix) = uri
PrefixMap(prefix,#) = uri (for "stacked" prefixes)
Property methods: PrefixMapDisplayToLogical(), PrefixMapGet(), PrefixMapIsValid(), PrefixMapLogicalToDisplay(), PrefixMapLogicalToOdbc(), PrefixMapNormalize(), PrefixMapSet()
property Reader as SchemaReader;
The SchemaReader that invoked us.
Property methods: ReaderGet(), ReaderGetSwizzled(), ReaderIsValid(), ReaderNewObject(), ReaderSet()
property SourceName as %String;
The file we are parsing
Property methods: SourceNameDisplayToLogical(), SourceNameGet(), SourceNameIsValid(), SourceNameLogicalToDisplay(), SourceNameLogicalToOdbc(), SourceNameNormalize(), SourceNameSet()
property TargetNS as %String;
current target namespace for this schema
Property methods: TargetNSDisplayToLogical(), TargetNSGet(), TargetNSIsValid(), TargetNSLogicalToDisplay(), TargetNSLogicalToOdbc(), TargetNSNormalize(), TargetNSSet()
property Tree as %Integer;
Integer tree id within ^CacheTemp
Property methods: TreeDisplayToLogical(), TreeGet(), TreeIsValid(), TreeLogicalToDisplay(), TreeNormalize(), TreeSet()

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)
Inherited description: 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)
Inherited description: 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)
Inherited description: 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()
Inherited description: 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)
Inherited description: 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)
Inherited description: 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.

Inherited Members

Inherited Methods

FeedbackOpens in a new tab