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.serialize
Class HTMLURIEscaper

    java.lang.Object
      net.sf.saxon.event.SequenceReceiver
          net.sf.saxon.event.ProxyReceiver
              net.sf.saxon.serialize.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

Field Summary
`protected NodeName` | `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`

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

Constructor Summary
`HTMLURIEscaper(Receiver nextReceiver)`

Method Summary
`void` | `attribute(NodeName nameCode, SimpleType typeCode, CharSequence value, int locationId, int properties)` Notify an attribute.
`static CharSequence` | `escapeURL(CharSequence url, boolean normalize, Configuration config)` 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(NodeName element, NodeName attribute)`
`void` | `startDocument(int properties)` Start of a document node.
`void` | `startElement(NodeName nameCode, SchemaType 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, getNamePool, getUnderlyingReceiver, namespace, open, processingInstruction, setPipelineConfiguration, setSystemId, setUnderlyingReceiver, setUnparsedEntity, startContent, usesTypeAnnotations`

Methods inherited from class net.sf.saxon.event.SequenceReceiver
`append, getConfiguration, getPipelineConfiguration, getSystemId`

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

Field Detail

### currentElement

    protected NodeName currentElement

### escapeURIAttributes

    protected boolean escapeURIAttributes

### pool

    protected NamePool pool

Constructor Detail

### HTMLURIEscaper

    public HTMLURIEscaper(Receiver nextReceiver)

Method Detail

### isUrlAttribute

    public boolean isUrlAttribute(NodeName element,
                                  NodeName 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` - if an error occurs

### startElement

    public void startElement(NodeName nameCode,
                             SchemaType 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
    `locationId` - 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` - if an error occurs

### attribute

    public void attribute(NodeName nameCode,
                          SimpleType 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 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
    `value` - the string value of the attribute
    `locationId` - 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` - if an error occurs

### escapeURL

    public static CharSequence escapeURL(CharSequence url,
                                         boolean normalize,
                                         Configuration config)
                                  throws XPathException

  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
  Throws:
    `XPathException`

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

Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.