<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE DTDProfile SYSTEM "profile.dtd" >
<DTDProfile title="demeter.dtd Editor">
  <elements>
    <element tooltip="Program's content is:&#10;(GlobalImports,ClassGraph)" name="Program">
      <attribute tooltip=" name CDATA #IMPLIED" name="name"/>
    </element>
    <element tooltip="Finish's content is:&#10;(JavaCode)" name="Finish"/>
    <element tooltip="TraversalDef's content is:&#10;(TraversalName,TraversalParms,StrategyExpression)&#10;" name="TraversalDef"/>
    <element tooltip="ClassParents's content is:&#10;(Superclasses?,Interfaces?)" name="ClassParents"/>
    <element tooltip="PlainSyntax's content is:&#10;(String)" name="PlainSyntax"/>
    <element tooltip="NameBinding's content is:&#10;(Name,Name)" name="NameBinding"/>
    <element tooltip="Import's content is:&#10;(PackageName,ImportAllClasses?)" name="Import"/>
    <element tooltip="ClassDefVisitor is an EMPTY element." name="ClassDefVisitor"/>
    <element tooltip="MethodBody's content is:&#10;(VerbatimMethodBody|AdaptiveMethodBody|&#10;NoMethodBody)" name="MethodBody"/>
    <element tooltip="NotParsedClass is an EMPTY element." name="NotParsedClass"/>
    <element tooltip="EdgeGlob's content is:&#10;(PartGlob|SubclassGlob|SuperclassGlob)&#10;" name="EdgeGlob"/>
    <element tooltip="PartInit's content is:&#10;(PartInitKeyword,JavaCode)" name="PartInit"/>
    <element tooltip="IdentOrKeyword's content is:&#10;(ParseIdent|NoParseIdent|VisitorsIdent|&#10;EndVisitorsIdent|VisitorIdent|NotParsedIdent|&#10;DerivedIdent|InitIdent|CommonIdent|&#10;LookaheadIdent|StrategyIdent|WithIdent|&#10;ThroughIdent|ViaIdent|BypassingIdent|&#10;ToIdent|DoIdent|JoinIdent|MergeIdent|&#10;IntersectIdent|TraversalIdent|BeforeIdent|&#10;AroundIdent|AfterIdent|GetIdent|SetIdent|&#10;StartIdent|FinishIdent|OtherIdent)" name="IdentOrKeyword"/>
    <element tooltip="Name's content is:&#10;(IdentOrKeyword)" name="Name"/>
    <element tooltip="EndVisitors is an EMPTY element." name="EndVisitors"/>
    <element tooltip="Interface's content is:&#10;(ClassSpec)" name="Interface"/>
    <element tooltip="PackageName's content is:&#10;(IdentOrKeyword)+" name="PackageName"/>
    <element tooltip="LocalImports's content is:&#10;Import+?" name="LocalImports"/>
    <element tooltip="PartNameGlob's content is:&#10;(PartNameExact|AnyPart)" name="PartNameGlob"/>
    <element tooltip="DoParse is an EMPTY element." name="DoParse"/>
    <element tooltip="ClassGlobSpec's content is:&#10;(OneClassGlob|ClassGlobSet)" name="ClassGlobSpec"/>
    <element tooltip="PartNameExact's content is:&#10;(PartName)" name="PartNameExact"/>
    <element tooltip="CompoundStrategy's content is:&#10;((Join|Merge|Intersect),(StrategyExpression,&#10;ZComma*)+)" name="CompoundStrategy"/>
    <element tooltip="ImplementsKeyword is an EMPTY element." name="ImplementsKeyword"/>
    <element tooltip="ClassMethods's content is:&#10;(Method+?,Hashtable?)" name="ClassMethods"/>
    <element tooltip="MethodName's content is:&#10;(IdentOrKeyword)" name="MethodName"/>
    <element tooltip="UniversalTraversalGraph's content is:&#10;(TraversalGraph)" name="UniversalTraversalGraph"/>
    <element tooltip="Environment's content is:&#10;(Program*,ProgramBehavior*)" name="Environment">
      <attribute tooltip=" name CDATA #IMPLIED" name="name"/>
    </element>
    <element tooltip="OneClassGlob's content is:&#10;(ClassGlob)" name="OneClassGlob"/>
    <element tooltip="ExtendsKeyword is an EMPTY element." name="ExtendsKeyword"/>
    <element tooltip="JavaCode's content is:&#10;(Text)" name="JavaCode"/>
    <element tooltip="Parts's content is:&#10;(Part)*" name="Parts"/>
    <element tooltip="NoMethodBody is an EMPTY element." name="NoMethodBody"/>
    <element tooltip="ParmName's content is:&#10;(IdentOrKeyword)" name="ParmName"/>
    <element tooltip="PathSegment's content is:&#10;(PositiveConstraint,NegativeConstraint?)&#10;" name="PathSegment"/>
    <element tooltip="ParseKeyword's content is:&#10;(DoParse|DontParse)" name="ParseKeyword"/>
    <element tooltip="StrategyName's content is:&#10;(IdentOrKeyword)" name="StrategyName"/>
    <element tooltip="StrategyVariable's content is:&#10;(StrategyName)" name="StrategyVariable"/>
    <element tooltip="OptionalPart's content is:&#10;(LocalLookahead?,(Syntax*,Part,Syntax*))&#10;" name="OptionalPart"/>
    <element tooltip="FindVisitorTargetsV's content is:&#10;(Vector,Vector,Vector,String,Vector)&#10;" name="FindVisitorTargetsV"/>
    <element tooltip="Method's content is:&#10;(TraversalDef|Wrapper|Accessor|Constructor|&#10;Start|Finish|ReturnValue|MethodDef|&#10;Verbatim)" name="Method"/>
    <element tooltip="Package's content is:&#10;(PackageName)" name="Package"/>
    <element tooltip="EOFtoken is an EMPTY element." name="EOFtoken"/>
    <element tooltip="Behavior's content is:&#10;(StrategyDefinition|ClassBehavior)" name="Behavior"/>
    <element tooltip="StrategyGraph's content is:&#10;(Vector?,SGEdge+,ClassGlobSpec?,Integer+?,&#10;ClassGlobSpec?,StrategyGraphI)" name="StrategyGraph"/>
    <element tooltip="Part's content is:&#10;(PartName?,PartKeyword_NList?,ClassSpec,&#10;PartInit?)" name="Part"/>
    <element tooltip="AlternationClass's content is:&#10;(Subclass+?,CommonKeyword?)" name="AlternationClass"/>
    <element tooltip="TAOVisitor's content is:&#10;(FindVisitorTargetsV|CreateMethodsV)&#10;" name="TAOVisitor"/>
    <element tooltip="JavaType's content is:&#10;(Name,ArraySpec*)" name="JavaType"/>
    <element tooltip="HostSpec's content is:&#10;(GlobSpec)" name="HostSpec"/>
    <element tooltip="VisitorKeyword's content is:&#10;(BeginVisitors|EndVisitors)" name="VisitorKeyword"/>
    <element tooltip="Subclass's content is:&#10;(Local?,ClassSpec)" name="Subclass"/>
    <element tooltip="ClassNameGlob's content is:&#10;(ClassNameExact|AnyClass)" name="ClassNameGlob"/>
    <element tooltip="FinalClass is an EMPTY element." name="FinalClass"/>
    <element tooltip="TargetDirective's content is:&#10;((To|ToStop),ClassGlobSpec)" name="TargetDirective"/>
    <element tooltip="LookaheadKeyword is an EMPTY element." name="LookaheadKeyword"/>
    <element tooltip="Visitor's content is:&#10;(ClassName,VisitorName?)" name="Visitor"/>
    <element tooltip="MethodParm's content is:&#10;(JavaType,ParmName,ArraySpec*)" name="MethodParm"/>
    <element tooltip="Glob's content is:&#10;(ClassGlob|EdgeGlob)" name="Glob"/>
    <element tooltip="ClassType's content is:&#10;(boolean,boolean,boolean,boolean,boolean,&#10;boolean,boolean,boolean)" name="ClassType"/>
    <element tooltip="Directive's content is:&#10;(ParseDirective|VisitorDirective|PackageDirective)&#10;" name="Directive"/>
    <element tooltip="GlobSet's content is:&#10;(Glob,ZComma*)+?" name="GlobSet"/>
    <element tooltip="OtherIdent's content is:&#10;(Ident)" name="OtherIdent"/>
    <element tooltip="VisitorName's content is:&#10;(Name)" name="VisitorName"/>
    <element tooltip="ClassGraph's content is:&#10;(ClassGraphEntry)+" name="ClassGraph"/>
    <element tooltip="AdaptiveMethodBody's content is:&#10;(TraversalExpression,VisitorExpression)&#10;" name="AdaptiveMethodBody"/>
    <element tooltip="VisitorClass is an EMPTY element." name="VisitorClass"/>
    <element tooltip="PartKeyword_Nlist's content is:&#10;(PartKeyword)+" name="PartKeyword_Nlist"/>
    <element tooltip="TraversalMethodName's content is:&#10;(MethodName)" name="TraversalMethodName"/>
    <element tooltip="SubclassGlob's content is:&#10;(SourceGlob,DestGlob)" name="SubclassGlob"/>
    <element tooltip="Superclasses's content is:&#10;(ExtendsKeyword,Superclass+)" name="Superclasses"/>
    <element tooltip="Ident is an EMPTY element." name="Ident">
      <attribute tooltip=" value CDATA #REQUIRED" name="value"/>
    </element>
    <element tooltip="ClassGraphEntry's content is:&#10;(Directive|Definition)" name="ClassGraphEntry"/>
    <element tooltip="ClassKeyword_NList's content is:&#10;(ClassKeyword)+" name="ClassKeyword_NList"/>
    <element tooltip="RepeatedPart's content is:&#10;(ClassSpec?,Local?,(Syntax*,ClassSpec,&#10;Syntax*))" name="RepeatedPart"/>
    <element tooltip="ClassParts's content is:&#10;(ConstOrAltClass|RepetitionClass)" name="ClassParts"/>
    <element tooltip="PartInitKeyword is an EMPTY element." name="PartInitKeyword"/>
    <element tooltip="Hashtable can contain ANYTHING." name="Hashtable"/>
    <element tooltip="RepetitionClass's content is:&#10;(Syntax*,RepeatedPart,Syntax*)" name="RepetitionClass"/>
    <element tooltip="CreateMethodsV's content is:&#10;(ClassDef,String,String,Vector,Vector,&#10;Vector,boolean,Vector,String,String,&#10;String,String,String,String,int,int,&#10;boolean,Vector,String,String,String,&#10;String,Vector)" name="CreateMethodsV"/>
    <element tooltip="Constraint's content is:&#10;((PositiveConstraint|NegativeConstraint),&#10;GlobSpec)" name="Constraint"/>
    <element tooltip="ClassName's content is:&#10;(Name,Name?)" name="ClassName"/>
    <element tooltip="PublicClass is an EMPTY element." name="PublicClass"/>
    <element tooltip="ClassNameAccessor is an EMPTY element." name="ClassNameAccessor"/>
    <element tooltip="VisitorRef's content is:&#10;(ClassName)+" name="VisitorRef"/>
    <element tooltip="PartType's content is:&#10;(boolean,boolean,boolean,boolean,boolean)&#10;" name="PartType"/>
    <element tooltip="Start's content is:&#10;(JavaCode)" name="Start"/>
    <element tooltip="PositiveConstraint's content is:&#10;(Through|Via)" name="PositiveConstraint"/>
    <element tooltip="WrapperKind's content is:&#10;(Before|Around|After)" name="WrapperKind"/>
    <element tooltip="Accessor's content is:&#10;((Getter|Setter),PartName,JavaCode)" name="Accessor"/>
    <element tooltip="ProgramBehavior's content is:&#10;Behavior+?" name="ProgramBehavior">
      <attribute tooltip=" name CDATA #IMPLIED" name="name"/>
    </element>
    <element tooltip="DontParse is an EMPTY element." name="DontParse"/>
    <element tooltip="InterfaceClass is an EMPTY element." name="InterfaceClass"/>
    <element tooltip="MethodKeyword's content is:&#10;(PublicMethod|ProtectedMethod|PrivateMethod|&#10;StaticMethod|FinalMethod|AbstractMethod)&#10;" name="MethodKeyword"/>
    <element tooltip="ArraySpec is an EMPTY element." name="ArraySpec"/>
    <element tooltip="StrategyExpression's content is:&#10;((StrategyGraph|PathDirective|StrategyVariable|&#10;CompoundStrategy),NameMap?)" name="StrategyExpression"/>
    <element tooltip="DestGlob's content is:&#10;(ClassNameGlob)" name="DestGlob"/>
    <element tooltip="VerbatimMethodBody's content is:&#10;(JavaCode)" name="VerbatimMethodBody"/>
    <element tooltip="MethodDef's content is:&#10;(MethodSignature,MethodBody)" name="MethodDef"/>
    <element tooltip="PartName's content is:&#10;(IdentOrKeyword,Name?)" name="PartName"/>
    <element tooltip="Superclass's content is:&#10;(ClassSpec)" name="Superclass"/>
    <element tooltip="FinalPart is an EMPTY element." name="FinalPart"/>
    <element tooltip="ClassGlobVisitor is an EMPTY element." name="ClassGlobVisitor"/>
    <element tooltip="Verbatim's content is:&#10;(JavaCode)" name="Verbatim"/>
    <element tooltip="ClassKeyword's content is:&#10;(PublicClass|FinalClass|InterfaceClass|&#10;VisitorClass|NotParsedClass)" name="ClassKeyword"/>
    <element tooltip="CommonKeyword is an EMPTY element." name="CommonKeyword"/>
    <element tooltip="PartOrSyntax's content is:&#10;(Part|OptionalPart|Syntax)" name="PartOrSyntax"/>
    <element tooltip="DerivedPart is an EMPTY element." name="DerivedPart"/>
    <element tooltip="MethodSignature's content is:&#10;(MethodKeyword*,JavaType,MethodName,&#10;MethodParm+?,Throws)" name="MethodSignature"/>
    <element tooltip="TraversalName's content is:&#10;(Name)" name="TraversalName"/>
    <element tooltip="ClassBehavior's content is:&#10;(ClassGlobSpec,ClassMethods)" name="ClassBehavior"/>
    <element tooltip="VisitorSpec's content is:&#10;(ClassMethods)" name="VisitorSpec"/>
    <element tooltip="String is an EMPTY element." name="String">
      <attribute tooltip=" value CDATA #REQUIRED" name="value"/>
    </element>
    <element tooltip="Text is an EMPTY element." name="Text">
      <attribute tooltip=" value CDATA #REQUIRED" name="value"/>
    </element>
    <element tooltip="VisitorDirective's content is:&#10;(VisitorKeyword)" name="VisitorDirective"/>
    <element tooltip="SuperclassGlob's content is:&#10;(SourceGlob,DestGlob)" name="SuperclassGlob"/>
    <element tooltip="Interfaces's content is:&#10;(ImplementsKeyword,Interface+)" name="Interfaces"/>
    <element tooltip="StrategyDefinition's content is:&#10;(StrategyName,StrategyExpression)" name="StrategyDefinition"/>
    <element tooltip="HostSet's content is:&#10;(Hashtable?,Hashtable?,GlobSet?)" name="HostSet"/>
    <element tooltip="ClassSpec's content is:&#10;(ClassName,ClassSpec+?)" name="ClassSpec"/>
    <element tooltip="ClassDef's content is:&#10;(ClassKeyword_NList?,ParamClassName,&#10;ParseDirective?,ClassParts,ClassMethods?,&#10;EOFtoken?)" name="ClassDef"/>
    <element tooltip="EdgeGlobMaker's content is:&#10;(ClassName,ClassName,ClassName,PartName,&#10;Globextends,EdgePartsVisitor)" name="EdgeGlobMaker"/>
    <element tooltip="EdgeVisitor is an EMPTY element." name="EdgeVisitor"/>
    <element tooltip="OneGlob's content is:&#10;(Glob)" name="OneGlob"/>
    <element tooltip="SourceGlob's content is:&#10;(ClassNameGlob)" name="SourceGlob"/>
    <element tooltip="Wrapper's content is:&#10;(WrapperKind,HostSpec,JavaCode)" name="Wrapper"/>
    <element tooltip="ReturnValue's content is:&#10;(JavaType?,JavaCode)" name="ReturnValue"/>
    <element tooltip="Definition's content is:&#10;(ClassDef)" name="Definition"/>
    <element tooltip="ClassGlob's content is:&#10;(ClassNameGlob)" name="ClassGlob"/>
    <element tooltip="ClassGlobSet's content is:&#10;(ClassGlob,ZComma*)+" name="ClassGlobSet"/>
    <element tooltip="ParseDirective's content is:&#10;(ParseKeyword)" name="ParseDirective"/>
    <element tooltip="LocalLookahead's content is:&#10;(LookaheadKeyword,JavaCode)" name="LocalLookahead"/>
    <element tooltip="StaticPart is an EMPTY element." name="StaticPart"/>
    <element tooltip="SGEdgeMatcher's content is:&#10;(NameI,int,Vector)" name="SGEdgeMatcher"/>
    <element tooltip="TraversalSpec's content is:&#10;(StrategyExpression)" name="TraversalSpec"/>
    <element tooltip="Constructor's content is:&#10;(JavaCode)" name="Constructor"/>
    <element tooltip="PartGlob's content is:&#10;(SourceGlob,PartNameGlob,DestGlob)" name="PartGlob"/>
    <element tooltip="TraversalExpression's content is:&#10;(TraversalSpec|TraversalRef)" name="TraversalExpression"/>
    <element tooltip="GlobSpec's content is:&#10;(OneGlob|GlobSet)" name="GlobSpec"/>
    <element tooltip="ParamClassName's content is:&#10;(ClassName,ClassName+?)" name="ParamClassName"/>
    <element tooltip="VisitorNameVisitor is an EMPTY element." name="VisitorNameVisitor"/>
    <element tooltip="ClassNameExact's content is:&#10;(ClassName)" name="ClassNameExact"/>
    <element tooltip="PathDirective's content is:&#10;(NegativeConstraint?,PathSegment*,TargetDirective)&#10;" name="PathDirective"/>
    <element tooltip="GlobalImports's content is:&#10;Import+?" name="GlobalImports"/>
    <element tooltip="ConstructionClass is an EMPTY element." name="ConstructionClass"/>
    <element tooltip="PartKeyword's content is:&#10;(FinalPart|StaticPart|ReadOnlyPart|PrivatePart|&#10;DerivedPart)" name="PartKeyword"/>
    <element tooltip="BeginVisitors is an EMPTY element." name="BeginVisitors"/>
    <element tooltip="GlobVisitor's content is:&#10;(ClassGlobCollector|SGEdgeMatcher)" name="GlobVisitor"/>
    <element tooltip="Syntax's content is:&#10;(PlainSyntax|PrintCommand)" name="Syntax"/>
    <element tooltip="ClassGlobCollector's content is:&#10;(ClassGlobSet)" name="ClassGlobCollector"/>
    <element tooltip="PackageDirective's content is:&#10;(Package,LocalImports)" name="PackageDirective"/>
    <element tooltip="Throws's content is:&#10;ClassName+?" name="Throws"/>
    <element tooltip="VisitorExpression's content is:&#10;(VisitorRef|VisitorSpec)" name="VisitorExpression"/>
    <element tooltip="TraversalParms's content is:&#10;Visitor+?" name="TraversalParms"/>
    <element tooltip="ConstOrAltClass's content is:&#10;((ConstructionClass|AlternationClass),&#10;PartOrSyntax*,ClassParents)" name="ConstOrAltClass"/>
    <element tooltip="ReadOnlyPart is an EMPTY element." name="ReadOnlyPart"/>
    <element tooltip="SGEdge's content is:&#10;(ClassGlobSpec,ClassGlobSpec,NegativeConstraint?)&#10;" name="SGEdge"/>
    <element tooltip="PrivatePart is an EMPTY element." name="PrivatePart"/>
    <element tooltip="PrintCommand's content is:&#10;(PrintIndent|PrintUnindent|PrintSkip|&#10;PrintSpace)" name="PrintCommand"/>
    <element tooltip="TraversalRef's content is:&#10;(Equals?,TraversalName)" name="TraversalRef"/>
    <element tooltip="NegativeConstraint's content is:&#10;(Bypassing|OnlyThrough)" name="NegativeConstraint"/>
    <element tooltip="NameMap's content is:&#10;(NameBinding,ZComma*)+" name="NameMap"/>
    <element tooltip="PartVisitor is an EMPTY element." name="PartVisitor"/>
    <element tooltip="Comment -&#10;Use it anywhere to make the document clearer." name="XML_COMMENT"/>
    <element tooltip="TEXT" name="XML_TEXT"/>
    <element tooltip="CDATA Section -&#10;Use it to store marked-up text that you want to store as data." name="XML_CDATA"/>
    <element tooltip="Processing Instruction (PI) -&#10;Use it to pass directions and information to programs." name="XML_PI"/>
  </elements>
