Class CDATAFilter

All Implemented Interfaces:
Result, Receiver

public class CDATAFilter extends ProxyReceiver
CDATAFilter: This ProxyEmitter converts character data to CDATA sections, if the character data belongs to one of a set of element types to be handled this way.
Author:
Michael Kay
  • Constructor Details

    • CDATAFilter

      public CDATAFilter(Receiver next)
      Create a CDATA Filter
      Parameters:
      next - the next receiver in the pipeline
  • Method Details

    • setOutputProperties

      public void setOutputProperties(Properties details) throws XPathException
      Set the properties for this CDATA filter
      Parameters:
      details - the output properties
      Throws:
      XPathException - if an error occurs
    • startElement

      public void startElement(NodeName elemName, SchemaType typeCode, Location location, int properties) throws XPathException
      Output element start tag
      Specified by:
      startElement in interface Receiver
      Overrides:
      startElement in class ProxyReceiver
      Parameters:
      elemName - integer code identifying the name of the element within the name pool.
      typeCode - the element's type annotation.
      location - a location associated with the event (typically either a location in the source document or the stylesheet)
      properties - properties of the element node
      Throws:
      XPathException - if an error occurs
    • endElement

      public void endElement() throws XPathException
      Output element end tag
      Specified by:
      endElement in interface Receiver
      Overrides:
      endElement in class ProxyReceiver
      Throws:
      XPathException - if an error occurs
    • processingInstruction

      public void processingInstruction(String target, CharSequence data, Location locationId, int properties) throws XPathException
      Output a processing instruction
      Specified by:
      processingInstruction in interface Receiver
      Overrides:
      processingInstruction in class ProxyReceiver
      Parameters:
      target - The PI name. This must be a legal name (it will not be checked).
      data - The data portion of the processing instruction
      locationId - provides information such as line number and system ID.
      properties - Additional information about the PI.
      Throws:
      XPathException - if an error occurs
    • characters

      public void characters(CharSequence chars, Location locationId, int properties) throws XPathException
      Output character data
      Specified by:
      characters in interface Receiver
      Overrides:
      characters in class ProxyReceiver
      Parameters:
      chars - The characters
      locationId - provides information such as line number and system ID.
      properties - Bit significant value. The following bits are defined:
      DISABLE_ESCAPING
      Disable escaping for this text node
      USE_CDATA
      Output as a CDATA section
      Throws:
      XPathException - if an error occurs
    • comment

      public void comment(CharSequence chars, Location locationId, int properties) throws XPathException
      Output a comment
      Specified by:
      comment in interface Receiver
      Overrides:
      comment in class ProxyReceiver
      Parameters:
      chars - The content of the comment
      locationId - provides information such as line number and system ID.
      properties - Additional information about the comment.
      Throws:
      XPathException - if an error occurs
    • isCDATA

      protected boolean isCDATA(NodeName elementName)
      See if a particular element is a CDATA element. Method is protected to allow overriding in a subclass.
      Parameters:
      elementName - identifies the name of element we are interested
      Returns:
      true if this element is included in cdata-section-elements