## net.sf.saxon.event
Class PIGrabber

    java.lang.Object
      |
      +--net.sf.saxon.event.ProxyReceiver
            |
            +--net.sf.saxon.event.PIGrabber

All Implemented Interfaces:
  Receiver, javax.xml.transform.Result

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

Field Summary

Fields inherited from class net.sf.saxon.event.ProxyReceiver
`baseReceiver, config, locationProvider, systemId`

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

Constructor Summary
`PIGrabber()`

Method Summary
`javax.xml.transform.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 document
`void` `processingInstruction(java.lang.String target, java.lang.CharSequence data, int locationId, int properties)` Handle xml-stylesheet PI
`void` `setBaseURI(java.lang.String uri)` Set the base URI
`void` `setCriteria(java.lang.String media, java.lang.String title, java.lang.String charset)`
`void` `setFactory(Configuration config)`
`void` `setURIResolver(javax.xml.transform.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
`attribute, characters, close, comment, endDocument, endElement, getConfiguration, getDocumentLocator, getNamePool, getSystemId, getUnderlyingReceiver, namespace, setConfiguration, setDocumentLocator, setSystemId, setUnderlyingReceiver, setUnparsedEntity, startContent, startDocument`

Methods inherited from class java.lang.Object
`clone, equals, finalize, 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(java.lang.String media,
                            java.lang.String title,
                            java.lang.String charset)

### setBaseURI

    public void setBaseURI(java.lang.String uri)

  Set the base URI

### setURIResolver

    public void setURIResolver(javax.xml.transform.URIResolver resolver)

  Set the URI resolver to be used for the href attribute

### open

    public void open()

  Description copied from class: `ProxyReceiver`
  Start of document

  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.
    `XPathException`

### isTerminated

    public boolean isTerminated()

  Determine whether the parse terminated because the first start element tag was found

### processingInstruction

    public void processingInstruction(java.lang.String target,
                                      java.lang.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 LocationMap 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 "?>")
    `XPathException`

### getAssociatedStylesheets

    public javax.xml.transform.Source[] getAssociatedStylesheets()
                                                          throws javax.xml.transform.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
    `javax.xml.transform.TransformerException`