eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'XML::FastSAXDriver':

Home

everywhere
www.exept.de
for:
[back]

Class: FastSAXDriver (in XML)


Inheritance:

   Object
   |
   +--XML::FastSAXDriver

Package:
stx:goodies/xml/stx
Category:
XML-STX-SAX
Version:
rev: 1.11 date: 2010/04/26 17:02:50
user: cg
file: XML__FastSAXDriver.st directory: goodies/xml/stx
module: stx stc-classLibrary: stx
Author:
Claus Gittinger

Description:


A stripped-down, but much faster abstract superclass for XML-Parsers.
To use: subclass from this (FastSAXDriver) instead of from SAXDriver.
(whitebox API is the same).

Disadvantages:
    no namespaces;
    no defined entities;
    all hard coded.
    treats '.' and ':' as alpha-characters within a tag.

Advantages:
    super fast


Use at your own risk, and only for XML which is known to be valid (i.e., your own).


Class protocol:

instance creation
o  on: aStream beforeScanDo: aOneArgBlock


Instance protocol:

api
o  characters: characters
self halt.

o  endElement: tag namespace: alwaysNil1 prefix: alwaysNil2
self halt.

o  startElement: tag namespace: alwaysNil1 prefix: alwaysNil2 attributes: attsOrNil
self halt.

api-dummy
o  builder

o  documentLocator: ignored

o  driver

o  tagPosition: aStreamPosition
can be redefined to remember the startPosition

o  validate: doValidate

error handling
o  parseError: message

parsing
o  on: aStream beforeScanDo: aOneArgBlock

o  readAttribute: attsIn

o  readNextObject

o  readNextObject2

o  readTagOrAttributeName
a tag consiss of:
alphaNumericWords separated by '-', '.' or ':'s

o  unEscape: characters


Examples:


|decoder artefact| decoder := NewXMLArtifactDecoder on:(theArtifact at:2) asString readStream beforeScanDo:[:parser | parser builder driver dataBase:self. parser validate:false ]. artefact := decoder decodedObject.

ST/X 6.1.1; WebServer 1.620 at exept:8081; Tue, 22 May 2012 23:20:01 GMT