net.sf.saxon.event
Class PIGrabber

java.lang.Object
  extended by net.sf.saxon.event.SequenceReceiver
      extended by net.sf.saxon.event.ProxyReceiver
          extended by 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
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, usesTypeAnnotations
 
Methods inherited from class net.sf.saxon.event.SequenceReceiver
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()
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) Saxonica Limited. All rights reserved.