com.thaiopensource.relaxng.match.NameClass Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jing Show documentation
Show all versions of jing Show documentation
Jing - tool for validating RelaxNG - (OSGi-compatible version)
package com.thaiopensource.relaxng.match;
import com.thaiopensource.xml.util.Name;
import java.util.Set;
/**
* A RELAX NG name class. Equivalent name classes are normalized so that they have the
* same representation.
*/
public interface NameClass {
/**
* Tests whether this name class is empty. A name class is empty if there is no name in the
* name class.
* @return true if the name class is empty, false otherwise
*/
boolean isEmpty();
/**
* Tests whether this name class contains a name.
* @param name the name to test; must not be null
* @return true if the name class contains the name, false otherwise
*/
boolean contains(Name name);
/**
* Tests whethers this name class contains a wildcard matching any name. If true, then the
* name class contains all names except for those in getExcludedNames() or whose namespace
* is in getExcludedNamespaces(); it also contains those names in getIncludedNames().
* @return true if this name class contains a wildcard matching any name, false otherwise.
*/
boolean isAnyNameIncluded();
/**
* Returns the set of namespaces excluded from a wildcard matching any name.
* @return a non-null immutable, possibly empty Set each member of which is a non-null String,
* if isAnyNameIncluded() is true, null otherwise
* @see #isAnyNameIncluded
*/
Set getExcludedNamespaces();
/**
* Returns the set of names excluded from a wildcard matching any name. None of the names
* will have namespaces in getExcludedNamespaces().
* @return a non-null immutable, possibly empty Set each member of which is a non-null Name,
* if isAnyNameIncluded() is true, null otherwise
* @see #isAnyNameIncluded
* @see Name
*/
Set getExcludedNames();
/**
* Returns the set of names that this name class contains. This doesn't include any wildcards
* included in the name class. If isAnyNameIncluded() is true, then all the names in the
* returned set will have a namespace that is in getExcludedNamespaces(). None of the names
* will have a namespace that is in getIncludedNamespaces().
* @return a non-null, possibly empty Set, each member of which is a non-null Name
* @see Name
*/
Set getIncludedNames();
/**
* Returns the set of namespace wildcards that this name class contains. If a string s is in the
* returned set, then the name class contains all names whose namespace is s, with
* the exception of any names contained in getExcludedNames(s). The
* default namespace is represented by a zero-length String. The returned set will be empty
* if isAnyNameIncluded() is true.
* @return a non-null, possibly empty, immutable Set each member of which is a non-null String
* @see #isAnyNameIncluded
*/
Set getIncludedNamespaces();
/**
* Returns the set of local names excluded from a namespace wildcard.
* @param ns the namespace from which the local names are excluded
* @return a non-null possibly empty Set each member of which is a non-null String,
* if ns is in getIncludedNamespaces(), null otherwise
* @see #getIncludedNamespaces
*/
Set getExcludedLocalNames(String ns);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy