<!-- Metric File DTD --> <!-- This DTD describes the format of a file for metric decoration --> <!-- Author: Matthew Harward --> <!-- Date: 31/8/2009 --> <!-- The Document --> <!ELEMENT document (metric+, mapping*, augmentation* metricsection*)> <!ATTLIST document filename CDATA #REQUIRED> <!-- Describing a metric --> <!ELEMENT metric (range|complexrange)> <!ATTLIST metric name CDATA #REQUIRED derivedName CDATA #IMPLIED> <!-- Range of a given metric --> <!-- There are 4 different range types.--> <!-- Integer - an int max/min required --> <!-- Real - real/double max/min required --> <!-- OrderedNominal - a set of range items, no duplicate attribute values --> <!-- Complex - contains simple ranges, these should not overlap --> <!ELEMENT simplerange EMPTY> <!ATTLIST simplerange type (Real|Integer) #REQUIRED min CDATA #REQUIRED max CDATA #REQUIRED> <!ELEMENT complexrange (rangeitem+|simplerange+) > <!ATTLIST complexrange type (OrderedNominal|Complex) #REQUIRED > <!ELEMENT rangeitem EMPTY> <!ATTLIST rangeitem value CDATA #IMPLIED name CDATA #REQUIRED> <!-- Mapping --> <!ELEMENT mapping> <!ATTLIST mapping mappingName CDATA #REQUIRED augmentationName CDATA #REQUIRED metricName CDATA #REQUIRED state (UnDeclared|Declared|Active) #REQUIRED interpolationMethod (Linear|MetricExp|AugExp|MetricLog|AugLog) #IMPLIED interpolationConstant CDATA #IMPLIED> <!-- Augmentation --> <!ELEMENT augmentation (color+)> <!ATTLIST augmentation name CDATA #REQUIRED type (Margin|Underline|BGSection|BGLine) #REQUIRED importance CDATA #REQUIRED discrete (true|false) #REQUIRED annotation (on|off) #REQUIRED underline (Single|Double|Swiggle|Link) #IMPLIED shapeType CDATA #IMPLIED shapeDir (Left|Up|Right|Down) #IMPLIED marginSide (Left|Right) #IMPLIED> <!ELEMENT color> <!ATTLIST color red CDATA #REQUIRED green CDATA #REQUIRED blue CDATA #REQUIRED> <!-- Main description element --> <!ELEMENT metricsection (actualtext?,annotation?)> <!ATTLIST metricsection startline CDATA #REQUIRED startcol CDATA #REQUIRED endline CDATA #REQUIRED endcol CDATA #REQUIRED value CDATA #REQUIRED metricName CDATA #REQUIRED> <!-- Additional metric section information --> <!ELEMENT actualtext (#PCDATA)> <!ELEMENT annotation (#PCDATA)>