Class SaxParserHandler
- java.lang.Object
-
- org.xml.sax.helpers.DefaultHandler
-
- com.sun.enterprise.deployment.node.SaxParserHandler
-
- All Implemented Interfaces:
ContentHandler
,DTDHandler
,EntityResolver
,ErrorHandler
- Direct Known Subclasses:
SaxParserHandlerBundled
@Service @PerLookup public class SaxParserHandler extends DefaultHandler
This class implements all the callbacks for the SAX Parser in JAXP 1.1- Version:
- Author:
- Jerome Dochez
-
-
Field Summary
Fields Modifier and Type Field Description static String
JAXP_SCHEMA_LANGUAGE
static String
JAXP_SCHEMA_SOURCE
protected String
publicID
XMLNode
topNode
static String
W3C_XML_SCHEMA
-
Constructor Summary
Constructors Constructor Description SaxParserHandler()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
characters(char[] ch, int start, int stop)
void
endElement(String uri, String localName, String qName)
void
error(SAXParseException spe)
void
fatalError(SAXParseException spe)
protected InputStream
getDTDUrlFor(String dtdFileName)
protected static Collection<String>
getElementsAllowingEmptyValues()
protected static Collection<String>
getElementsPreservingWhiteSpace()
protected static Map<String,String>
getMapping()
static File
getSchemaFileFor(String schemaSystemID)
static String
getSchemaURLFor(String schemaSystemID)
XMLNode
getTopNode()
protected static List<VersionUpgrade>
getVersionUpgrades(String key)
void
notationDecl(String name, String publicId, String systemId)
static void
registerBundleNode(BundleNode bn, String bundleTagName)
InputSource
resolveEntity(String publicID, String systemID)
static String
resolvePublicID(String publicID, String dtd)
Determine whether the publicID starts with a known proprietary value.static String
resolveSchemaNamespace(String systemID)
Determine whether the syatemID starts with a known namespace.void
setErrorReportingString(String s)
Sets the error reporting context stringvoid
setStopOnError(boolean stop)
Sets if the parser should stop parsing and generate an SAXPArseException when the xml parsed contains errors in regards to validationvoid
setTopNode(XMLNode node)
void
startElement(String uri, String localName, String qName, Attributes attributes)
void
startPrefixMapping(String prefix, String uri)
-
Methods inherited from class org.xml.sax.helpers.DefaultHandler
endDocument, endPrefixMapping, ignorableWhitespace, processingInstruction, setDocumentLocator, skippedEntity, startDocument, unparsedEntityDecl, warning
-
-
-
-
Field Detail
-
JAXP_SCHEMA_LANGUAGE
public static final String JAXP_SCHEMA_LANGUAGE
- See Also:
- Constant Field Values
-
JAXP_SCHEMA_SOURCE
public static final String JAXP_SCHEMA_SOURCE
- See Also:
- Constant Field Values
-
W3C_XML_SCHEMA
public static final String W3C_XML_SCHEMA
- See Also:
- Constant Field Values
-
topNode
public XMLNode topNode
-
publicID
protected String publicID
-
-
Method Detail
-
getVersionUpgrades
protected static List<VersionUpgrade> getVersionUpgrades(String key)
-
getElementsAllowingEmptyValues
protected static Collection<String> getElementsAllowingEmptyValues()
-
getElementsPreservingWhiteSpace
protected static Collection<String> getElementsPreservingWhiteSpace()
-
registerBundleNode
public static void registerBundleNode(BundleNode bn, String bundleTagName)
-
resolveEntity
public InputSource resolveEntity(String publicID, String systemID) throws SAXException
- Specified by:
resolveEntity
in interfaceEntityResolver
- Overrides:
resolveEntity
in classDefaultHandler
- Throws:
SAXException
-
setStopOnError
public void setStopOnError(boolean stop)
Sets if the parser should stop parsing and generate an SAXPArseException when the xml parsed contains errors in regards to validation
-
error
public void error(SAXParseException spe) throws SAXParseException
- Specified by:
error
in interfaceErrorHandler
- Overrides:
error
in classDefaultHandler
- Throws:
SAXParseException
-
fatalError
public void fatalError(SAXParseException spe) throws SAXParseException
- Specified by:
fatalError
in interfaceErrorHandler
- Overrides:
fatalError
in classDefaultHandler
- Throws:
SAXParseException
-
getDTDUrlFor
protected InputStream getDTDUrlFor(String dtdFileName)
- Returns:
- the input stream for a DTD public ID
-
getSchemaURLFor
public static String getSchemaURLFor(String schemaSystemID) throws IOException
- Parameters:
schemaSystemID
- the system id for the schema- Returns:
- an URL for the schema location for a schema indentified by the passed parameter
- Throws:
IOException
-
getSchemaFileFor
public static File getSchemaFileFor(String schemaSystemID) throws IOException
- Parameters:
schemaSystemID
- the system id for the schema- Returns:
- a File pointer to the localtion of the schema indentified by the passed parameter
- Throws:
IOException
-
resolveSchemaNamespace
public static String resolveSchemaNamespace(String systemID)
Determine whether the syatemID starts with a known namespace. If so, strip off that namespace and return the rest. Otherwise, return null- Parameters:
systemID
- The systemID to examine- Returns:
- the part if the namespace to find in the file system or null if the systemID does not start with a known namespace
-
resolvePublicID
public static String resolvePublicID(String publicID, String dtd)
Determine whether the publicID starts with a known proprietary value. If so, strip off that value and return the rest. Otherwise, return null- Parameters:
publicID
- The publicID to examine- Returns:
- the part if the namespace to find in the file system or null if the publicID does not start with a known namespace
-
notationDecl
public void notationDecl(String name, String publicId, String systemId) throws SAXException
- Specified by:
notationDecl
in interfaceDTDHandler
- Overrides:
notationDecl
in classDefaultHandler
- Throws:
SAXException
-
startPrefixMapping
public void startPrefixMapping(String prefix, String uri) throws SAXException
- Specified by:
startPrefixMapping
in interfaceContentHandler
- Overrides:
startPrefixMapping
in classDefaultHandler
- Throws:
SAXException
-
startElement
public void startElement(String uri, String localName, String qName, Attributes attributes)
- Specified by:
startElement
in interfaceContentHandler
- Overrides:
startElement
in classDefaultHandler
-
endElement
public void endElement(String uri, String localName, String qName)
- Specified by:
endElement
in interfaceContentHandler
- Overrides:
endElement
in classDefaultHandler
-
characters
public void characters(char[] ch, int start, int stop)
- Specified by:
characters
in interfaceContentHandler
- Overrides:
characters
in classDefaultHandler
-
getTopNode
public XMLNode getTopNode()
-
setTopNode
public void setTopNode(XMLNode node)
-
setErrorReportingString
public void setErrorReportingString(String s)
Sets the error reporting context string
-
-