net.sf.saxon.event

Class HTMLURIEscaper

Implemented Interfaces:
Receiver, Result
Known Direct Subclasses:
XHTMLURIEscaper

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 int
currentElement
protected boolean
escapeURIAttributes
protected NamePool
pool

Fields inherited from class net.sf.saxon.event.ProxyReceiver

nextReceiver

Fields inherited from class net.sf.saxon.event.SequenceReceiver

pipelineConfiguration, previousAtomic, systemId

Method Summary

void
attribute(int nameCode, int typeCode, CharSequence value, int locationId, int properties)
Notify an attribute.
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
boolean
isUrlAttribute(int element, int attribute)
void
startDocument(int properties)
Start of a document node.
void
startElement(int nameCode, int typeCode, int locationId, int properties)
Notify the start of an element

Methods inherited from class net.sf.saxon.event.ProxyReceiver

append, attribute, characters, close, comment, endDocument, endElement, getConfiguration, getDocumentLocator, getNamePool, getUnderlyingReceiver, namespace, open, processingInstruction, setPipelineConfiguration, setSystemId, setUnderlyingReceiver, setUnparsedEntity, startContent, startDocument, startElement

Methods inherited from class net.sf.saxon.event.SequenceReceiver

append, getConfiguration, getNamePool, getPipelineConfiguration, getSystemId, open, setPipelineConfiguration, setSystemId, setUnparsedEntity

Field Details

currentElement

protected int currentElement

escapeURIAttributes

protected boolean escapeURIAttributes

pool

protected NamePool pool

Method Details

attribute

public void attribute(int nameCode,
                      int typeCode,
                      CharSequence value,
                      int locationId,
                      int properties)
            throws XPathException
Notify an attribute. Attributes are notified after the startElement event, and before any children. Namespaces and attributes may be intermingled.
Specified by:
attribute in interface Receiver
Overrides:
attribute in interface ProxyReceiver
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:

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)
            throws XPathException
Start of a document node.
Specified by:
startDocument in interface Receiver
Overrides:
startDocument in interface ProxyReceiver

startElement

public void startElement(int nameCode,
                         int typeCode,
                         int locationId,
                         int properties)
            throws XPathException
Notify the start of an element
Specified by:
startElement in interface Receiver
Overrides:
startElement in interface ProxyReceiver
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