I looking for insight and help to map out psuedocode to achieve xml comparison with informative output.
Problem: Comparing two xml files that represent a documented API. Using doxygen to generate API into perl module output of hashes and arrays. Wrote script that uses XML::Simple to convert to xml, does a great job. Now I would like perl script to compare xml files and report what has changed, such as:
New Class SomeClass::BitVector has been added to API.
Public method parameter: captureSettings has been added to public method: serialize in the Class: SomeClass::Core
Class SomeClass::ConfigException has been removed from API.
All information for each class is contained within parent element <classes name="SomeClass::BitVector"> for example. Children elements are <private_members>, etc.
What approach should I take. Maybe take each classes element and all subelements and assign to an object and compare objects, is that possible. Or, suck everything for each class into an array and compare arrays. Any ideas on best approach and sample code much appreciated.