org.apache.xalan.lib
Class ExsltStrings

java.lang.Object
  extended by org.apache.xalan.lib.ExsltBase
      extended by org.apache.xalan.lib.ExsltStrings

public class ExsltStrings
extends ExsltBase

This class contains EXSLT strings extension functions. It is accessed by specifying a namespace URI as follows:

    xmlns:str="http://exslt.org/strings"
 
The documentation for each function has been copied from the relevant EXSLT Implementer page.

See Also:
EXSLT

Nested Class Summary
private static class ExsltStrings.DocumentHolder
          This class is not loaded until first referenced (see Java Language Specification by Gosling/Joy/Steele, section 12.4.1) The static members are created when this class is first referenced, as a lazy initialization not needing checking against null or any synchronization.
 
Constructor Summary
ExsltStrings()
           
 
Method Summary
static java.lang.String align(java.lang.String targetStr, java.lang.String paddingStr)
          See above
static java.lang.String align(java.lang.String targetStr, java.lang.String paddingStr, java.lang.String type)
          The str:align function aligns a string within another string.
static java.lang.String concat(org.w3c.dom.NodeList nl)
          The str:concat function takes a node set and returns the concatenation of the string values of the nodes in that node set.
static java.lang.String padding(double length)
          See above
static java.lang.String padding(double length, java.lang.String pattern)
          The str:padding function creates a padding string of a certain length.
static org.w3c.dom.NodeList split(java.lang.String str)
          See above
static org.w3c.dom.NodeList split(java.lang.String str, java.lang.String pattern)
          The str:split function splits up a string and returns a node set of token elements, each containing one token from the string.
static org.w3c.dom.NodeList tokenize(java.lang.String toTokenize)
          See above
static org.w3c.dom.NodeList tokenize(java.lang.String toTokenize, java.lang.String delims)
          The str:tokenize function splits up a string and returns a node set of token elements, each containing one token from the string.
 
Methods inherited from class org.apache.xalan.lib.ExsltBase
toNumber, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExsltStrings

public ExsltStrings()
Method Detail

align

public static java.lang.String align(java.lang.String targetStr,
                                     java.lang.String paddingStr,
                                     java.lang.String type)
The str:align function aligns a string within another string.

The first argument gives the target string to be aligned. The second argument gives the padding string within which it is to be aligned.

If the target string is shorter than the padding string then a range of characters in the padding string are repaced with those in the target string. Which characters are replaced depends on the value of the third argument, which gives the type of alignment. It can be one of 'left', 'right' or 'center'. If no third argument is given or if it is not one of these values, then it defaults to left alignment.

With left alignment, the range of characters replaced by the target string begins with the first character in the padding string. With right alignment, the range of characters replaced by the target string ends with the last character in the padding string. With center alignment, the range of characters replaced by the target string is in the middle of the padding string, such that either the number of unreplaced characters on either side of the range is the same or there is one less on the left than there is on the right.

If the target string is longer than the padding string, then it is truncated to be the same length as the padding string and returned.

Parameters:
targetStr - The target string
paddingStr - The padding string
type - The type of alignment
Returns:
The string after alignment

align

public static java.lang.String align(java.lang.String targetStr,
                                     java.lang.String paddingStr)
See above


concat

public static java.lang.String concat(org.w3c.dom.NodeList nl)
The str:concat function takes a node set and returns the concatenation of the string values of the nodes in that node set. If the node set is empty, it returns an empty string.

Parameters:
nl - A node set
Returns:
The concatenation of the string values of the nodes in that node set

padding

public static java.lang.String padding(double length,
                                       java.lang.String pattern)
The str:padding function creates a padding string of a certain length. The first argument gives the length of the padding string to be created. The second argument gives a string to be used to create the padding. This string is repeated as many times as is necessary to create a string of the length specified by the first argument; if the string is more than a character long, it may have to be truncated to produce the required length. If no second argument is specified, it defaults to a space (' '). If the second argument is an empty string, str:padding returns an empty string.

Parameters:
length - The length of the padding string to be created
pattern - The string to be used as pattern
Returns:
A padding string of the given length

padding

public static java.lang.String padding(double length)
See above


split

public static org.w3c.dom.NodeList split(java.lang.String str,
                                         java.lang.String pattern)
The str:split function splits up a string and returns a node set of token elements, each containing one token from the string.

The first argument is the string to be split. The second argument is a pattern string. The string given by the first argument is split at any occurrence of this pattern. For example:

 str:split('a, simple, list', ', ') gives the node set consisting of: 

 a
 simple
 list
 
If the second argument is omitted, the default is the string ' ' (i.e. a space).

Parameters:
str - The string to be split
pattern - The pattern
Returns:
A node set of split tokens

split

public static org.w3c.dom.NodeList split(java.lang.String str)
See above


tokenize

public static org.w3c.dom.NodeList tokenize(java.lang.String toTokenize,
                                            java.lang.String delims)
The str:tokenize function splits up a string and returns a node set of token elements, each containing one token from the string.

The first argument is the string to be tokenized. The second argument is a string consisting of a number of characters. Each character in this string is taken as a delimiting character. The string given by the first argument is split at any occurrence of any of these characters. For example:

 str:tokenize('2001-06-03T11:40:23', '-T:') gives the node set consisting of: 

 2001
 06
 03
 11
 40
 23
 
If the second argument is omitted, the default is the string ' ' (i.e. whitespace characters).

If the second argument is an empty string, the function returns a set of token elements, each of which holds a single character.

Note: This one is different from the tokenize extension function in the Xalan namespace. The one in Xalan returns a set of Text nodes, while this one wraps the Text nodes inside the token Element nodes.

Parameters:
toTokenize - The string to be tokenized
delims - The delimiter string
Returns:
A node set of split token elements

tokenize

public static org.w3c.dom.NodeList tokenize(java.lang.String toTokenize)
See above