4Suite API Documentation

Module Ft.Xml.XPath

4XPath initialization and principal functions
Copyright 2005 Fourthought, Inc. (USA).
Detailed license and copyright information: http://4suite.org/COPYRIGHT
Project home, documentation, distributions: http://4suite.org/
Classes:
Functions:
Globals:

Modules

4XPath-specific extension functions
The context of an XPath expression
The context of an XPath expression
The implementation of the XPath object type conversions.
The implementation of the core functions from XPath 1.0.
4XPath-specific math extension functions
XPath error codes and messages
A parsed token that represents an abbreviated absolute location path.
A parsed token that represents a abbreviated relative location path.
A Parsed Token that represents a absolute location path in the parsed tree. WWW: http://4suite.org/XPATH e-mail: support@4suite.org
A parsed token that represents an axis specifier.
The implementation of parsed XPath expression tokens.
A parsed token that represents a node test.
A parsed token that represents a predicate list.
A parsed token that represents a relative location path in the parsed result tree. Copyright 2005 Fourthought, Inc. (USA). Detailed license and copyright information: http://4suite.org/COPYRIGHT Project home, documentation, distributions: http://4suite.org/
A parsed token that represents a step.
General utilities for XPath applications
Mappings between Python types and standard XPath object types

Classes

class CompiletimeException(XPathException)
The exception raised when an error is encountered during the parsing or compilation of an XPath expression.

Methods

__init__(self, errorCode, *args, **kwds)
Overrides: __init__ from class XPathException

Methods inherited from class Ft.FtException

Methods inherited from class Exception

__getitem__

Members

INTERNAL = 1
SYNTAX = 2
class RuntimeException(XPathException)
The exception raised when an error is encountered during the parsing or evaluation of an XPath expression.

Methods

__init__(self, errorCode, *args, **kwds)
Overrides: __init__ from class XPathException

Methods inherited from class Ft.FtException

Methods inherited from class Exception

__getitem__

Members

ARGCOUNT_ATLEAST = 202
ARGCOUNT_ATMOST = 204
ARGCOUNT_EXACT = 203
ARGCOUNT_NONE = 201
INTERNAL = 1
NO_CONTEXT = 10
UNDEFINED_FUNCTION = 102
UNDEFINED_PREFIX = 101
UNDEFINED_VARIABLE = 100
WRONG_ARGUMENTS = 200
class XPathException(Ft.FtException)
Base class for exceptions specific to XPath processing

Methods

__init__(self, errorCode, messages, *args, **kwds)
Overrides: __init__ from class FtException

Methods inherited from class Ft.FtException

Methods inherited from class Exception

__getitem__

Functions

Compile(expr)
Given an XPath expression as a string, returns an object that allows an evaluation engine to operate on the expression efficiently. This "compiled" expression object can be passed to the Evaluate function instead of a string, in order to shorten the amount of time needed to evaluate the expression.
Evaluate(expr, contextNode=None, context=None)
Evaluates the given XPath expression.
Two arguments are required: the expression (as a string or compiled
expression object), and a context. The context can be given as a
Domlette node via the 'contextNode' named argument, or can be given as
an Ft.Xml.XPath.Context.Context object via the 'context' named
argument.

If namespace bindings or variable bindings are needed, use a
Context object. If extension functions are needed, either use a
Context object, or set the EXTMODULES environment variable to be a
':'-separated list of names of Python modules that implement
extension functions.

The return value will be one of the following:
node-set: list of Domlette node objects (xml.dom.Node based);
string: Unicode string type;
number: float type;
boolean: Ft.Lib.boolean C extension object;
or a non-XPath object (i.e. as returned by an extension function).
NormalizeNode(node)
NormalizeNode is used to prepare a DOM for XPath evaluation.
1.  Convert CDATA Sections to Text Nodes.
2.  Normalize all text nodes (adjacent nodes are merged into the first one).
SimpleEvaluate(expr, node, explicitNss=None)
Designed to be the most simple/brain-dead interface to using XPath Usually invoked through Node objects using: node.xpath(expr[, explicitNss])
expr - XPath expression in string or compiled form
node - the node to be used as core of the context for evaluating the XPath
explicitNss - (optional) any additional or overriding namespace mappings
              in the form of a dictionary of prefix: namespace
              the base namespace mappings are taken from in-scope
              declarations on the given node.  This explicit dictionary
              is superimposed on the base mappings

Globals

FT_EXT_NAMESPACE = 'http://xmlns.4suite.org/ext'
NAMESPACE_NODE = 13
XPATH_NAMESPACE_NODE = 13