- BaseUri(context, arg=None)
-
Returns the base URI of the first node in the given node-set, or
of the context node if no argument is given. If the given node-set
is empty, an empty string is returned.
- BinPath(context)
-
Returns the system-dependent path of Fourthought binaries
- Decode(context, object, encoding)
-
f:decode mirrors the Python decode function/method. It takes a
foreign object that is a Python byte string, and an encoding,
and returns another foreign object which is a Unicode object.
- Encode(context, object, encoding)
-
f:encode mirrors the Python encode function/method. It takes a
foreign object that is a Unicode object, and an encoding,
and returns another foreign object which is a Python byte string.
- EndsWith(context, outer, inner)
-
Returns true if the string given in the first argument ends with
the substring given in the second argument.
- EnvVar(context, var)
-
Looks up a variable in the OS environment. Returns a string, either
the environment variable value or an empty string if there is no
such variable. The system default encoding is assumed.
CAUTION: Using this function could be a security hazard.
You can also use system-property() for the same purpose
f:env-var('foo')
is equivalent to
system-property('fs:foo')
given a mapping from fs to http://xmlns.4suite.org/xslt/env-system-property
- EscapeXml(context, text)
-
Returns the given string with XML markup characters "&", "<" and
">" escaped as "&", "<" and ">", respectively.
- GenerateUuid(context)
-
Returns a random UUID string.
- If(context, cond, v1, v2=None)
-
If the first argument, when converted to a boolean, is true,
returns the second argument. Otherwise, returns the third
argument, or if the third argument is not given, returns an
empty node-set.
- ImportString(context, object)
-
f:import-string takes a Unicode FO and returns an XPath string. It is
an error if the FO contains illegal XML chars. (although eventually
this function might be extended to recover from this error)
- Indent(context, text, levels, indentstring=None)
-
f:indent() returns a string with each line of the text indented the
given number of levels. For each level, the indent string, normally
2 spaces by default, is prepended to each line.
- Join(context, nodeset, delim=' ')
-
Concatenates the string-values of the nodes in the given node-set,
inserting the delimiter given in the optional second argument in
between each string-value. The delimiter defaults to a space.
See also: EXSLT's str:concat()
- Match(context, pattern, arg=None)
-
Returns true if the string given in the optional second argument
(or the string-value of the context node if no second argument is
given) matches the regular expression given in the first argument.
See also: EXSLT's regexp:test()
This function does differ from XSLT 2.0 match() function
- NormalizeEol(context, text)
-
Normalizes end-of-line characters in input string, returning the
normalized string. Normalization involves replacing "
", "
"
or "
" with "
"
- OsPath2Uri(context, path)
-
Returns the given OS path as a URI.
The result varies depending on the underlying operating system.
- ParseDate(context, date, format=None)
-
This function is similar to EXSLT's date:parse-date()
except that it uses Python rather than Java conventions
for the date formatting.
- ParseXml(context, src, parameters=None)
-
f:parse-xml() parses the string-value of the given object as XML
and returns a node-set whose sole item is the resulting parsed
document's root node. The XML must be a well-formed document.
src - the string or object to be parsed as XML.
parameters - the name of a parameter set for the operation.
The parameters argument is ignored for now. In the future, it
will provide a way to specify a base URI for the resolution of
relative URIs in entity declarations and XIncludes.
Also for now, if the XML contains an encoding declaration, the
declaration must specify UTF-8.
An example:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:f="http://xmlns.4suite.org/ext"
version="1.0"
>
<xsl:output method="text"/>
<xsl:variable name="doc"
select="'<spam>eggs<monty>python</monty></spam>'"/>
<xsl:template match="/">
<xsl:value-of select="f:parse-xml($doc)/spam/monty"/>
</xsl:template>
</xsl:stylesheet>
...run against any XML source should yield:
python
See also: XSLT (not XPath) extension function f:serialize-xml()
- PytimeToExslt(context, t=None)
-
Takes a Python time value as a number and returns a date/time as if
from EXSLT date-time()
t - a time stamp number, as from Python's time.time()
if omitted, use the current time
- Random(context, max=None, forceInt=0)
-
Returns a random number between 0 (inclusive) and max (exclusive).
max defaults to 1. The first optional argument is a different
value for max, and the second argument is a flag that, if set,
causes the random number to be rounded to an integer.
See also: EXSLT's math:random()
- Range(context, lo, hi)
-
Returns a node-set consisting of text nodes encapsulating integers
in the numeric range bounded by the given low and high values.
- Replace(context, old, new, arg=None)
-
Returns the third argument string, which defaults to the
string-value of the context node, with occurrences of the substring
given in the first argument replaced by the string given in the
second argument.
See also: EXSLT's str:replace()
- ResolvePath(context, base, rel)
-
Resolves a Posix-style path, such as the path portion of a URL,
against a base. Similar to f:resolve-url, but allows the base to be
just a path, not necessarily a full URL.
- ResolveUrl(context, base, rel)
-
Returns the relative URL ref given in the second argument
resolved against the base given in the first argument.
In case of URI processing error an empty string is returned
- ShaHash(context, text)
-
Returns a SHA message digest of the given string, as a string of
several groups of hex digits separated by '-'. See
http://www.itl.nist.gov/fipspubs/fip180-1.htm for info on SHA.
- SharePath(context)
-
Returns the system-dependent path to modifiable data
- Spawnv(context, command, *args)
-
Executes a command in the operating system's shell, passing in the
command line arguments separately. Returns the result of the command
(a numeric exit code, typically).
CAUTION: Using this function could be a security hazard.
See also: f:system()
- StrFTime(context, format, date=None)
-
Returns the given ISO 8601 UTC date-time formatted according to
the given format string as would be used by Python's
time.strftime(). If no date-time string is given, the current
time is used.
- System(context, command)
-
Executes a command in the operating system's shell and returns the
command's result (a numeric exit code, typically).
CAUTION: Using this function could be a security hazard.
See also: f:spawnv()
- Uri2OsPath(context, uri)
-
Returns the given URI as an OS path.
The result varies depending on the underlying operating system.
- Version(context)
-
Returns the 4Suite version number as a string.
- Wrap(context, text, width)
-
f:wrap() returns a string with the text reflowed so that each line
fits within the given width. Existing linefeeds are preserved, but
spaces are considered inter-word separators that can be collapsed.
To reflow without preserving existing linefeeds, strip them first,
e.g. with translate(text, ' ', '').
http://lists.fourthought.com/pipermail/4suite-dev/2002-December/000878.html