net.sf.saxon.event
Class HTMLURIEscaper
java.lang.Object
net.sf.saxon.event.SequenceReceiver
net.sf.saxon.event.ProxyReceiver
net.sf.saxon.event.HTMLURIEscaper
- All Implemented Interfaces:
- Receiver, javax.xml.transform.Result
- Direct Known 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
Fields inherited from interface javax.xml.transform.Result |
PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING |
Method Summary |
void |
attribute(int nameCode,
int typeCode,
java.lang.CharSequence value,
int locationId,
int properties)
Notify an attribute. |
static java.lang.CharSequence |
escapeURL(java.lang.CharSequence url)
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 |
open()
Start of event stream |
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 |
characters, close, comment, endDocument, endElement, getConfiguration, getDocumentLocator, getNamePool, getSystemId, getUnderlyingReceiver, namespace, processingInstruction, setPipelineConfiguration, setSystemId, setUnderlyingReceiver, setUnparsedEntity, startContent |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
currentElement
protected int currentElement
escapeURIAttributes
protected boolean escapeURIAttributes
pool
protected NamePool pool
HTMLURIEscaper
public HTMLURIEscaper()
isUrlAttribute
public boolean isUrlAttribute(int element,
int attribute)
open
public void open()
throws XPathException
- Start of event stream
- Specified by:
open
in interface Receiver
- Overrides:
open
in class ProxyReceiver
- Throws:
XPathException
startDocument
public void startDocument(int properties)
throws XPathException
- Start of a document node.
- Specified by:
startDocument
in interface Receiver
- Overrides:
startDocument
in class ProxyReceiver
- Throws:
XPathException
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 class 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
- Throws:
XPathException
attribute
public void attribute(int nameCode,
int typeCode,
java.lang.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 class ProxyReceiver
- Parameters:
nameCode
- The name of the attribute, as held in the name pooltypeCode
- The type of the attribute, as held in the name poolproperties
- 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
XPathException
escapeURL
public static java.lang.CharSequence escapeURL(java.lang.CharSequence url)
- 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
- Returns:
- the URI after escaping non-ASCII characters