<!--
This is the XML DTD for the OW ant task DependencyAnalyzer
@author         Sebastien Chassande-Barrioz
-->
<!ELEMENT dependency (group*,otherClasses?)>

<!--  A group of classes has a name. It contains a group-content (optional)
and several group-dependency -->
<!ELEMENT group (group-content?,group-dependency*)>
<!ATTLIST group name CDATA #REQUIRED>

<!--A group content defines the content of group, ie the classes composing
the group. The attribute size is the size of the group, ie the number of classes
composing the group -->
<!ELEMENT group-content (class)>
<!ATTLIST group-content size CDATA #REQUIRED>

<!--Defines a class name ands its dependency. The size attribute is the number
dependencies.-->
<!ELEMENT class (class-dependency*)>
<!ATTLIST class 
	name CDATA #REQUIRED
	size CDATA #OPTIONAL>

<!--Defines a class name -->
<!ELEMENT class-dependency EMPTY>
<!ATTLIST class-dependency name CDATA #REQUIRED>

<!--A group dependency defines a dependency between the current group (parent) 
and the group which the name is indicated by the attribue group-name. The size 
attribute is the number of classes of the current group having a dependency to 
specified group.-->
<!ELEMENT group-dependency (class)>
<!ATTLIST group-dependency 
	group-name CDATA #REQUIRED
	size CDATA #REQUIRED>

<!--it contains list of dependencies which does not belong any defined group.
this group contains typicaly java classes (java.lang*, java.util.*, ...)-->
<!ELEMENT otherclasses (class)>
<!ATTLIST otherclasses size CDATA #REQUIRED>


	