/*
* Copyright (c) 1999 World Wide Web Consortium,
* (Massachusetts Institute of Technology, Institut National de
* Recherche en Informatique et en Automatique, Keio University). All
* Rights Reserved. This program is distributed under the W3C's Software
* Intellectual Property License. This program is distributed in the
* hope that it will be useful, but WITHOUT ANY WARRANTY; without even
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE.
* See W3C License http://www.w3.org/Consortium/Legal/ for more details.
*
* $Id: AttributeCondition.java 477010 2006-11-20 02:54:38Z mrglavas $
*/
package org.w3c.css.sac;
/**
* The Interface AttributeCondition.
*
* @author Philippe Le Hegaret
* @version $Revision: 477010 $
* @see Condition#SAC_ATTRIBUTE_CONDITION
* @see Condition#SAC_ONE_OF_ATTRIBUTE_CONDITION
* @see Condition#SAC_BEGIN_HYPHEN_ATTRIBUTE_CONDITION
* @see Condition#SAC_ID_CONDITION
* @see Condition#SAC_CLASS_CONDITION
* @see Condition#SAC_PSEUDO_CLASS_CONDITION
*/
public interface AttributeCondition extends Condition {
/**
* Returns the <a
* href="http://www.w3.org/TR/REC-xml-names/#dt-NSName">namespace URI</a> of
* this attribute condition.
* <p>
* <code>NULL</code> if :
* <ul>
* <li>this attribute condition can match any namespace.
* <li>this attribute is an id attribute.
* </ul>
*
* @return the namespace uri
*/
public String getNamespaceURI();
/**
* Returns the <a
* href="http://www.w3.org/TR/REC-xml-names/#NT-LocalPart">local part</a> of
* the <a href="http://www.w3.org/TR/REC-xml-names/#ns-qualnames">qualified
* name</a> of this attribute.
* <p>
* <code>NULL</code> if :
* <ul>
* <li>
* <p>
* this attribute condition can match any attribute.
* <li>
* <p>
* this attribute is a class attribute.
* <li>
* <p>
* this attribute is an id attribute.
* <li>
* <p>
* this attribute is a pseudo-class attribute.
* </ul>
*
* @return the local name
*/
public String getLocalName();
/**
* Returns <code>true</code> if the attribute must have an explicit value in
* the original document, <code>false</code> otherwise.
*
* @return the specified
*/
public boolean getSpecified();
/**
* Returns the value of the attribute. If this attribute is a class or a
* pseudo class attribute, you'll get the class name (or psedo class name)
* without the '.' or ':'.
*
* @return the value
*/
public String getValue();
}