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

    Constructors
    Constructor and Description
    `PIGrabber(Receiver next)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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` | `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)`
    `void` | `setFactory(Configuration config)`
    `void` | `setURIResolver(URIResolver resolver)` Set the URI resolver to be used for the href attribute
    `void` | `startElement(NodeName namecode, SchemaType 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, getNamePool, getUnderlyingReceiver, namespace, open, setPipelineConfiguration, setSystemId, setUnderlyingReceiver, setUnparsedEntity, startContent, startDocument, 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`

- - ### Constructor Detail

    - #### PIGrabber

          public PIGrabber(Receiver next)

  - ### Method Detail

    - #### setFactory

          public void setFactory(Configuration config)

    - #### setCriteria

          public void setCriteria(String media,
                         String title)

    - #### setBaseURI

          public void setBaseURI(String uri)

      Set the base URI
      Parameters:
        `uri` - the base URI

    - #### setURIResolver

          public void setURIResolver(URIResolver resolver)

      Set the URI resolver to be used for the href attribute
      Parameters:
        `resolver` - the URI resolver

    - #### startElement

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

    - #### isTerminated

          public boolean isTerminated()

      Determine whether the parse terminated because the first start element tag was found
      Returns:
        true if the parse was terminated when the document element was encountered (as distinct from being terminated because of some exception condition, for example a parse error)

    - #### 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.
      Throws:
        `XPathException` - if an error occurs

    - #### 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) 2004-2013 Saxonica Limited. All rights reserved.