Class PIGrabber

All Implemented Interfaces:
Result, Receiver

public class PIGrabber extends ProxyReceiver
The PIGrabber class is a ProxyReceiver that looks for xml-stylesheet processing instructions and tests whether they match specified criteria; for those that do, it creates a Source object referring to the relevant stylesheet
  • Constructor Details

    • PIGrabber

      public PIGrabber(Receiver next)
  • Method Details

    • setFactory

      public void setFactory(Configuration config)
    • setCriteria

      public void setCriteria(String media, String title)
      Define the matching criteria
      Parameters:
      media - the required media. Note that Saxon does not implement the complex CSS3-based syntax for media queries. By default, the media value is simply ignored. An algorithm for comparing the requested media with the declared media can be defined using the method Configuration.setMediaQueryEvaluator(Comparator).
      title - the required title
    • setBaseURI

      public void setBaseURI(String uri)
      Set the base URI
      Parameters:
      uri - the base URI
    • setResourceResolver

      public void setResourceResolver(ResourceResolver resolver)
      Set the URI resolver to be used for the href attribute
      Parameters:
      resolver - the URI resolver
    • startElement

      public void startElement(NodeName elemName, SchemaType type, AttributeMap attributes, NamespaceMap namespaces, Location location, 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:
      elemName - the name of the element.
      type - the type annotation of the element.
      attributes - the attributes of this element
      namespaces - the in-scope namespaces of this element: generally this is all the in-scope namespaces, without relying on inheriting namespaces from parent elements
      location - an object providing information about the module, line, and column where the node originated
      properties - bit-significant properties of the element node. If there are no relevant properties, zero is supplied. The definitions of the bits are in class ReceiverOption
      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, UnicodeString data, Location 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 - provides information such as line number and system ID.
      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