Package 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.DefaultHandlerSearch for the xml-stylesheet processing instructions in an XML document.
-
-
Constructor Summary
Constructors Constructor Description 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description javax.xml.transform.SourcegetAssociatedStylesheet()Return the last stylesheet found that match the constraints.java.lang.StringgetBaseId()javax.xml.transform.URIResolvergetURIResolver()Get the object that will be used to resolve URIs in href in xml-stylesheet processing instruction.voidprocessingInstruction(java.lang.String target, java.lang.String data)Handle the xml-stylesheet processing instruction.voidsetBaseId(java.lang.String baseId)Added additional getter and setter methods for the Base Id to fix bugzilla bug 24187voidsetURIResolver(javax.xml.transform.URIResolver resolver)Get the object that will be used to resolve URIs in href in xml-stylesheet processing instruction.voidstartElement(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
-
-
-
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.SAXExceptionHandle the xml-stylesheet processing instruction.- Specified by:
processingInstructionin interfaceorg.xml.sax.ContentHandler- Overrides:
processingInstructionin classorg.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.SAXExceptionThe 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:
startElementin interfaceorg.xml.sax.ContentHandler- Overrides:
startElementin classorg.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()
-
-