Class NameClass

    • Field Detail

      • ANY

        public static final NameClass ANY
        Sigleton instance that represents "anyName".
      • NULL

        public static final NameClass NULL
        Sigleton instance that accepts no name.

        This instance is useful when doing boolean arithmetic over name classes (such as computing an inverse of a given name class, etc), even though it can never appear in a RELAX NG surface syntax.

        Internally, this instance is also used for:

        1. Used to recover from errors during parsing.
        2. Mark element patterns with <notAllowed/> content model.
    • Constructor Detail

      • NameClass

        public NameClass()
    • Method Detail

      • contains

        public abstract boolean contains​(QName name)
        Returns true if the given QName is a valid name for this QName.
      • containsSpecificity

        public abstract int containsSpecificity​(QName name)
      • accept

        public abstract <V> V accept​(NameClassVisitor<V> visitor)
        Visitor pattern support.
      • isOpen

        public abstract boolean isOpen()
        Returns true if the name class accepts infinite number of QNames.

        Intuitively, this method returns true if the name class is some sort of wildcard.

      • listNames

        public Set<QName> listNames()
        If the name class is closed (IOW !isOpen()), return the set of names in this name class. Otherwise the behavior is undefined.
      • hasOverlapWith

        public final boolean hasOverlapWith​(NameClass nc2)
        Returns true if the intersection between this name class and the specified name class is non-empty.