Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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

Field Summary
`protected int` | `currentElement`
`protected boolean` | `escapeURIAttributes`
`protected NamePool` | `pool`

Fields inherited from class net.sf.saxon.event.ProxyReceiver
`nextReceiver, systemId`

Fields inherited from class net.sf.saxon.event.SequenceReceiver
`pipelineConfiguration, previousAtomic`

Fields inherited from interface javax.xml.transform.Result
`PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING`

Constructor Summary
`HTMLURIEscaper()`

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 net.sf.saxon.event.SequenceReceiver
`append, getPipelineConfiguration`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### currentElement

    protected int currentElement

### escapeURIAttributes

    protected boolean escapeURIAttributes

### pool

    protected NamePool pool

Constructor Detail

### HTMLURIEscaper

    public HTMLURIEscaper()

Method Detail

### 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 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
    `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

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD