Skip to main content

%XML.SAX.Utils.Recorder

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

Property Inventory

Method Inventory

Properties

property Target as %Library.Integer [ Final , InitialExpression = $Increment(^IRIS.Temp) ];
This class implements the DocumentHandler interface for use with the SAX Parser. The object is instantiated and passed a name of a local or global variable. The object is then passed as a parameter to the SAX Parser Parse method. During the parsing of the XML, the methods defined in the interface will be called. The methods work together to build a flattened representation of the XML document which can be replayed by the %XML.SAX.Replayer class
Property methods: TargetDisplayToLogical(), TargetGet(), TargetIsValid(), TargetLogicalToDisplay(), TargetNormalize(), TargetSet()

Methods

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 comment(chars As %String, length As %Integer)
Receive notification of comments.

The Parser will call this method to report each occurrence of a comment in the XML document.

The application must not attempt to read from the array outside of the specified range.

  • chars - The characters from the XML document.
  • length - The number of characters to read from the array.
Exceptions thrown: SAXException - Any SAX exception, possibly wrapping another exception.
method endCDATA()
Receive notification of the end of a CDATA section.

The SAX parser will invoke this method at the end of each CDATA parsed.

Exceptions thrown: SAXException - Any SAX exception, possibly wrapping another exception. /
method endDTD()
Receive notification of the end of the DTD declarations.

The SAX parser will invoke this method at the end of the DTD

Exceptions thrown: SAXException - Any SAX exception, possibly wrapping another exception. /
method endDocument()
Inherited description: Receive notification of the end 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 finalising a tree or closing an output file).

method endElement(uri As %Library.String, localname 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 asscioated namespace for this element
  • localname - The local part of the element name
  • qname - The QName of this element

method endEntity(name As %String)
Receive notification of the end of an entity.

The SAX parser will invoke this method at the end of an entity

  • name - The name of the entity that is ending.
Exceptions thrown: SAXException - Any SAX exception, possibly wrapping another exception.
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 error(error As %Library.String)
Receive notification of a recoverable parser error.

The default implementation does nothing. Application writers may override this method in a subclass to take specific actions for each error, such as inserting the message in a log file or printing it to the console.

  • error - The error information encoded as a string
method fatalError(fatalerror As %Library.String)
Report a fatal XML parsing error.

The default implementation throws an exeption Application writers may override this method in a subclass if they need to take specific actions for each fatal error (such as collecting all of the errors into a single report): in any case, the application must stop all regular processing when this method is invoked, since the document is no longer reliable, and the parser may no longer report parsing events.

  • fatalerror The error information encoded as a string

method ignorableWhitespace(chars As %Library.String, length As %Library.Integer)
Receive notification of ignorable whitespace in element content.

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

  • chars - The whitespace characters.
  • length - The number of characters to use from the character array.

method processingInstruction(target As %Library.String, data As %Library.String)
Receive notification of a processing instruction in element content.

Application writers may override this method in a subclass if they need to take specific actions for processing instruction.

  • target - The target of the processing instruction
  • data - The associated data

method skippedEntity(name As %Library.String)
Receive notification of a skipped entity

The parser will invoke this method once for each entity skipped. All processors may skip external entities, depending on the values of the features:

http://xml.org/sax/features/external-general-entities
http://xml.org/sax/features/external-parameter-entities

Introduced with SAX2

  • name - The name of the skipped entity. If it is a parameter entity, the name will begin with %, and if it is the external DTD subset, it will be the string [dtd].

method startCDATA()
Receive notification of the start of a CDATA section.

The SAX parser will invoke this method at the start of each CDATA parsed.

Exceptions thrown: SAXException - Any SAX exception, possibly wrapping another exception.
method startDTD(name As %String, publicId As %String, systemId As %String)
Receive notification of the start of the DTD declarations.

The SAX parser will invoke this method at the start of the DTD

  • name - The document type name.
  • publicId - The declared public identifier for the external DTD subset, or null if none was declared.
  • systemId - The declared system identifier for the external DTD subset, or null if none was declared.
Exceptions thrown: SAXException - Any SAX exception, possibly wrapping another exception.
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, localname As %Library.String, qname As %Library.String, attrs As %Library.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).

This method varies from the SAX2 published specification in that the 4th parameter attributes is not implemented, rather multiple calls will be made to the elementAttribute method instead

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

method startEntity(name As %String)
Receive notification of the start of an entity.

The SAX parser will invoke this method at the start of an entity

  • name - The name of the entity that is starting.
Exceptions thrown: SAXException - Any SAX exception, possibly wrapping another exception.
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.

method warning(warning As %Library.String)
Receive notification of a parser warning.

The default implementation does nothing. Application writers may override this method in a subclass to take specific actions for each warning, such as inserting the message in a log file or printing it to the console.

  • warning - The warning information encoded as a string

Inherited Members

Inherited Methods

FeedbackOpens in a new tab