blob: 04f0971a63de094f831b531f0ae2f17b5470d50a [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2001, 2004 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
* Jens Lukowski/Innoopract - initial renaming/restructuring
*
*******************************************************************************/
package org.eclipse.wst.dtd.core.util;
import java.util.ArrayList;
import java.util.List;
import javax.xml.parsers.SAXParser;
import org.xml.sax.Parser;
import org.xml.sax.SAXException;
import org.xml.sax.SAXNotRecognizedException;
import org.xml.sax.SAXNotSupportedException;
import org.xml.sax.XMLReader;
/**
* TODO: Kihup and Nitin, reevaluate the use and implementation of this class
*/
//import org.apache.xerces.parsers.SAXParser;
//import org.apache.xerces.xni.Augmentations;
//import org.apache.xerces.xni.XMLLocator;
//import org.apache.xerces.xni.XMLString;
//import org.apache.xerces.xni.XNIException;
public class DTDSAXParser extends SAXParser {
private List ignoredEntityRefs = new ArrayList();
// private XMLLocator locator;
//
public List getIgnoredEntityRefs() {
return ignoredEntityRefs;
}
/*
* (non-Javadoc)
*
* @see javax.xml.parsers.SAXParser#getParser()
*/
public Parser getParser() throws SAXException {
// TODO Auto-generated method stub
return null;
}
/*
* (non-Javadoc)
*
* @see javax.xml.parsers.SAXParser#getProperty(java.lang.String)
*/
public Object getProperty(String name) throws SAXNotRecognizedException, SAXNotSupportedException {
// TODO Auto-generated method stub
return null;
}
/*
* (non-Javadoc)
*
* @see javax.xml.parsers.SAXParser#getXMLReader()
*/
public XMLReader getXMLReader() throws SAXException {
// TODO Auto-generated method stub
return null;
}
//
// public XMLLocator getLocator()
// {
// return locator;
// }
//
// public void startDocument
// (XMLLocator locator,
// String encoding,
// Augmentations augs)
// {
// this.locator = locator;
// super.startDocument(locator,encoding,augs);
// }
//
// public void ignoredCharacters(XMLString text, Augmentations augs)
// throws XNIException
// {
// String s =
// text.length > 0 ? new String(text.ch,text.offset,text.length) : "";
// //System.out.println("ignoredCharacters: " + s);
//
// StringTokenizer tokenizer = new StringTokenizer(s,";");
// try
// {
// String token = null;
// while (tokenizer.hasMoreTokens())
// {
// token = tokenizer.nextToken();
// if (isEntityRef(token))
// registerEntityRef(token);
// }
// }
// catch (NoSuchElementException e)
// {
// e.printStackTrace();
// }
// }
//
// TODO: never used
boolean isEntityRef(String token) {
// Looking for the pattern "nnnn%nnnnn".
if (token.indexOf('%') != -1)
return true; // candidate for entity reference
else
return false;
}
/*
* (non-Javadoc)
*
* @see javax.xml.parsers.SAXParser#isNamespaceAware()
*/
public boolean isNamespaceAware() {
// TODO Auto-generated method stub
return false;
}
/*
* (non-Javadoc)
*
* @see javax.xml.parsers.SAXParser#isValidating()
*/
public boolean isValidating() {
// TODO Auto-generated method stub
return false;
}
// TODO: never used
void registerEntityRef(String token) {
int index = token.lastIndexOf('%');
if (index == -1)
return;
String refName = token.substring(index, token.length());
//System.out.println("entity ref name is: " + refName);
if (refName.indexOf(' ') != -1 || refName.indexOf('\t') != -1 || refName.indexOf('\n') != -1)
return;
else
// we found entity reference
ignoredEntityRefs.add(refName + ";"); //$NON-NLS-1$
}
/*
* (non-Javadoc)
*
* @see javax.xml.parsers.SAXParser#setProperty(java.lang.String,
* java.lang.Object)
*/
public void setProperty(String name, Object value) throws SAXNotRecognizedException, SAXNotSupportedException {
// TODO Auto-generated method stub
}
}