Class EntityClassifier.CPEntityType

java.lang.Object
eu.bandm.tools.dtd.EntityClassifier.CPEntityType
Enclosing class:
EntityClassifier

public class EntityClassifier.CPEntityType extends Object
Classify entity replacement text w.r.t usability in content models. Text must be an EXPANDED version, since abbrevs are not supported. Includes nice and dis-encouraged things:
      
           (a|b)*
           (a|b)
            a|b|           
           |a|b
           ,a,b, 
            a,b
           (a,(b)*)
 and also  
           a   with according settings, 
 
Must be called with the EXPANDED text of the source, or entity declarations must be substituted by sub-classing (cf. TunedDTDParser.s() and TunedDTDParser.sOpt().
One application is the condition for being part of an enum type: cp!=null & !toplevelModifier && !topIsSeq && isFlat The same holds for being candidate for an abstract element declaration!
  • Constructor Details

    • CPEntityType

      public CPEntityType()
  • Method Details

    • get_cp

      public DTD.CP get_cp()
      The content model parsed, null in case of error!
    • get_topHasParenth

      public boolean get_topHasParenth()
      Whether top-level expression is framed with explicit parentheses.
    • get_topHasModifier

      public boolean get_topHasModifier()
      Whether top-level expression is decorated with star, plus or questionmark
    • get_isFlat

      public boolean get_isFlat()
      Whether no parentheses at any lower level.
    • get_topIsSeq

      public boolean get_topIsSeq()
    • get_topIsChoice

      public boolean get_topIsChoice()
    • get_operatorAtStart

      public boolean get_operatorAtStart()
    • get_operatorAtEnd

      public boolean get_operatorAtEnd()
    • classify

      public void classify(String text)