net.sf.saxon.event

Class HTMLURIEscaper

public class HTMLURIEscaper extends ProxyReceiver

This class is used as a filter on the serialization pipeline; it performs the function of escaping URI-valued attributes in HTML

Author: Michael H. Kay

Field Summary
protected intcurrentElement
protected booleanescapeURIAttributes
protected NamePoolpool
Method Summary
voidattribute(int nameCode, int typeCode, CharSequence value, int locationId, int properties)
Notify an attribute.
static CharSequenceescapeURL(CharSequence url, boolean normalize)
Escape a URI according to the HTML rules: that is, a non-ASCII character (specifically, a character outside the range 32 - 126) is replaced by the %HH encoding of the octets in its UTF-8 representation
booleanisUrlAttribute(int element, int attribute)
voidstartDocument(int properties)
Start of a document node.
voidstartElement(int nameCode, int typeCode, int locationId, int properties)
Notify the start of an element

Field Detail

currentElement

protected int currentElement

escapeURIAttributes

protected boolean escapeURIAttributes

pool

protected NamePool pool

Method Detail

attribute

public void attribute(int nameCode, int typeCode, CharSequence value, int locationId, int properties)
Notify an attribute. Attributes are notified after the startElement event, and before any children. Namespaces and attributes may be intermingled.

Parameters: nameCode The name of the attribute, as held in the name pool typeCode The type of the attribute, as held in the name pool properties Bit significant value. The following bits are defined:

DISABLE_ESCAPING
Disable escaping for this attribute
NO_SPECIAL_CHARACTERS
Attribute value contains no special characters

Throws: IllegalStateException: attempt to output an attribute when there is no open element start tag

escapeURL

public static CharSequence escapeURL(CharSequence url, boolean normalize)
Escape a URI according to the HTML rules: that is, a non-ASCII character (specifically, a character outside the range 32 - 126) is replaced by the %HH encoding of the octets in its UTF-8 representation

Parameters: url the URI to be escaped normalize

Returns: the URI after escaping non-ASCII characters

isUrlAttribute

public boolean isUrlAttribute(int element, int attribute)

startDocument

public void startDocument(int properties)
Start of a document node.

startElement

public void startElement(int nameCode, int typeCode, int locationId, int properties)
Notify the start of an element

Parameters: nameCode integer code identifying the name of the element within the name pool. typeCode integer code identifying the element's type within the name pool. properties properties of the element node