<documents>
    <document description="Program document." root="Program" suffix="xcd"/>
    <document root="ProgramBehavior" suffix="xbeh"/>
    <document root="Environment" suffix=".xdem"/>
  </documents>
  <palettes>
    <toolbarpalette title="Standard">
      <group elements="XML_TEXT XML_CDATA XML_COMMENT XML_PI"/>
    </toolbarpalette>
    <sidebarpalette all-visible="no" title="Elements">
      <group elements="Program Finish TraversalDef ClassParents PlainSyntax NameBinding Import ClassDefVisitor MethodBody NotParsedClass EdgeGlob PartInit IdentOrKeyword Name EndVisitors Interface PackageName LocalImports PartNameGlob DoParse ClassGlobSpec PartNameExact CompoundStrategy ImplementsKeyword ClassMethods MethodName UniversalTraversalGraph Environment OneClassGlob ExtendsKeyword JavaCode Parts NoMethodBody ParmName PathSegment ParseKeyword StrategyName StrategyVariable OptionalPart FindVisitorTargetsV Method Package EOFtoken Behavior StrategyGraph Part AlternationClass TAOVisitor JavaType HostSpec VisitorKeyword Subclass ClassNameGlob FinalClass TargetDirective LookaheadKeyword Visitor MethodParm Glob ClassType Directive GlobSet OtherIdent VisitorName ClassGraph AdaptiveMethodBody VisitorClass PartKeyword_Nlist TraversalMethodName SubclassGlob Superclasses Ident ClassGraphEntry ClassKeyword_NList RepeatedPart ClassParts PartInitKeyword Hashtable RepetitionClass CreateMethodsV Constraint ClassName PublicClass ClassNameAccessor VisitorRef PartType Start PositiveConstraint WrapperKind Accessor ProgramBehavior DontParse InterfaceClass MethodKeyword ArraySpec StrategyExpression DestGlob VerbatimMethodBody MethodDef PartName Superclass FinalPart ClassGlobVisitor Verbatim ClassKeyword CommonKeyword PartOrSyntax DerivedPart MethodSignature TraversalName ClassBehavior VisitorSpec String Text VisitorDirective SuperclassGlob Interfaces StrategyDefinition HostSet ClassSpec ClassDef EdgeGlobMaker EdgeVisitor OneGlob SourceGlob Wrapper ReturnValue Definition ClassGlob ClassGlobSet ParseDirective LocalLookahead StaticPart SGEdgeMatcher TraversalSpec Constructor PartGlob TraversalExpression GlobSpec ParamClassName VisitorNameVisitor ClassNameExact PathDirective GlobalImports ConstructionClass PartKeyword BeginVisitors GlobVisitor Syntax ClassGlobCollector PackageDirective Throws VisitorExpression TraversalParms ConstOrAltClass ReadOnlyPart SGEdge PrivatePart PrintCommand TraversalRef NegativeConstraint NameMap PartVisitor"/>
    </sidebarpalette>
  </palettes>
</DTDProfile>
