stag-diff.pl man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

STAG-DIFF(1)	      User Contributed Perl Documentation	  STAG-DIFF(1)

NAME
       stag-diff.pl - finds the difference between two stag files

SYNOPSIS
	 stag-diff.pl -ignore foo-id -ignore bar-id file1.xml file2.xml

DESCRIPTION
       Compares two data trees and reports whether they match. If they do not
       match, the mismatch is reported.

       -help|h
	   shows this document

       -ignore|i ELEMENT
	   these nodes are ignored for the purposes of comparison. Note that
	   attributes are treated as elements, prefixed by the containing
	   element id. For example, if you have

	     <foo ID="wibble">

	   And you wish to ignore the ID attribute, then you would use the
	   switch

	     -ignore foo-ID

	   You can specify multiple elements to ignore like this

	     -i foo -i bar -i baz

	   You can also specify paths

	     -i foo/bar/bar-id

       -parser|p FORMAT
	   which parser to use. The default is XML. This can also be
	   autodetected by the file suffix. Other alternatives are sxpr and
	   itext. See Data::Stag for details.

       -report|r ELEMENT
	   report mismatches as they occur on each element of type ELEMENT

	   multiple elements can be specified

       -verbose|v
	   used in conjunction with the -report switch

	   shows the tree of the mismatching element

   OUTPUT
       If a mismatch is reported, a report is generated displaying the subpart
       of the tree that could not be matched. This will look like this:

       REASON: no_matching_node: annotation
	 no_matching_node: feature_set
	   no_matching_node: feature_span
	     no_matching_node: evidence
	       no_matching_node: evidence-id
		 data_mismatch(:15077290 ne :15077291): evidence-id AND
       evidence-id

       Due to the nature of tree matching, it can be difficult to specify
       exactly how trees do not match. To investigate this, you may need to
       use the -r and -v options. For the above output, I would recommend
       using

	 stag-diff.pl -r feature_span -v

   ALGORITHM
       Both trees are recursively traversed... see the actual code for how
       this works

       The order of elements is not important; eg

	 <foo>
	   <bar>
	     <baz>1</baz>
	   </bar>
	   <bar>
	     <baz>2</baz>
	   </bar>
	 </foo>

       matches

	 <foo>
	   <bar>
	     <baz>2</baz>
	   </bar>
	   <bar>
	     <baz>1</baz>
	   </bar>
	 </foo>

       The recursive nature of this algorithm means that certain tree
       comparisons will explode wrt time and memory. I think this will only
       happen with very deep trees where nodes high up in the tree can only be
       differentiated by nodes low down in the tree.

       Both trees are loaded into memory to begin with, so it may thrash with
       very large documents

   AUTHOR
       Chris Mungall cjm at fruitfly dot org

SEE ALSO
       Data::Stag

POD ERRORS
       Hey! The above document had some coding errors, which are explained
       below:

       Around line 189:
	   =over should be: '=over' or '=over positive_number'

perl v5.14.1			  2003-12-11			  STAG-DIFF(1)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net