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(Receiver next)
           
 
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 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-2011 Saxonica Limited. All rights reserved.