/** * The SAX2 <code>startElement</code> method. * * <p>The catalog parser is selected based on the namespace of the first element encountered in * the catalog. */ public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException { if (abandonHope) { return; } if (saxParser == null) { String saxParserClass = getCatalogParser(namespaceURI, localName); if (saxParserClass == null) { abandonHope = true; if (namespaceURI == null) { debug.message(2, "No Catalog parser for " + localName); } else { debug.message(2, "No Catalog parser for " + "{" + namespaceURI + "}" + localName); } return; } try { saxParser = (SAXCatalogParser) Class.forName( saxParserClass, true, loader != null ? loader : this.getClass().getClassLoader()) .newInstance(); saxParser.setCatalog(catalog); saxParser.startDocument(); saxParser.startElement(namespaceURI, localName, qName, atts); } catch (ClassNotFoundException cnfe) { saxParser = null; abandonHope = true; debug.message(2, cnfe.toString()); } catch (InstantiationException ie) { saxParser = null; abandonHope = true; debug.message(2, ie.toString()); } catch (IllegalAccessException iae) { saxParser = null; abandonHope = true; debug.message(2, iae.toString()); } catch (ClassCastException cce) { saxParser = null; abandonHope = true; debug.message(2, cce.toString()); } } else { saxParser.startElement(namespaceURI, localName, qName, atts); } }
/** The SAX <code>skippedentity</code> method. Does nothing. */ public void skippedEntity(String name) throws SAXException { if (saxParser != null) { saxParser.skippedEntity(name); } }
/** The SAX <code>endPrefixMapping</code> method. Does nothing. */ public void endPrefixMapping(String prefix) throws SAXException { if (saxParser != null) { saxParser.endPrefixMapping(prefix); } }
/** The SAX <code>startPrefixMapping</code> method. Does nothing. */ public void startPrefixMapping(String prefix, String uri) throws SAXException { if (saxParser != null) { saxParser.startPrefixMapping(prefix, uri); } }
/** The SAX <code>processingInstruction</code> method. Does nothing. */ public void processingInstruction(String target, String data) throws SAXException { if (saxParser != null) { saxParser.processingInstruction(target, data); } }
/** The SAX <code>ignorableWhitespace</code> method. Does nothing. */ public void ignorableWhitespace(char ch[], int start, int length) throws SAXException { if (saxParser != null) { saxParser.ignorableWhitespace(ch, start, length); } }
/** The SAX <code>characters</code> method. Does nothing. */ public void characters(char ch[], int start, int length) throws SAXException { if (saxParser != null) { saxParser.characters(ch, start, length); } }
/** The SAX2 <code>endElement</code> method. Does nothing. */ public void endElement(String namespaceURI, String localName, String qName) throws SAXException { if (saxParser != null) { saxParser.endElement(namespaceURI, localName, qName); } }
/** The SAX <code>endElement</code> method. Does nothing. */ public void endElement(String name) throws SAXException { if (saxParser != null) { saxParser.endElement(name); } }
/** * The SAX <code>startElement</code> method. * * <p>The catalog parser is selected based on the namespace of the first element encountered in * the catalog. */ public void startElement(String name, AttributeList atts) throws SAXException { if (abandonHope) { return; } if (saxParser == null) { String prefix = ""; if (name.indexOf(':') > 0) { prefix = name.substring(0, name.indexOf(':')); } String localName = name; if (localName.indexOf(':') > 0) { localName = localName.substring(localName.indexOf(':') + 1); } String namespaceURI = null; if (prefix.equals("")) { namespaceURI = atts.getValue("xmlns"); } else { namespaceURI = atts.getValue("xmlns:" + prefix); } String saxParserClass = getCatalogParser(namespaceURI, localName); if (saxParserClass == null) { abandonHope = true; if (namespaceURI == null) { debug.message(2, "No Catalog parser for " + name); } else { debug.message(2, "No Catalog parser for " + "{" + namespaceURI + "}" + name); } return; } try { saxParser = (SAXCatalogParser) Class.forName( saxParserClass, true, loader != null ? loader : this.getClass().getClassLoader()) .newInstance(); saxParser.setCatalog(catalog); saxParser.startDocument(); saxParser.startElement(name, atts); } catch (ClassNotFoundException cnfe) { saxParser = null; abandonHope = true; debug.message(2, cnfe.toString()); } catch (InstantiationException ie) { saxParser = null; abandonHope = true; debug.message(2, ie.toString()); } catch (IllegalAccessException iae) { saxParser = null; abandonHope = true; debug.message(2, iae.toString()); } catch (ClassCastException cce) { saxParser = null; abandonHope = true; debug.message(2, cce.toString()); } } else { saxParser.startElement(name, atts); } }
/** The SAX <code>endDocument</code> method. Does nothing. */ public void endDocument() throws SAXException { if (saxParser != null) { saxParser.endDocument(); } }
/** The SAX <code>setDocumentLocator</code> method. Does nothing. */ public void setDocumentLocator(Locator locator) { if (saxParser != null) { saxParser.setDocumentLocator(locator); } }