## net.sf.saxon.event
Class PIGrabber

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

Field Summary

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

Constructor Summary
`PIGrabber()`

Method Summary
`Source[]` `getAssociatedStylesheets()` Return list of stylesheets that matched, as an array of Source objects
`boolean` `isTerminated()` Determine whether the parse terminated because the first start element tag was found
`void` `open()` Start of event stream
`void` `processingInstruction(String target, CharSequence data, int locationId, int properties)` Handle xml-stylesheet PI
`void` `setBaseURI(String uri)` Set the base URI
`void` `setCriteria(String media, String title, String charset)`
`void` `setFactory(Configuration config)`
`void` `setURIResolver(URIResolver resolver)` Set the URI resolver to be used for the href attribute
`void` `startElement(int namecode, int typecode, int locationId, int properties)` Abort the parse when the first start element tag is found

Methods inherited from class net.sf.saxon.event.ProxyReceiver
`append, attribute, characters, close, comment, endDocument, endElement, getConfiguration, getDocumentLocator, getNamePool, getUnderlyingReceiver, namespace, setPipelineConfiguration, setSystemId, setUnderlyingReceiver, setUnparsedEntity, startContent, startDocument`

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

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

Constructor Detail

### PIGrabber

    public PIGrabber()

Method Detail

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

Copyright (C) Michael H. Kay. All rights reserved.