A Tcl interface to expat.
Steve Ball, Zveno Pty Ltd.
This package provides a Tcl interface to James Clark's expat library.
It creates a Tcl package, called "expat", which defines a single
new Tcl command "expat".
See for more information
on XML support for Tcl.
INSTALLATION
============
Unix/Linux
----------
You must have Tcl/Tk version 8.0p2 or 8.1a2 installed on your system.
TclExpat has been setup to use Tcl's configuration to make compilation
easy. Simply point TclExpat's Makefile at the Tcl configuration file:
/bin/sh '. /usr/local/tcl/lib/tclConfig.sh ; make -e'
where "/usr/local/tcl" is the installation path for Tcl.
To install the package in the first available directory in the Tcl package
path use the command below. You may need to be root to do this.
/bin/sh '. /usr/local/tcl/lib/tclConfig.sh ; make -e install'
Macintosh
---------
The source must be compiled against the Tcl/Tk version 8.0p2 release.
A pre-compiled shareware distribution is available from Zveno, see below.
Windows
-------
The source must be compiled against the Tcl/Tk version 8.0p2 release.
A pre-compiled shareware distribution is available from Zveno, see below.
SHAREWARE
=========
Binary distributions for the Macintosh and Windows platforms are available
from Zveno. See
USAGE
=====
The package is loaded using:
package require expat 1.0
This package defines the "expat" command which is used to create a
parser. It accepts the following arguments:
expat parserName ?option value...?
If no "parserName" argument is given then a unique name is chosen.
The name of the newly created parser is returned and a new Tcl command
of the same name is created to manipulate the parser.
The parser command accepts the following methods:
$parser cget -option
Returns the current value of an option.
$parser configure -option value ?-option value...?
Sets configuration options.
$parser parse xml
Parses the XML data given by "xml". This will
cause Tcl callback scripts to be invoked, if they
have been configured.
If the document is not well-formed then the command
returns an error.
$parser reset
Resets the parser. Call this method before parsing
a new document.
The following options are accepted:
-elementstartcommand command
Defines a callback script which is invoked
when the start of an element is found in the
document. The following arguments are appended
to the string before it is evaluated:
command name attributelist
"name" is the name of the element.
"attributelist" is the attribute list for the element.
-elementendcommand command
Defines a callback script which is invoked
whenever an element is closed in the document.
The following arguments are appended to the string
before it is evaluated:
command name
"name" is the name of the element.
-characterdatacommand command
Defines a callback script which is invoked whenever
character data is encountered in the document.
The following arguments are appended to the string
before it is evaluated:
command data
"data" is the character data found in the document.
-processinginstructioncommand command
Defines a callback script which is invoked whenever
a processing instruction is encountered in the document.
The following arguments are appended to the string
before it is evaluated:
command target data
"target" is the target of the PI.
"data" is additional data found in the PI.
-externalentitycommand command
Defines a callback script which is invoked whenever
an externally parsed general entity is encountered
in the document. The following arguments are appended
to the string before it is evaluated:
command names base systemid publicid
"names" is a list of the open entity names.
"base" is a URL to be used for resolving relative URLs.
"systemid" is the system identifier specified in the entity declaration
"publicid" is the public identifier specified in the entity declaration
-defaultcommand command
Invoked when no other callback has been defined for a
document feature which has been encountered.
-unparsedentitydeclcommand command
Invoked when an unparsed entity declaration is encountered.
-notationdeclcommand command
Invoked when a notation declaration is encountered.
-unknownencodingcommand command
Invoked when a character is encountered which has an
unknown encoding.
-baseurl URL
Specifies a base URL to use for resolving relative URLs.
-final boolean
Specifies whether more data is to be parsed.
Callback scripts
Tcl callback scripts may use the "break", "continue" and "error" commands
to alter the flow of control.
break
Suppresses invocation of further callback scripts.
continue
Suppresses invocation of further callback scripts
until the current element has finished.
error
Suppresses invocation of further callback scripts.
The parser also returns an error condition.