import java.io.*; import javax.xml.parsers.*; import org.xml.sax.*; import org.xml.sax.helpers.*; class SAXNsup { static public void main(String[] args) throws Exception { SAXParserFactory factory = SAXParserFactory.newInstance(); factory.setNamespaceAware( true ); SAXParser saxParser = factory.newSAXParser(); XMLReader xmlReader = saxParser.getXMLReader(); xmlReader.setContentHandler( new MyContentHandler() ); xmlReader.parse( new File(args[0]).toURL().toString() ); } } class MyContentHandler extends DefaultHandler { public void startElement(String namespaceURI, String localName, String QName, Attributes atts) { NamespaceSupport namespace = new NamespaceSupport(); namespace.pushContext(); namespace.declarePrefix("or", "fruit://osu/or"); namespace.declarePrefix("ap", "fruit://osu/ap"); namespace.declarePrefix("", "fruit://osu/ot"); String parts[] = namespace.processName(QName, new String[3], false); System.out.println("Namespace URI: " + parts[0]); System.out.println("Local name: " + parts[1]); System.out.println("Raw name: " + parts[2]); namespace.popContext(); } }