DemeterJ version 0.8.3 Copyright (c) 2000 Northeastern University Reading project file XML2AP.prj... Running the test... TypeDef found TypeDef found TypeDef found TypeDef found TraversalGraph from Schema to Attribute Copy 0: Nodes: Schema SchemaItem_List Nonempty_SchemaItem_List SchemaItem Attribute ElementItem Element RestOfElement NonEmptyElement TypeDef ComplexType ComplexTypeContent ComplexContent TypeDerivation Extension SequenceGroup ElementItem_List Nonempty_ElementItem_List Attribute_List Nonempty_Attribute_List Edges: -> Schema,items,SchemaItem_List -> SchemaItem_List,first,Nonempty_SchemaItem_List -> Nonempty_SchemaItem_List,it,SchemaItem => SchemaItem,Attribute => SchemaItem,ElementItem => ElementItem,Element -> Element,restofelement,RestOfElement => RestOfElement,NonEmptyElement -> NonEmptyElement,type,TypeDef => TypeDef,ComplexType -> ComplexType,complextypecontent,ComplexTypeContent -> ComplexTypeContent,complexcontent,ComplexContent -> ComplexContent,typederivation,TypeDerivation => TypeDerivation,Extension -> Extension,elementitem,ElementItem => ElementItem,SequenceGroup -> SequenceGroup,elementitem_list,ElementItem_List -> ElementItem_List,first,Nonempty_ElementItem_List -> Nonempty_ElementItem_List,it,ElementItem -> Nonempty_ElementItem_List,next,Nonempty_ElementItem_List -> ComplexTypeContent,elementitem,ElementItem -> ComplexType,attribute_list,Attribute_List -> Attribute_List,first,Nonempty_Attribute_List -> Nonempty_Attribute_List,it,Attribute -> Nonempty_Attribute_List,next,Nonempty_Attribute_List => SchemaItem,TypeDef -> Nonempty_SchemaItem_List,next,Nonempty_SchemaItem_List Edges to other copies: ======== TraversalGraph from Attribute to AttrValue Copy 0: Nodes: Attribute AttrValue_List Nonempty_AttrValue_List AttrValue RestOfAttribute NonEmptyAttribute Annotation AnnotationContent_List Nonempty_AnnotationContent_List AnnotationContent Appinfo Documentation SchemaItem Edges: -> Attribute,attrs,AttrValue_List -> AttrValue_List,first,Nonempty_AttrValue_List -> Nonempty_AttrValue_List,it,AttrValue -> Nonempty_AttrValue_List,next,Nonempty_AttrValue_List -> Attribute,restofattribute,RestOfAttribute => RestOfAttribute,NonEmptyAttribute -> NonEmptyAttribute,annotation,Annotation -> Annotation,annotationcontent_list,AnnotationContent_List -> AnnotationContent_List,first,Nonempty_AnnotationContent_List -> Nonempty_AnnotationContent_List,it,AnnotationContent => AnnotationContent,Appinfo -> Appinfo,attrs,AttrValue_List => AnnotationContent,Documentation -> Documentation,attrs,AttrValue_List -> Nonempty_AnnotationContent_List,next,Nonempty_AnnotationContent_List Edges to other copies: ======== TraversalGraph from Schema to ComplexType Copy 0: Nodes: Schema SchemaItem_List Nonempty_SchemaItem_List SchemaItem ElementItem Element RestOfElement NonEmptyElement TypeDef ComplexType ComplexTypeContent ComplexContent TypeDerivation Extension SequenceGroup ElementItem_List Nonempty_ElementItem_List Edges: -> Schema,items,SchemaItem_List -> SchemaItem_List,first,Nonempty_SchemaItem_List -> Nonempty_SchemaItem_List,it,SchemaItem => SchemaItem,ElementItem => ElementItem,Element -> Element,restofelement,RestOfElement => RestOfElement,NonEmptyElement -> NonEmptyElement,type,TypeDef => TypeDef,ComplexType -> ComplexType,complextypecontent,ComplexTypeContent -> ComplexTypeContent,complexcontent,ComplexContent -> ComplexContent,typederivation,TypeDerivation => TypeDerivation,Extension -> Extension,elementitem,ElementItem => ElementItem,SequenceGroup -> SequenceGroup,elementitem_list,ElementItem_List -> ElementItem_List,first,Nonempty_ElementItem_List -> Nonempty_ElementItem_List,it,ElementItem -> Nonempty_ElementItem_List,next,Nonempty_ElementItem_List -> ComplexTypeContent,elementitem,ElementItem => SchemaItem,TypeDef -> Nonempty_SchemaItem_List,next,Nonempty_SchemaItem_List Edges to other copies: ======== TraversalGraph from Schema to Element Copy 0: Nodes: Schema SchemaItem_List Nonempty_SchemaItem_List SchemaItem ElementItem Element RestOfElement NonEmptyElement TypeDef ComplexType ComplexTypeContent ComplexContent TypeDerivation Extension SequenceGroup ElementItem_List Nonempty_ElementItem_List Edges: -> Schema,items,SchemaItem_List -> SchemaItem_List,first,Nonempty_SchemaItem_List -> Nonempty_SchemaItem_List,it,SchemaItem => SchemaItem,ElementItem => ElementItem,Element -> Element,restofelement,RestOfElement => RestOfElement,NonEmptyElement -> NonEmptyElement,type,TypeDef => TypeDef,ComplexType -> ComplexType,complextypecontent,ComplexTypeContent -> ComplexTypeContent,complexcontent,ComplexContent -> ComplexContent,typederivation,TypeDerivation => TypeDerivation,Extension -> Extension,elementitem,ElementItem => ElementItem,SequenceGroup -> SequenceGroup,elementitem_list,ElementItem_List -> ElementItem_List,first,Nonempty_ElementItem_List -> Nonempty_ElementItem_List,it,ElementItem -> Nonempty_ElementItem_List,next,Nonempty_ElementItem_List -> ComplexTypeContent,elementitem,ElementItem => SchemaItem,TypeDef -> Nonempty_SchemaItem_List,next,Nonempty_SchemaItem_List Edges to other copies: ======== TraversalGraph from Schema to TypeDef Copy 0: Nodes: Schema SchemaItem_List Nonempty_SchemaItem_List SchemaItem ElementItem Element RestOfElement NonEmptyElement TypeDef SimpleType ComplexType ComplexTypeContent ComplexContent TypeDerivation Extension SequenceGroup ElementItem_List Nonempty_ElementItem_List Edges: -> Schema,items,SchemaItem_List -> SchemaItem_List,first,Nonempty_SchemaItem_List -> Nonempty_SchemaItem_List,it,SchemaItem => SchemaItem,ElementItem => ElementItem,Element -> Element,restofelement,RestOfElement => RestOfElement,NonEmptyElement -> NonEmptyElement,type,TypeDef => TypeDef,SimpleType :> SimpleType,TypeDef => TypeDef,ComplexType -> ComplexType,complextypecontent,ComplexTypeContent -> ComplexTypeContent,complexcontent,ComplexContent -> ComplexContent,typederivation,TypeDerivation => TypeDerivation,Extension -> Extension,elementitem,ElementItem => ElementItem,SequenceGroup -> SequenceGroup,elementitem_list,ElementItem_List -> ElementItem_List,first,Nonempty_ElementItem_List -> Nonempty_ElementItem_List,it,ElementItem -> Nonempty_ElementItem_List,next,Nonempty_ElementItem_List -> ComplexTypeContent,elementitem,ElementItem :> ComplexType,TypeDef => SchemaItem,TypeDef -> Nonempty_SchemaItem_List,next,Nonempty_SchemaItem_List Edges to other copies: ======== Eliminate attributes from elements Element found Element found Element found Element found Element found Element found ======== Eliminate name space refs from complex types ComplexType found ComplexType found ComplexType found ComplexType found : Schema ( : NSRef ( : Ident "xsd" ) : AttrValue_List { : Nonempty_AttrValue_List ( : AttrValue ( : NSRef ( : Ident "xmlns" ) : Ident "xsd" : String "http://www.w3.org/2000/10/XMLSchema" ) ) } : SchemaItem_List { : Nonempty_SchemaItem_List ( : Element ( : NSRef ( : Ident "xsd" ) : AttrValue_List { } : EmptyElement ( ) ) : Nonempty_SchemaItem_List ( : ComplexType ( : AttrValue_List { : Nonempty_AttrValue_List ( : AttrValue ( : Ident "name" : String "Exp" ) ) } : ComplexTypeContent ( : SequenceGroup ( : NSRef ( : Ident "xsd" ) : AttrValue_List { } : ElementItem_List { : Nonempty_ElementItem_List ( : Element ( : NSRef ( : Ident "xsd" ) : AttrValue_List { } : EmptyElement ( ) ) ) } : NSRef ( : Ident "xsd" ) ) ) : Attribute_List { } : NSRef ( : Ident "xsd" ) ) : Nonempty_SchemaItem_List ( : ComplexType ( : AttrValue_List { : Nonempty_AttrValue_List ( : AttrValue ( : Ident "name" : String "E" ) : Nonempty_AttrValue_List ( : AttrValue ( : Ident "abstract" : String "true" ) ) ) } : ComplexTypeContent ( : SequenceGroup ( : NSRef ( : Ident "xsd" ) : AttrValue_List { } : ElementItem_List { : Nonempty_ElementItem_List ( : Element ( : NSRef ( : Ident "xsd" ) : AttrValue_List { } : EmptyElement ( ) ) ) } : NSRef ( : Ident "xsd" ) ) ) : Attribute_List { } : NSRef ( : Ident "xsd" ) ) : Nonempty_SchemaItem_List ( : ComplexType ( : AttrValue_List { : Nonempty_AttrValue_List ( : AttrValue ( : Ident "name" : String "S" ) ) } : ComplexTypeContent ( : ComplexContent ( : NSRef ( : Ident "xsd" ) : AttrValue_List { } : Extension ( : NSRef ( : Ident "xsd" ) : AttrValue_List { : Nonempty_AttrValue_List ( : AttrValue ( : Ident "base" : String "E" ) : Nonempty_AttrValue_List ( : AttrValue ( : Ident "base" : String "F" ) ) ) } : SequenceGroup ( : NSRef ( : Ident "xsd" ) : AttrValue_List { } : ElementItem_List { : Nonempty_ElementItem_List ( : Element ( : NSRef ( : Ident "xsd" ) : AttrValue_List { } : EmptyElement ( ) ) ) } : NSRef ( : Ident "xsd" ) ) : NSRef ( : Ident "xsd" ) ) : NSRef ( : Ident "xsd" ) ) ) : Attribute_List { } : NSRef ( : Ident "xsd" ) ) : Nonempty_SchemaItem_List ( : ComplexType ( : AttrValue_List { : Nonempty_AttrValue_List ( : AttrValue ( : Ident "name" : String "C" ) ) } : ComplexTypeContent ( : ComplexContent ( : NSRef ( : Ident "xsd" ) : AttrValue_List { } : Extension ( : NSRef ( : Ident "xsd" ) : AttrValue_List { : Nonempty_AttrValue_List ( : AttrValue ( : Ident "base" : String "E" ) ) } : SequenceGroup ( : NSRef ( : Ident "xsd" ) : AttrValue_List { } : ElementItem_List { : Nonempty_ElementItem_List ( : Element ( : NSRef ( : Ident "xsd" ) : AttrValue_List { } : EmptyElement ( ) ) : Nonempty_ElementItem_List ( : Element ( : NSRef ( : Ident "xsd" ) : AttrValue_List { } : EmptyElement ( ) ) ) ) } : NSRef ( : Ident "xsd" ) ) : NSRef ( : Ident "xsd" ) ) : NSRef ( : Ident "xsd" ) ) ) : Attribute_List { } : NSRef ( : Ident "xsd" ) ) ) ) ) ) ) } : NSRef ( : Ident "xsd" ) )Type Exp found Type E found Type S found Type C found done