## org.apache.xml.utils
Class StylesheetPIHandler

    java.lang.Object
      org.xml.sax.helpers.DefaultHandler
          org.apache.xml.utils.StylesheetPIHandler

All Implemented Interfaces:
  org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler

    public class StylesheetPIHandler

extends org.xml.sax.helpers.DefaultHandler

Search for the xml-stylesheet processing instructions in an XML document.

See Also:
  Associating Style Sheets with XML documents, Version 1.0

Constructor Summary
`StylesheetPIHandler(java.lang.String baseID, java.lang.String media, java.lang.String title, java.lang.String charset)` Construct a StylesheetPIHandler instance that will search for xml-stylesheet PIs based on the given criteria.

Method Summary
`javax.xml.transform.Source` `getAssociatedStylesheet()` Return the last stylesheet found that match the constraints.
`java.lang.String` `getBaseId()`
`javax.xml.transform.URIResolver` `getURIResolver()` Get the object that will be used to resolve URIs in href in xml-stylesheet processing instruction.
`void` `processingInstruction(java.lang.String target, java.lang.String data)` Handle the xml-stylesheet processing instruction.
`void` `setBaseId(java.lang.String baseId)` Added additional getter and setter methods for the Base Id to fix bugzilla bug 24187
`void` `setURIResolver(javax.xml.transform.URIResolver resolver)` Get the object that will be used to resolve URIs in href in xml-stylesheet processing instruction.
`void` `startElement(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes atts)` The spec notes that "The xml-stylesheet processing instruction is allowed only in the prolog of an XML document

Methods inherited from class org.xml.sax.helpers.DefaultHandler
`characters, endDocument, endElement, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, resolveEntity, setDocumentLocator, skippedEntity, startDocument, startPrefixMapping, unparsedEntityDecl, warning`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### StylesheetPIHandler

    public StylesheetPIHandler(java.lang.String baseID,
                               java.lang.String media,
                               java.lang.String title,
                               java.lang.String charset)

  Construct a StylesheetPIHandler instance that will search for xml-stylesheet PIs based on the given criteria.

  Parameters:
    `baseID` - The base ID of the XML document, needed to resolve relative IDs.
    `media` - The desired media criteria.
    `title` - The desired title criteria.
    `charset` - The desired character set criteria.

Method Detail

### setURIResolver

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

  Get the object that will be used to resolve URIs in href in xml-stylesheet processing instruction.

  Parameters:
    `resolver` - An object that implements the URIResolver interface, or null.

### getURIResolver

    public javax.xml.transform.URIResolver getURIResolver()

  Get the object that will be used to resolve URIs in href in xml-stylesheet processing instruction.

  Returns:
    The URIResolver that was set with setURIResolver.

### getAssociatedStylesheet

    public javax.xml.transform.Source getAssociatedStylesheet()

  Return the last stylesheet found that match the constraints.

  Returns:
    Source object that references the last stylesheet reference that matches the constraints.

### processingInstruction

    public void processingInstruction(java.lang.String target,
                                      java.lang.String data)
                               throws org.xml.sax.SAXException

  Handle the xml-stylesheet processing instruction.

  Specified by:
    `processingInstruction` in interface `org.xml.sax.ContentHandler`
  Overrides:
    `processingInstruction` in class `org.xml.sax.helpers.DefaultHandler`
  Parameters:
    `target` - The processing instruction target.
    `data` - The processing instruction data, or null if none is supplied.
  Throws:
    `org.xml.sax.SAXException` - Any SAX exception, possibly wrapping another exception.
  See Also:
    `ContentHandler.processingInstruction(java.lang.String, java.lang.String)`, Associating Style Sheets with XML documents, Version 1.0

### startElement

    public void startElement(java.lang.String namespaceURI,
                             java.lang.String localName,
                             java.lang.String qName,
                             org.xml.sax.Attributes atts)
                      throws org.xml.sax.SAXException

  The spec notes that "The xml-stylesheet processing instruction is allowed only in the prolog of an XML document.", so, at least for right now, I'm going to go ahead an throw a TransformerException in order to stop the parse.

  Specified by:
    `startElement` in interface `org.xml.sax.ContentHandler`
  Overrides:
    `startElement` in class `org.xml.sax.helpers.DefaultHandler`
  Parameters:
    `namespaceURI` - The Namespace URI, or an empty string.
    `localName` - The local name (without prefix), or empty string if not namespace processing.
    `qName` - The qualified name (with prefix).
    `atts` - The specified or defaulted attributes.
  Throws:
    `StopParseException` - since there can be no valid xml-stylesheet processing instructions past the first element.
    `org.xml.sax.SAXException`

### setBaseId

    public void setBaseId(java.lang.String baseId)

  Added additional getter and setter methods for the Base Id to fix bugzilla bug 24187

### getBaseId

    public java.lang.String getBaseId()

Copyright © 2005 Apache XML Project. All Rights Reserved.