Class PIGrabber

All Implemented Interfaces:
Result, Receiver

public class PIGrabber extends ProxyReceiver
The PIGrabber class is a Receiver that looks for xml-stylesheet processing instructions and tests whether they match specified criteria; for those that do, it creates an InputSource object referring to the relevant stylesheet
Author:
Michael H. Kay
  • Constructor Details

    • PIGrabber

      public PIGrabber()
  • Method Details

    • setFactory

      public void setFactory(Configuration config)
    • setCriteria

      public void setCriteria(String media, String title, String charset)
    • setBaseURI

      public void setBaseURI(String uri)
      Set the base URI
    • setURIResolver

      public void setURIResolver(URIResolver resolver)
      Set the URI resolver to be used for the href attribute
    • open

      public void open()
      Description copied from class: ProxyReceiver
      Start of event stream
      Specified by:
      open in interface Receiver
      Overrides:
      open in class ProxyReceiver
    • startElement

      public void startElement(int namecode, int typecode, int locationId, int properties) throws XPathException
      Abort the parse when the first start element tag is found
      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.
      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.
      properties - properties of the element node
      Throws:
      XPathException
    • isTerminated

      public boolean isTerminated()
      Determine whether the parse terminated because the first start element tag was found
    • processingInstruction

      public void processingInstruction(String target, CharSequence data, int locationId, int properties) throws XPathException
      Handle xml-stylesheet PI
      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 - 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.
      properties - Additional information about the PI. The following bits are defined:
      CHECKED
      Data is known to be legal (e.g. doesn't contain "?>")
      Throws:
      XPathException
    • getAssociatedStylesheets

      public Source[] getAssociatedStylesheets() throws TransformerException
      Return list of stylesheets that matched, as an array of Source objects
      Returns:
      null if there were no matching stylesheets.
      Throws:
      XPathException - if a URI cannot be resolved
      TransformerException