<?xml version="1.0" encoding="UTF-8"?>
<Metrics scope="castor-1.3.3_xml-diff" type="Project" date="2013-05-10" xmlns="http://metrics.sourceforge.net/2003/Metrics-First-Flat">
   <Cycle name="org.castor.xmlctf.xmldiff.xml et al" nodes="3" diameter="2">
      <Package>org.castor.xmlctf.xmldiff.xml</Package>
      <Package>org.castor.xmlctf.xmldiff</Package>
      <Package>org.castor.xmlctf.xmldiff.xml.nodes</Package>
   </Cycle>
   <Metric id = "VG" description ="McCabe Cyclomatic Complexity" max ="10" hint ="use Extract-method to split the method up">
      <Values per = "method" avg = "2.924" stddev = "3.471" max = "19" maxinrange="false">
         <Value name="compareNodes" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="19" inrange="false"/>
         <Value name="compareElementsStrictOrder" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="17" inrange="false"/>
         <Value name="getXPath" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="13" inrange="false"/>
         <Value name="startElement" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="12" inrange="false"/>
         <Value name="compareElementsLooseOrder" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="9"/>
         <Value name="compareAttributes" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="8"/>
         <Value name="compareText" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="7"/>
         <Value name="getNamespacePrefix" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="6"/>
         <Value name="addChild" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="6"/>
         <Value name="endElement" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="6"/>
         <Value name="compareTextLikeQName" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="6"/>
         <Value name="missingattributeIsIgnorable" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="6"/>
         <Value name="XMLFileReader" source ="XMLFileReader.java" package ="org.castor.xmlctf.xmldiff.xml" value ="5"/>
         <Value name="read" source ="XMLFileReader.java" package ="org.castor.xmlctf.xmldiff.xml" value ="5"/>
         <Value name="closestMatchDifference" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="5"/>
         <Value name="getAttribute" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="4"/>
         <Value name="getNamespaceURI" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="4"/>
         <Value name="getNodeLocation" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="4"/>
         <Value name="foundExactMatch" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="4"/>
         <Value name="Attribute" source ="Attribute.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="3"/>
         <Value name="namespacesEqual" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="3"/>
         <Value name="getStringValue" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="3"/>
         <Value name="XMLDiff" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="3"/>
         <Value name="compareStringValues" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="3"/>
         <Value name="compareTextNullEqualsEmpty" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="3"/>
         <Value name="printElementChangeBlock" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="3"/>
         <Value name="printText" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="3"/>
         <Value name="addAttribute" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
         <Value name="addNamespace" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
         <Value name="getNamespaceURI" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
         <Value name="getRootNode" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
         <Value name="getUrlFromFile" source ="XMLFileReader.java" package ="org.castor.xmlctf.xmldiff.xml" value ="2"/>
         <Value name="compareElements" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="2"/>
         <Value name="hasSameName" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="2"/>
         <Value name="printElement" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="2"/>
         <Value name="printLocationInfo" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="2"/>
         <Value name="getStringValue" source ="Attribute.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="Element" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getAttributeIterator" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getLocation" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="setLocation" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="Namespace" source ="Namespace.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getNamespaceUri" source ="Namespace.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getPrefix" source ="Namespace.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="ParentNode" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getChildIterator" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="hasChildNodes" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="ProcessingInstruction" source ="ProcessingInstruction.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getStringValue" source ="ProcessingInstruction.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="Root" source ="Root.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getRootNode" source ="Root.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="Text" source ="Text.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getStringValue" source ="Text.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="setValue" source ="Text.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="XMLNode" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getLocalName" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getNamespaceURI" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getNodeType" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getParentNode" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getStringValue" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="setNamespace" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="setParent" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="Location" source ="Location.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="getColumnNumber" source ="Location.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="getLineNumber" source ="Location.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="XMLContentHandler" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="characters" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="endDocument" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="endPrefixMapping" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="getRoot" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="ignorableWhitespace" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="processingInstruction" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="setDocumentLocator" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="skippedEntity" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="startDocument" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="startPrefixMapping" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="compare" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="1"/>
         <Value name="hasSameType" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="1"/>
         <Value name="nodeIsIgnorableText" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="1"/>
      </Values>
   </Metric>
   <Metric id = "PAR" description ="Number of Parameters" max ="5" hint ="Move invoked method or pass an object">
      <Values per = "method" avg = "1.19" stddev = "1.126" max = "4">
         <Value name="startElement" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="4"/>
         <Value name="compareTextLikeQName" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="4"/>
         <Value name="Attribute" source ="Attribute.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="3"/>
         <Value name="ParentNode" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="3"/>
         <Value name="XMLNode" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="3"/>
         <Value name="characters" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="3"/>
         <Value name="endElement" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="3"/>
         <Value name="ignorableWhitespace" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="3"/>
         <Value name="closestMatchDifference" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="3"/>
         <Value name="foundExactMatch" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="3"/>
         <Value name="printElementChangeBlock" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="3"/>
         <Value name="Element" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
         <Value name="getAttribute" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
         <Value name="namespacesEqual" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
         <Value name="Namespace" source ="Namespace.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
         <Value name="ProcessingInstruction" source ="ProcessingInstruction.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
         <Value name="processingInstruction" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="2"/>
         <Value name="startPrefixMapping" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="2"/>
         <Value name="XMLDiff" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="2"/>
         <Value name="compareAttributes" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="2"/>
         <Value name="compareElementsLooseOrder" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="2"/>
         <Value name="compareElementsStrictOrder" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="2"/>
         <Value name="compareElements" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="2"/>
         <Value name="compareNodes" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="2"/>
         <Value name="compareStringValues" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="2"/>
         <Value name="compareTextNullEqualsEmpty" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="2"/>
         <Value name="compareText" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="2"/>
         <Value name="hasSameName" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="2"/>
         <Value name="hasSameType" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="2"/>
         <Value name="printLocationInfo" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="2"/>
         <Value name="printText" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="2"/>
         <Value name="addAttribute" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="addNamespace" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getNamespacePrefix" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getNamespaceURI" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="setLocation" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="addChild" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="Text" source ="Text.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="setValue" source ="Text.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getNamespaceURI" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="setNamespace" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="setParent" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="Location" source ="Location.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="endPrefixMapping" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="setDocumentLocator" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="skippedEntity" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="XMLFileReader" source ="XMLFileReader.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="missingattributeIsIgnorable" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="1"/>
         <Value name="nodeIsIgnorableText" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="1"/>
         <Value name="printElement" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="1"/>
         <Value name="getStringValue" source ="Attribute.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="getAttributeIterator" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="getLocation" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="getNamespaceUri" source ="Namespace.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="getPrefix" source ="Namespace.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="getChildIterator" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="getStringValue" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="hasChildNodes" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="getStringValue" source ="ProcessingInstruction.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="Root" source ="Root.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="getRootNode" source ="Root.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="getStringValue" source ="Text.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="getLocalName" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="getNamespaceURI" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="getNodeLocation" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="getNodeType" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="getParentNode" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="getRootNode" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="getStringValue" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="getXPath" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="getColumnNumber" source ="Location.java" package ="org.castor.xmlctf.xmldiff.xml" value ="0"/>
         <Value name="getLineNumber" source ="Location.java" package ="org.castor.xmlctf.xmldiff.xml" value ="0"/>
         <Value name="XMLContentHandler" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="0"/>
         <Value name="endDocument" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="0"/>
         <Value name="getRoot" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="0"/>
         <Value name="startDocument" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="0"/>
         <Value name="getUrlFromFile" source ="XMLFileReader.java" package ="org.castor.xmlctf.xmldiff.xml" value ="0"/>
         <Value name="read" source ="XMLFileReader.java" package ="org.castor.xmlctf.xmldiff.xml" value ="0"/>
         <Value name="compare" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="0"/>
      </Values>
   </Metric>
   <Metric id = "NBD" description ="Nested Block Depth" max ="5" hint ="use Extract-method to split the method up">
      <Values per = "method" avg = "1.658" stddev = "0.979" max = "5">
         <Value name="compareElementsStrictOrder" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="5"/>
         <Value name="getXPath" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="4"/>
         <Value name="startElement" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="4"/>
         <Value name="compareAttributes" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="4"/>
         <Value name="compareElementsLooseOrder" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="4"/>
         <Value name="getAttribute" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="3"/>
         <Value name="getNamespacePrefix" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="3"/>
         <Value name="getNamespaceURI" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="3"/>
         <Value name="getNodeLocation" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="3"/>
         <Value name="read" source ="XMLFileReader.java" package ="org.castor.xmlctf.xmldiff.xml" value ="3"/>
         <Value name="closestMatchDifference" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="3"/>
         <Value name="compareNodes" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="3"/>
         <Value name="compareText" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="3"/>
         <Value name="foundExactMatch" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="3"/>
         <Value name="printElementChangeBlock" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="3"/>
         <Value name="Attribute" source ="Attribute.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
         <Value name="addAttribute" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
         <Value name="addNamespace" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
         <Value name="addChild" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
         <Value name="getStringValue" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
         <Value name="endElement" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="2"/>
         <Value name="XMLFileReader" source ="XMLFileReader.java" package ="org.castor.xmlctf.xmldiff.xml" value ="2"/>
         <Value name="getUrlFromFile" source ="XMLFileReader.java" package ="org.castor.xmlctf.xmldiff.xml" value ="2"/>
         <Value name="XMLDiff" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="2"/>
         <Value name="compareElements" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="2"/>
         <Value name="compareStringValues" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="2"/>
         <Value name="compareTextLikeQName" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="2"/>
         <Value name="hasSameName" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="2"/>
         <Value name="missingattributeIsIgnorable" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="2"/>
         <Value name="printElement" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="2"/>
         <Value name="printLocationInfo" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="2"/>
         <Value name="printText" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="2"/>
         <Value name="getStringValue" source ="Attribute.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="Element" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getAttributeIterator" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getLocation" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="namespacesEqual" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="setLocation" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="Namespace" source ="Namespace.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getNamespaceUri" source ="Namespace.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getPrefix" source ="Namespace.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="ParentNode" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getChildIterator" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="hasChildNodes" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="ProcessingInstruction" source ="ProcessingInstruction.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getStringValue" source ="ProcessingInstruction.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="Root" source ="Root.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getRootNode" source ="Root.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="Text" source ="Text.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getStringValue" source ="Text.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="setValue" source ="Text.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="XMLNode" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getLocalName" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getNamespaceURI" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getNamespaceURI" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getNodeType" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getParentNode" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getRootNode" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="setNamespace" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="setParent" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="Location" source ="Location.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="getColumnNumber" source ="Location.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="getLineNumber" source ="Location.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="XMLContentHandler" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="characters" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="endDocument" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="endPrefixMapping" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="getRoot" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="ignorableWhitespace" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="processingInstruction" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="setDocumentLocator" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="skippedEntity" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="startDocument" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="startPrefixMapping" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="compare" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="1"/>
         <Value name="compareTextNullEqualsEmpty" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="1"/>
         <Value name="hasSameType" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="1"/>
         <Value name="nodeIsIgnorableText" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="1"/>
         <Value name="getStringValue" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
      </Values>
   </Metric>
   <Metric id = "CA" description ="Afferent Coupling">
      <Values per = "packageFragment" avg = "2.333" stddev = "0.943" max = "3">
         <Value name="org.castor.xmlctf.xmldiff.xml" package ="org.castor.xmlctf.xmldiff.xml" value ="3"/>
         <Value name="org.castor.xmlctf.xmldiff.xml.nodes" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="3"/>
         <Value name="org.castor.xmlctf.xmldiff" package ="org.castor.xmlctf.xmldiff" value ="1"/>
      </Values>
   </Metric>
   <Metric id = "CE" description ="Efferent Coupling">
      <Values per = "packageFragment" avg = "2" stddev = "0.816" max = "3">
         <Value name="org.castor.xmlctf.xmldiff.xml" package ="org.castor.xmlctf.xmldiff.xml" value ="3"/>
         <Value name="org.castor.xmlctf.xmldiff.xml.nodes" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
         <Value name="org.castor.xmlctf.xmldiff" package ="org.castor.xmlctf.xmldiff" value ="1"/>
      </Values>
   </Metric>
   <Metric id = "RMI" description ="Instability">
      <Values per = "packageFragment" avg = "0.467" stddev = "0.047" max = "0.5">
         <Value name="org.castor.xmlctf.xmldiff" package ="org.castor.xmlctf.xmldiff" value ="0.5"/>
         <Value name="org.castor.xmlctf.xmldiff.xml" package ="org.castor.xmlctf.xmldiff.xml" value ="0.5"/>
         <Value name="org.castor.xmlctf.xmldiff.xml.nodes" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0.4"/>
      </Values>
   </Metric>
   <Metric id = "RMA" description ="Abstractness">
      <Values per = "packageFragment" avg = "0.083" stddev = "0.118" max = "0.25">
         <Value name="org.castor.xmlctf.xmldiff.xml.nodes" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0.25"/>
         <Value name="org.castor.xmlctf.xmldiff" package ="org.castor.xmlctf.xmldiff" value ="0"/>
         <Value name="org.castor.xmlctf.xmldiff.xml" package ="org.castor.xmlctf.xmldiff.xml" value ="0"/>
      </Values>
   </Metric>
   <Metric id = "RMD" description ="Normalized Distance">
      <Values per = "packageFragment" avg = "0.45" stddev = "0.071" max = "0.5">
         <Value name="org.castor.xmlctf.xmldiff" package ="org.castor.xmlctf.xmldiff" value ="0.5"/>
         <Value name="org.castor.xmlctf.xmldiff.xml" package ="org.castor.xmlctf.xmldiff.xml" value ="0.5"/>
         <Value name="org.castor.xmlctf.xmldiff.xml.nodes" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0.35"/>
      </Values>
   </Metric>
   <Metric id = "DIT" description ="Depth of Inheritance Tree">
      <Values per = "type" avg = "1.667" stddev = "0.745" max = "3">
         <Value name="Element" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="3"/>
         <Value name="Root" source ="Root.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="3"/>
         <Value name="Attribute" source ="Attribute.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
         <Value name="ParentNode" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
         <Value name="ProcessingInstruction" source ="ProcessingInstruction.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
         <Value name="Text" source ="Text.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
         <Value name="Namespace" source ="Namespace.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="XMLNode" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="Location" source ="Location.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="XMLContentHandler" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="XMLFileReader" source ="XMLFileReader.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="XMLDiff" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="1"/>
      </Values>
   </Metric>
   <Metric id = "WMC" description ="Weighted methods per Class">
      <Values per = "type" total = "231" avg = "19.25" stddev = "28.355" max = "107">
         <Value name="XMLDiff" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="107"/>
         <Value name="XMLNode" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="29"/>
         <Value name="XMLContentHandler" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="29"/>
         <Value name="Element" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="25"/>
         <Value name="ParentNode" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="12"/>
         <Value name="XMLFileReader" source ="XMLFileReader.java" package ="org.castor.xmlctf.xmldiff.xml" value ="12"/>
         <Value name="Attribute" source ="Attribute.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="4"/>
         <Value name="Namespace" source ="Namespace.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="3"/>
         <Value name="Text" source ="Text.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="3"/>
         <Value name="Location" source ="Location.java" package ="org.castor.xmlctf.xmldiff.xml" value ="3"/>
         <Value name="ProcessingInstruction" source ="ProcessingInstruction.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
         <Value name="Root" source ="Root.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
      </Values>
   </Metric>
   <Metric id = "NSC" description ="Number of Children">
      <Values per = "type" total = "6" avg = "0.5" stddev = "1.19" max = "4">
         <Value name="XMLNode" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="4"/>
         <Value name="ParentNode" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
         <Value name="Attribute" source ="Attribute.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="Element" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="Namespace" source ="Namespace.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="ProcessingInstruction" source ="ProcessingInstruction.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="Root" source ="Root.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="Text" source ="Text.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="Location" source ="Location.java" package ="org.castor.xmlctf.xmldiff.xml" value ="0"/>
         <Value name="XMLContentHandler" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="0"/>
         <Value name="XMLFileReader" source ="XMLFileReader.java" package ="org.castor.xmlctf.xmldiff.xml" value ="0"/>
         <Value name="XMLDiff" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="0"/>
      </Values>
   </Metric>
   <Metric id = "NORM" description ="Number of Overridden Methods">
      <Values per = "type" total = "1" avg = "0.083" stddev = "0.276" max = "1">
         <Value name="Root" source ="Root.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="Attribute" source ="Attribute.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="Element" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="Namespace" source ="Namespace.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="ParentNode" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="ProcessingInstruction" source ="ProcessingInstruction.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="Text" source ="Text.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="XMLNode" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="Location" source ="Location.java" package ="org.castor.xmlctf.xmldiff.xml" value ="0"/>
         <Value name="XMLContentHandler" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="0"/>
         <Value name="XMLFileReader" source ="XMLFileReader.java" package ="org.castor.xmlctf.xmldiff.xml" value ="0"/>
         <Value name="XMLDiff" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="0"/>
      </Values>
   </Metric>
   <Metric id = "LCOM" description ="Lack of Cohesion of Methods">
      <Values per = "type" avg = "0.363" stddev = "0.331" max = "0.764">
         <Value name="XMLDiff" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="0.764"/>
         <Value name="Element" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0.762"/>
         <Value name="XMLNode" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0.75"/>
         <Value name="XMLContentHandler" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="0.75"/>
         <Value name="Namespace" source ="Namespace.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0.5"/>
         <Value name="Location" source ="Location.java" package ="org.castor.xmlctf.xmldiff.xml" value ="0.5"/>
         <Value name="XMLFileReader" source ="XMLFileReader.java" package ="org.castor.xmlctf.xmldiff.xml" value ="0.333"/>
         <Value name="Attribute" source ="Attribute.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="ParentNode" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="ProcessingInstruction" source ="ProcessingInstruction.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="Root" source ="Root.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="Text" source ="Text.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
      </Values>
   </Metric>
   <Metric id = "NOF" description ="Number of Attributes">
      <Values per = "type" total = "29" avg = "2.417" stddev = "1.754" max = "6">
         <Value name="XMLDiff" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="6"/>
         <Value name="XMLContentHandler" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="5"/>
         <Value name="XMLNode" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="4"/>
         <Value name="Element" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="3"/>
         <Value name="XMLFileReader" source ="XMLFileReader.java" package ="org.castor.xmlctf.xmldiff.xml" value ="3"/>
         <Value name="Namespace" source ="Namespace.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
         <Value name="Location" source ="Location.java" package ="org.castor.xmlctf.xmldiff.xml" value ="2"/>
         <Value name="Attribute" source ="Attribute.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="ParentNode" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="ProcessingInstruction" source ="ProcessingInstruction.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="Text" source ="Text.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="Root" source ="Root.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
      </Values>
   </Metric>
   <Metric id = "NSF" description ="Number of Static Attributes">
      <Values per = "type" total = "13" avg = "1.083" stddev = "1.32" max = "5">
         <Value name="XMLNode" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="5"/>
         <Value name="Root" source ="Root.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
         <Value name="Attribute" source ="Attribute.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="Element" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="ProcessingInstruction" source ="ProcessingInstruction.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="Text" source ="Text.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="XMLFileReader" source ="XMLFileReader.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="XMLDiff" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="1"/>
         <Value name="Namespace" source ="Namespace.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="ParentNode" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="Location" source ="Location.java" package ="org.castor.xmlctf.xmldiff.xml" value ="0"/>
         <Value name="XMLContentHandler" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="0"/>
      </Values>
   </Metric>
   <Metric id = "NOM" description ="Number of Methods">
      <Values per = "type" total = "79" avg = "6.583" stddev = "5.823" max = "21">
         <Value name="XMLDiff" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="21"/>
         <Value name="XMLContentHandler" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="13"/>
         <Value name="XMLNode" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="12"/>
         <Value name="Element" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="10"/>
         <Value name="ParentNode" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="5"/>
         <Value name="Namespace" source ="Namespace.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="3"/>
         <Value name="Text" source ="Text.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="3"/>
         <Value name="Location" source ="Location.java" package ="org.castor.xmlctf.xmldiff.xml" value ="3"/>
         <Value name="XMLFileReader" source ="XMLFileReader.java" package ="org.castor.xmlctf.xmldiff.xml" value ="3"/>
         <Value name="Attribute" source ="Attribute.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
         <Value name="ProcessingInstruction" source ="ProcessingInstruction.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
         <Value name="Root" source ="Root.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
      </Values>
   </Metric>
   <Metric id = "NSM" description ="Number of Static Methods">
      <Values per = "type" total = "0" avg = "0" stddev = "0" max = "0">
         <Value name="Attribute" source ="Attribute.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="Element" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="Namespace" source ="Namespace.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="ParentNode" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="ProcessingInstruction" source ="ProcessingInstruction.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="Root" source ="Root.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="Text" source ="Text.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="XMLNode" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="Location" source ="Location.java" package ="org.castor.xmlctf.xmldiff.xml" value ="0"/>
         <Value name="XMLContentHandler" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="0"/>
         <Value name="XMLFileReader" source ="XMLFileReader.java" package ="org.castor.xmlctf.xmldiff.xml" value ="0"/>
         <Value name="XMLDiff" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="0"/>
      </Values>
   </Metric>
   <Metric id = "SIX" description ="Specialization Index">
      <Values per = "type" avg = "0.125" stddev = "0.415" max = "1.5">
         <Value name="Root" source ="Root.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1.5"/>
         <Value name="Attribute" source ="Attribute.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="Element" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="Namespace" source ="Namespace.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="ParentNode" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="ProcessingInstruction" source ="ProcessingInstruction.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="Text" source ="Text.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="XMLNode" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="Location" source ="Location.java" package ="org.castor.xmlctf.xmldiff.xml" value ="0"/>
         <Value name="XMLContentHandler" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="0"/>
         <Value name="XMLFileReader" source ="XMLFileReader.java" package ="org.castor.xmlctf.xmldiff.xml" value ="0"/>
         <Value name="XMLDiff" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="0"/>
      </Values>
   </Metric>
   <Metric id = "NOC" description ="Number of Classes">
      <Values per = "packageFragment" total = "12" avg = "4" stddev = "2.944" max = "8">
         <Value name="org.castor.xmlctf.xmldiff.xml.nodes" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="8"/>
         <Value name="org.castor.xmlctf.xmldiff.xml" package ="org.castor.xmlctf.xmldiff.xml" value ="3"/>
         <Value name="org.castor.xmlctf.xmldiff" package ="org.castor.xmlctf.xmldiff" value ="1"/>
      </Values>
   </Metric>
   <Metric id = "NOI" description ="Number of Interfaces">
      <Values per = "packageFragment" total = "0" avg = "0" stddev = "0" max = "0">
         <Value name="org.castor.xmlctf.xmldiff" package ="org.castor.xmlctf.xmldiff" value ="0"/>
         <Value name="org.castor.xmlctf.xmldiff.xml" package ="org.castor.xmlctf.xmldiff.xml" value ="0"/>
         <Value name="org.castor.xmlctf.xmldiff.xml.nodes" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
      </Values>
   </Metric>
   <Metric id = "NOP" description ="Number of Packages">
      <Value value="3"/>
   </Metric>
   <Metric id = "TLOC" description ="Total Lines of Code">
      <Value value="911"/>
   </Metric>
   <Metric id = "MLOC" description ="Method Lines of Code">
      <Values per = "method" total = "622" avg = "7.873" stddev = "12.248" max = "61">
         <Value name="compareNodes" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="61"/>
         <Value name="compareElementsStrictOrder" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="50"/>
         <Value name="getXPath" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="45"/>
         <Value name="startElement" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="45"/>
         <Value name="compareAttributes" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="35"/>
         <Value name="read" source ="XMLFileReader.java" package ="org.castor.xmlctf.xmldiff.xml" value ="30"/>
         <Value name="compareTextLikeQName" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="29"/>
         <Value name="compareElementsLooseOrder" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="23"/>
         <Value name="endElement" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="18"/>
         <Value name="XMLFileReader" source ="XMLFileReader.java" package ="org.castor.xmlctf.xmldiff.xml" value ="18"/>
         <Value name="getNodeLocation" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="17"/>
         <Value name="compareText" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="14"/>
         <Value name="foundExactMatch" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="13"/>
         <Value name="getNamespacePrefix" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="12"/>
         <Value name="missingattributeIsIgnorable" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="12"/>
         <Value name="printText" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="12"/>
         <Value name="addChild" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="11"/>
         <Value name="closestMatchDifference" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="11"/>
         <Value name="compareStringValues" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="11"/>
         <Value name="XMLDiff" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="10"/>
         <Value name="printElement" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="10"/>
         <Value name="printLocationInfo" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="10"/>
         <Value name="getStringValue" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="9"/>
         <Value name="printElementChangeBlock" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="9"/>
         <Value name="getAttribute" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="8"/>
         <Value name="getNamespaceURI" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="8"/>
         <Value name="compareElements" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="7"/>
         <Value name="Attribute" source ="Attribute.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="6"/>
         <Value name="hasSameName" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="6"/>
         <Value name="addAttribute" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="5"/>
         <Value name="getUrlFromFile" source ="XMLFileReader.java" package ="org.castor.xmlctf.xmldiff.xml" value ="5"/>
         <Value name="compare" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="5"/>
         <Value name="addNamespace" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="4"/>
         <Value name="namespacesEqual" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="3"/>
         <Value name="XMLNode" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="3"/>
         <Value name="compareTextNullEqualsEmpty" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="3"/>
         <Value name="Namespace" source ="Namespace.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
         <Value name="ProcessingInstruction" source ="ProcessingInstruction.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
         <Value name="Text" source ="Text.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="2"/>
         <Value name="Location" source ="Location.java" package ="org.castor.xmlctf.xmldiff.xml" value ="2"/>
         <Value name="XMLContentHandler" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="2"/>
         <Value name="processingInstruction" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="2"/>
         <Value name="getStringValue" source ="Attribute.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="Element" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getAttributeIterator" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getLocation" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="setLocation" source ="Element.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getNamespaceUri" source ="Namespace.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getPrefix" source ="Namespace.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="ParentNode" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getChildIterator" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="hasChildNodes" source ="ParentNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getStringValue" source ="ProcessingInstruction.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="Root" source ="Root.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getRootNode" source ="Root.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getStringValue" source ="Text.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="setValue" source ="Text.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getLocalName" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getNamespaceURI" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getNamespaceURI" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getNodeType" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getParentNode" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getRootNode" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="setNamespace" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="setParent" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="1"/>
         <Value name="getColumnNumber" source ="Location.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="getLineNumber" source ="Location.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="characters" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="endPrefixMapping" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="getRoot" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="setDocumentLocator" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="startPrefixMapping" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="1"/>
         <Value name="hasSameType" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="1"/>
         <Value name="nodeIsIgnorableText" source ="XMLDiff.java" package ="org.castor.xmlctf.xmldiff" value ="1"/>
         <Value name="getStringValue" source ="XMLNode.java" package ="org.castor.xmlctf.xmldiff.xml.nodes" value ="0"/>
         <Value name="endDocument" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="0"/>
         <Value name="ignorableWhitespace" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="0"/>
         <Value name="skippedEntity" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="0"/>
         <Value name="startDocument" source ="XMLContentHandler.java" package ="org.castor.xmlctf.xmldiff.xml" value ="0"/>
      </Values>
   </Metric>
   </Metrics>