Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re^3: XML Compare and exact differences need to be listed out

by wjw (Deacon)
on Sep 30, 2013 at 10:01 UTC ( #1056322=note: print w/ replies, xml ) Need Help??


in reply to Re^2: XML Compare and exact differences need to be listed out
in thread XML Compare and exact differences need to be listed out

Ok, that is a start. We know ActiveState and Win7.

From your original post, your requirements are:

  • Output is to be a 3rd file containing the differences between original XML and corrected XML
  • Your changes may be as small as the spelling of a single word.
What other differences would you want to capture?
  • Will a line by line compare work for you?
  • Do you expect larger changes, such as reordering of lines, replacement of lines/sections of the XML?
  • What do you expect the resultant file to look like? (line_number, orig_line, mod_line, change_txt...
  • I guess that leads to the question, what are you going to do with the output you generate? How will you use it?
I see from some of your previous postings that you do know some Perl.

You really do need to provide more info when you ask questions though.

See How do I post a question effectively?.

It will help others to help you more effectively. Best of luck ...


  • ...the majority is always wrong, and always the last to know about it...
  • ..by my will, and by will alone.. I set my mind in motion


Comment on Re^3: XML Compare and exact differences need to be listed out
Re^4: XML Compare and exact differences need to be listed out
by srikrishnan (Beadle) on Sep 30, 2013 at 10:40 UTC

    Hi

    Thanks for your further mail

    I just want line number, column number and the words

    If I get the above details, I will highlight the exact words in my PDF output through my Typesetting software

    I just want to highlight simple word deletions, insertions and modification details

    Thanks

    srikrishnan

      Thanks! That helps.

      In this case, I think that you will find the following module on CPAN might meet your needs - > Text::Diff

      From the Mod Description: diff() provides a basic set of services akin to the GNU diff utility. It is not anywhere near as feature complete as GNU diff, but it is better integrated with Perl and available on all platforms. It is often faster than shelling out to a system's diff executable for small files, and generally slower on larger files. Relies on Algorithm::Diff for, well, the algorithm. This may not produce the same exact diff as a system's local diff executable, but it will be a valid diff and comprehensible by patch. We haven't seen any differences between Algorithm::Diff's logic and GNU diff's, but we have not examined them to make sure they are indeed identical.

      I have no personal experience with this, but it looks like what you are describing that you want, and I suspect that it will get you pretty close to your requirements...


      • ...the majority is always wrong, and always the last to know about it...
      • ..by my will, and by will alone.. I set my mind in motion

        Hi

        Thanks for your Continuous help

        This module also shows the complete paragraph instead of the particular words

        I have created two sample text files, it reports the error as follows:

        --- E:/APP/3B2_PERL/test.txt Tue Oct 1 09:47:51 2013 +++ E:/APP/3B2_PERL/test1.txt Tue Oct 1 09:49:54 2013 @@ -2,6 +2,7 @@ <front> abcd </front> <body> <p>The Quick Brown Fox Jumps Over the Lazy Dog</p> -<p>The Quick Brown Fox Jumps Over the Lazy Dog</p> +<p>The Quick Browns Fox Jumps Over the Lazy Dog</p> +<p>Techset</p> </body> </xml>

        In my second text file I have changed "Brown" as "Browns", instead of showing the particular word, it shows the entire paragraph. So I think it is not upto my expectation.

        Anyway thanks for your help. I will write my own script as per my requirement.

        Thanks a lot

        Srikrishnan

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1056322]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (12)
As of 2014-10-31 20:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (223 votes), past polls