blob: aea06cf2d557868d76981ef456ecb28e289d199d [file] [log] [blame]
/*
* Created on Aug 6, 2003
*/
package org.apache.xpath.expression;
import org.apache.xml.QName;
import org.apache.xpath.XPath20Exception;
/**
* <em>NameTest</em> expression type.
* Dependings on the value returned by {@link #getNameTestType()},
* a name test have the following forms:
* <ul>
* <li>{@link #WILDCARD}: *</li>
* <li>{@link #NCNAME_WILDCARD}: ns:*</li>
* <li>{@link #WILDCARD_NCNAME}: *:ln</li>
* <li>{@link #QNAME}: (prefix?):localName</li>
* </ul>
* @author <a href="mailto:villard@us.ibm.com">Lionel Villard</a>
* @version $Id$
*/
public interface NameTest
{
final short WILDCARD = 0;
final short NCNAME_WILDCARD = 1;
final short WILDCARD_NCNAME = 2;
final short QNAME = 3;
/**
* Gets the name test type
* @return One of the constants defined above
*/
short getNameTestType();
/**
* Gets the qualified name of the name test.
* @return Qualified name
* @throws XPath20Exception when the name test type isn't
* {@link #QNAME}
*/
QName getName() throws XPath20Exception;
/**
* Gets the namespace or the local part of the name test.
* @return NCName
* @throws XPath20Exception when the name test type isn't
* {@link #NCNAME_WILDCARD} or {@link #WILDCARD_NCNAME}
*/
String getNCName() throws XPath20Exception;
}