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:
- Result, Receiver
- 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
- Author:
- Michael H. Kay
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, characters, close, comment, endDocument, endElement, getConfiguration, getDocumentLocator, getNamePool, getUnderlyingReceiver, namespace, open, processingInstruction, setPipelineConfiguration, setSystemId, setUnderlyingReceiver, setUnparsedEntity, startContent, usesTypeAnnotations |
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)
startDocument
public void startDocument(int properties)
throws XPathException
- Start of a document node.
- Specified by:
startDocument
in interface Receiver
- Overrides:
startDocument
in class ProxyReceiver
- Parameters:
properties
- bit-significant integer indicating properties of the document node.
The definitions of the bits are in class ReceiverOptions
- 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 nodelocationId
- an integer which can be interpreted using a LocationProvider
to return
information such as line number and system ID. If no location information is available,
the value zero is supplied.
- Throws:
XPathException
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 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
value
- the string value of the attributelocationId
- an integer which can be interpreted using a LocationProvider
to return
information such as line number and system ID. If no location information is available,
the value zero is supplied.
- Throws:
IllegalStateException:
- attempt to output an attribute when there is no open element
start tag
XPathException
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 escapednormalize
-
- Returns:
- the URI after escaping non-ASCII characters
Copyright (c) Saxonica Limited. All rights reserved.